| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 675.6 | 878.6 | 1,053.9 | 950.6 | 903.1 | 920.3 | +1.9% | |
| Cost of revenue | 637.7 | 823.3 | 999.8 | 903.4 | 852.8 | 887.5 | +4.1% | |
| Gross profit | 37.9 | 55.3 | 54.1 | 47.2 | 50.3 | 32.8 | −34.8% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 25.8 | 42.1 | 33.5 | 32.9 | 37.7 | 17.4 | −53.8% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 25.8 | 42.1 | 33.5 | 32.9 | 37.7 | 17.4 | −53.8% | |
| Operating income | 12.1 | 13.2 | 20.6 | 14.3 | 12.6 | 15.4 | +22.2% | |
| Interest expense | 1.3 | 1.2 | 1.7 | 2.1 | 3.4 | 4.4 | +29.4% | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.0 | 0.1 | 0.1 | +0.0% | |
| Other income / expense | (1.3) | (1.2) | (1.7) | (2.1) | (3.3) | (3.0) | +9.1% | |
| Pre-tax income | 10.8 | 12.0 | 18.9 | 12.2 | 9.3 | 12.4 | +33.3% | |
| Income tax | 3.0 | 3.6 | 4.0 | 3.1 | 3.1 | 3.2 | +3.2% | |
| Net income | 7.8 | 8.4 | 14.9 | 9.1 | 6.2 | 9.2 | +48.4% | |
| 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.16 | 0.17 | 0.30 | 0.18 | 0.13 | 0.19 | +46.2% | |
| EPS, diluted (per share) | 0.16 | 0.17 | 0.30 | 0.18 | 0.12 | 0.18 | +50.0% | |
| EBITDA | 25.0 | 26.9 | 35.9 | 31.4 | 31.9 | 37.4 | +17.2% | |
| Depreciation & amortization | 12.9 | 14.0 | 15.3 | 17.1 | 19.2 | 22.0 | +14.6% | |
| Weighted average shares (shares) | 48,940,000 | 49,109,000 | 49,355,000 | 49,426,000 | 49,448,000 | 49,592,000 | +0.3% | |
| Weighted average diluted shares (shares) | 49,134,000 | 49,408,000 | 49,551,000 | 49,439,000 | 49,913,000 | 50,261,000 | +0.7% | |
| Gross margin | 5.6% | 6.3% | 5.1% | 5.0% | 5.6% | 3.6% | −2.0 pts | |
| Operating margin | 1.8% | 1.5% | 2.0% | 1.5% | 1.4% | 1.7% | +0.3 pts | |
| Net margin | 1.2% | 1.0% | 1.4% | 1.0% | 0.7% | 1.0% | +0.3 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.