| GBP millions | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | FY2026 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 67.6 | 72.5 | 74.1 | 81.7 | 91.3 | 103.9 | +13.8% | |
| Cost of revenue | 47.1 | 48.8 | 51.8 | 53.2 | 58.3 | 69.5 | +19.3% | |
| Gross profit | 20.5 | 23.7 | 22.3 | 28.5 | 33.1 | 34.4 | +4.0% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 21.6 | 23.1 | 25.0 | 27.2 | 31.1 | 35.9 | +15.5% | |
| Selling & marketing | 3.4 | 3.4 | 3.3 | 3.5 | 3.8 | 4.6 | +23.0% | |
| Operating expenses | 21.6 | 23.1 | 25.0 | 27.2 | 31.1 | 31.2 | +0.5% | |
| Operating income | 1.5 | 3.5 | 0.8 | 1.3 | 2.0 | 3.2 | +58.1% | |
| Interest expense | 0.4 | 0.4 | 0.5 | 0.5 | 0.7 | 0.7 | +3.8% | |
| Interest income | 0.0 | 0.0 | 0.1 | 0.5 | 0.6 | 0.4 | −33.0% | |
| Other income / expense | 1.2 | 0.5 | (0.1) | 0.2 | (0.0) | (0.3) | −633.3% | |
| Pre-tax income | 2.7 | 4.0 | 0.7 | 1.5 | 2.0 | 2.9 | +46.7% | |
| Income tax | 0.2 | 0.9 | 0.1 | 0.3 | 0.5 | 0.8 | +52.5% | |
| Net income | 2.4 | 3.1 | 0.5 | 1.2 | 1.4 | 2.1 | +44.5% | |
| 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.03 | 0.04 | 0.01 | 0.02 | 0.02 | 0.03 | +51.9% | |
| EPS, diluted (per share) | 0.03 | 0.04 | 0.01 | 0.02 | 0.02 | 0.03 | +48.7% | |
| EBITDA | 4.2 | 6.4 | 4.3 | 5.9 | 6.9 | 7.9 | +14.4% | |
| Depreciation & amortization | 2.7 | 2.9 | 3.5 | 3.8 | 4.2 | 4.7 | +11.1% | |
| Weighted average shares (shares) | 72,226,957 | 77,267,304 | 77,267,304 | 77,267,304 | 77,608,695 | 73,476,612 | −5.3% | |
| Weighted average diluted shares (shares) | 73,276,824 | 78,268,216 | 78,167,840 | 77,782,820 | 76,194,696 | 74,119,710 | −2.7% | |
| Gross margin | 30.3% | 32.7% | 30.1% | 34.9% | 36.2% | 33.1% | −3.1 pts | |
| Operating margin | 2.2% | 4.8% | 1.1% | 1.6% | 2.2% | 3.0% | +0.9 pts | |
| Net margin | 3.6% | 4.2% | 0.7% | 1.5% | 1.6% | 2.0% | +0.4 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.