| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 101.5 | 155.4 | 278.6 | 460.0 | 645.5 | 700.4 | +8.5% | |
| Cost of revenue | 93.9 | 140.2 | 234.5 | 377.0 | 551.6 | 600.3 | +8.8% | |
| Gross profit | 7.7 | 15.2 | 44.1 | 83.0 | 93.9 | 100.1 | +6.6% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 7.1 | 13.8 | 36.9 | 41.8 | 51.6 | 0.0 | −100.0% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 9.2 | 11.8 | 38.2 | 45.0 | 53.0 | 36.1 | −31.8% | |
| Operating income | (1.6) | 3.5 | 5.9 | 38.1 | 40.9 | 64.0 | +56.4% | |
| Interest expense | 0.0 | 0.1 | 0.1 | 0.1 | 0.6 | 0.6 | −6.4% | |
| Interest income | 0.1 | 0.0 | 0.0 | 1.7 | 4.2 | 4.3 | +2.5% | |
| Other income / expense | 0.0 | (0.1) | (0.1) | 1.6 | 3.6 | (15.3) | −530.6% | |
| Pre-tax income | (1.5) | 3.4 | 5.8 | 39.7 | 44.5 | 48.7 | +9.5% | |
| Income tax | (0.4) | (1.1) | 1.1 | 8.8 | 11.0 | 12.8 | +16.6% | |
| Net income | (1.2) | 4.5 | 4.8 | 30.9 | 33.5 | 35.9 | +7.2% | |
| 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.07) | 0.27 | 0.29 | 1.85 | 1.87 | 1.96 | +4.8% | |
| EPS, diluted (per share) | (0.07) | 0.26 | 0.26 | 1.69 | 1.87 | 1.96 | +4.8% | |
| EBITDA | (0.9) | 4.7 | 6.5 | 38.5 | 47.7 | 52.2 | +9.5% | |
| Depreciation & amortization | 0.6 | 0.6 | 0.5 | 0.4 | 2.5 | 2.9 | +13.9% | |
| Weighted average shares (shares) | 17,210,885 | 17,119,230 | 18,219,665 | 16,686,225 | 17,911,019 | 18,360,000 | +2.5% | |
| Weighted average diluted shares (shares) | 17,210,885 | 17,398,799 | 18,219,665 | 18,219,549 | 17,910,222 | 18,360,000 | +2.5% | |
| Gross margin | 7.6% | 9.8% | 15.8% | 18.1% | 14.5% | 14.3% | −0.3 pts | |
| Operating margin | −1.6% | 2.2% | 2.1% | 8.3% | 6.3% | 9.1% | +2.8 pts | |
| Net margin | −1.1% | 2.9% | 1.7% | 6.7% | 5.2% | 5.1% | −0.1 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.