| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2026 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 288.6 | 373.4 | 328.3 | 345.3 | 365.8 | 410.0 | +12.1% | |
| Cost of revenue | 199.2 | 275.6 | 238.2 | 260.8 | 282.7 | 343.8 | +21.6% | |
| Gross profit | 89.3 | 97.8 | 90.1 | 84.5 | 83.2 | 66.2 | −20.3% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | — | |
| Selling, general & administrative | 47.2 | 54.5 | 57.0 | 56.2 | 59.3 | — | — | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | — | |
| Operating expenses | 46.3 | 53.9 | 57.6 | 56.0 | 59.1 | 50.4 | −14.8% | |
| Operating income | 43.1 | 43.9 | 32.5 | 28.6 | 24.0 | 15.9 | −34.0% | |
| Interest expense | 1.7 | 1.5 | 2.3 | 3.7 | 3.6 | 5.3 | +46.7% | |
| Interest income | 0.4 | 0.2 | 0.2 | 0.1 | 0.1 | 0.2 | +7.8% | |
| Other income / expense | (1.4) | (1.3) | (2.1) | (3.7) | (3.5) | — | — | |
| Pre-tax income | 41.7 | 42.6 | 30.5 | 24.8 | 20.5 | (2.7) | −113.3% | |
| Income tax | 7.8 | 7.5 | 6.3 | 5.5 | 4.7 | (0.8) | −116.9% | |
| Net income | 33.9 | 35.1 | 24.2 | 19.3 | 15.8 | (1.9) | −112.3% | |
| Discontinued operations | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | — | |
| Other net income adjustments | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | — | |
| EPS, basic (per share) | 0.58 | 0.60 | 0.42 | 0.33 | 0.27 | (0.03) | −112.3% | |
| EPS, diluted (per share) | 0.58 | 0.60 | 0.41 | 0.33 | 0.27 | (0.03) | −112.3% | |
| EBITDA | 46.0 | 47.2 | 36.7 | 33.1 | 28.1 | 20.2 | −28.3% | |
| Depreciation & amortization | 2.8 | 3.1 | 4.0 | 4.6 | 2.8 | 4.3 | +56.8% | |
| Weighted average shares (shares) | 58,235,000 | 58,259,000 | 58,246,000 | 58,281,000 | 58,370,007 | 58,378,000 | +0.0% | |
| Weighted average diluted shares (shares) | 58,332,000 | 58,404,000 | 58,287,000 | 58,435,000 | 58,370,000 | 58,378,000 | +0.0% | |
| Gross margin | 31.0% | 26.2% | 27.4% | 24.5% | 22.7% | 16.2% | −6.6 pts | |
| Operating margin | 14.9% | 11.8% | 9.9% | 8.3% | 6.6% | 3.9% | −2.7 pts | |
| Net margin | 11.7% | 9.4% | 7.4% | 5.6% | 4.3% | −0.5% | −4.8 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.