| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 13.3 | 16.6 | 15.0 | 17.2 | 16.4 | 19.4 | +18.9% | |
| Cost of revenue | 8.1 | 9.6 | 7.3 | 8.3 | 8.4 | 10.3 | +21.9% | |
| Gross profit | 5.1 | 7.0 | 7.7 | 8.9 | 7.9 | 9.2 | +15.7% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 4.2 | 5.6 | 6.1 | 7.4 | 7.0 | 8.3 | +17.3% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 4.2 | 5.6 | 6.1 | 6.5 | 8.8 | 8.3 | −6.4% | |
| Operating income | 0.9 | 1.1 | 1.4 | 2.5 | 0.9 | 0.9 | +2.6% | |
| Interest expense | 0.1 | 0.1 | 0.1 | 0.2 | 0.5 | 0.8 | +59.6% | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | −74.5% | |
| Other income / expense | 0.0 | (0.0) | (0.1) | (0.1) | (2.3) | (0.4) | +80.9% | |
| Pre-tax income | 1.0 | 1.1 | 1.2 | 2.3 | (1.4) | 0.5 | +133.5% | |
| Income tax | 0.1 | (0.3) | 0.5 | 0.8 | (0.1) | 0.2 | +360.5% | |
| Net income | (2.8) | 1.2 | 0.8 | 1.5 | (1.3) | 0.2 | +117.6% | |
| Discontinued operations | (3.7) | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Other net income adjustments | 0.0 | (0.3) | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| EPS, basic (per share) | (0.02) | 0.01 | 0.00 | 0.01 | (0.01) | 0.00 | +117.1% | |
| EPS, diluted (per share) | (0.02) | 0.01 | 0.00 | 0.01 | (0.01) | 0.00 | +117.1% | |
| EBITDA | 1.7 | 1.9 | 1.6 | 2.8 | (0.5) | 1.3 | +352.0% | |
| Depreciation & amortization | 0.7 | 0.7 | 0.2 | 0.3 | 0.4 | 0.4 | +3.3% | |
| Weighted average shares (shares) | 144,345,501 | 150,211,060 | 159,108,712 | 160,260,960 | 171,447,011 | 171,524,316 | +0.0% | |
| Weighted average diluted shares (shares) | 144,345,501 | 155,166,721 | 159,565,165 | 161,665,581 | 171,447,011 | 171,524,316 | +0.0% | |
| Gross margin | 38.7% | 42.4% | 51.4% | 51.8% | 48.4% | 47.1% | −1.3 pts | |
| Operating margin | 6.9% | 6.8% | 9.0% | 14.3% | 5.4% | 4.7% | −0.7 pts | |
| Net margin | −21.1% | 7.4% | 5.2% | 8.9% | −8.0% | 1.2% | +9.2 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.