| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 61.5 | 65.4 | 80.3 | 100.8 | 111.3 | 114.7 | +3.1% | |
| Cost of revenue | 25.6 | 28.3 | 34.1 | 40.8 | 45.0 | 43.6 | −3.1% | |
| Gross profit | 35.9 | 37.1 | 46.2 | 59.9 | 66.3 | 71.1 | +7.3% | |
| Research & development | 0.8 | 1.4 | 1.7 | 0.0 | 0.0 | 0.2 | — | |
| Selling, general & administrative | 29.2 | 26.3 | 33.5 | 52.6 | 53.5 | 47.8 | −10.7% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 30.5 | 32.1 | 40.7 | 47.4 | 53.5 | 55.6 | +3.9% | |
| Operating income | 5.4 | 4.2 | 5.2 | 12.6 | 12.7 | 15.5 | +21.6% | |
| Interest expense | 0.6 | 0.1 | 0.2 | 1.1 | 0.4 | 0.4 | −10.5% | |
| Interest income | 0.2 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | −100.0% | |
| Other income / expense | (0.4) | (0.4) | (0.4) | (1.1) | (0.7) | (0.9) | −25.2% | |
| Pre-tax income | 5.0 | 3.8 | 4.9 | 11.5 | 12.0 | 14.6 | +21.4% | |
| Income tax | 0.5 | 0.8 | 0.9 | 0.5 | 2.3 | 2.6 | +12.1% | |
| Net income | 4.0 | 3.0 | 4.7 | 11.0 | 9.7 | 12.0 | +23.6% | |
| 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.18 | 0.13 | 0.21 | 0.48 | 0.42 | 0.52 | +23.8% | |
| EPS, diluted (per share) | 0.18 | 0.13 | 0.21 | 0.47 | 0.42 | 0.52 | +23.8% | |
| EBITDA | 10.6 | 11.0 | 15.3 | 23.3 | 22.8 | 25.7 | +12.9% | |
| Depreciation & amortization | 5.6 | 7.1 | 9.1 | 11.1 | 10.3 | 10.7 | +4.1% | |
| Weighted average shares (shares) | 22,482,000 | 22,602,000 | 22,625,000 | 22,886,000 | 22,944,000 | 23,000,000 | +0.2% | |
| Weighted average diluted shares (shares) | 22,622,000 | 22,782,000 | 22,908,000 | 23,193,000 | 23,249,000 | 23,300,000 | +0.2% | |
| Gross margin | 58.4% | 56.8% | 57.6% | 59.5% | 59.6% | 62.0% | +2.4 pts | |
| Operating margin | 8.8% | 6.4% | 6.5% | 12.5% | 11.5% | 13.5% | +2.1 pts | |
| Net margin | 6.5% | 4.6% | 5.9% | 10.9% | 8.7% | 10.5% | +1.7 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.