| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 13.6 | 15.6 | 21.1 | 46.1 | 49.6 | 55.0 | +11.0% | |
| Cost of revenue | 8.3 | 9.6 | 13.4 | 31.8 | 31.9 | 34.2 | +7.4% | |
| Gross profit | 5.3 | 6.0 | 7.8 | 14.3 | 17.7 | 20.8 | +17.6% | |
| Research & development | 0.2 | 0.3 | 0.8 | 0.6 | 0.6 | 0.0 | −100.0% | |
| Selling, general & administrative | 5.1 | 5.6 | 6.7 | 10.1 | 12.9 | 16.0 | +24.5% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 5.0 | 5.4 | 6.7 | 10.3 | 12.9 | 15.1 | +17.2% | |
| Operating income | 0.3 | 0.6 | 1.1 | 4.0 | 4.8 | 5.7 | +18.6% | |
| Interest expense | 0.2 | 0.2 | 0.2 | 0.3 | 0.1 | 0.1 | −7.6% | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.1 | 0.3 | 0.3 | +1.3% | |
| Other income / expense | (0.2) | (0.2) | (0.2) | (0.2) | 0.2 | (0.1) | −128.2% | |
| Pre-tax income | 0.2 | 0.4 | 0.9 | 3.7 | 5.0 | 5.6 | +13.0% | |
| Income tax | (0.0) | 0.0 | 0.0 | 0.8 | 0.4 | 1.4 | +233.7% | |
| Net income | 0.2 | 0.4 | 0.9 | 3.0 | 4.5 | 4.2 | −8.1% | |
| Discontinued operations | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Other net income adjustments | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| EPS, basic (per share) | 0.02 | 0.05 | 0.10 | 0.19 | 0.27 | 0.24 | −11.1% | |
| EPS, diluted (per share) | 0.02 | 0.04 | 0.10 | 0.18 | 0.26 | 0.24 | −7.7% | |
| EBITDA | 1.0 | 1.2 | 1.8 | 5.1 | 6.5 | 7.3 | +12.1% | |
| Depreciation & amortization | 0.6 | 0.7 | 0.7 | 1.1 | 1.4 | 1.6 | +15.4% | |
| Weighted average shares (shares) | 8,610,000 | 8,741,000 | 8,741,000 | 15,945,000 | 16,475,000 | 17,092,000 | +3.7% | |
| Weighted average diluted shares (shares) | 8,639,000 | 9,111,000 | 9,211,000 | 16,550,000 | 17,191,000 | 17,431,000 | +1.4% | |
| Gross margin | 39.0% | 38.6% | 36.8% | 31.0% | 35.7% | 37.8% | +2.1 pts | |
| Operating margin | 2.6% | 3.8% | 5.3% | 8.6% | 9.6% | 10.3% | +0.7 pts | |
| Net margin | 1.4% | 2.6% | 4.3% | 6.5% | 9.1% | 7.5% | −1.6 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.