| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 8.4 | 13.2 | 14.1 | 15.2 | 15.0 | 15.2 | +1.4% | |
| Cost of revenue | 3.3 | 4.7 | 4.7 | 4.7 | 4.6 | 6.9 | +50.9% | |
| Gross profit | 5.1 | 8.6 | 9.4 | 10.4 | 10.4 | 8.3 | −20.5% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 5.7 | 6.2 | 6.3 | 7.0 | 6.8 | 6.9 | +1.3% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 7.5 | 8.5 | 8.6 | 9.4 | 9.4 | 7.0 | −25.5% | |
| Operating income | (2.8) | (0.0) | 0.7 | 1.1 | 1.0 | 1.3 | +24.9% | |
| Interest expense | 0.1 | 0.1 | 0.2 | 0.3 | 0.4 | 0.2 | −42.6% | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.0 | 0.1 | 0.0 | −20.0% | |
| Other income / expense | (0.1) | (0.1) | (0.2) | (0.3) | (0.1) | (0.5) | −347.1% | |
| Pre-tax income | (2.8) | (0.2) | 0.5 | 0.8 | 0.9 | 0.8 | −10.4% | |
| Income tax | (0.9) | (0.4) | 0.3 | (0.0) | 0.1 | 0.4 | +486.1% | |
| Net income | (2.0) | 0.2 | 0.2 | 0.8 | 0.9 | 0.4 | −52.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.01 | 0.01 | 0.03 | 0.03 | 0.01 | −51.0% | |
| EPS, diluted (per share) | (0.07) | 0.01 | 0.01 | 0.03 | 0.03 | 0.01 | −50.0% | |
| EBITDA | (0.5) | 2.6 | 3.5 | 3.8 | 4.2 | 3.9 | −6.0% | |
| Depreciation & amortization | 2.2 | 2.7 | 2.8 | 2.7 | 2.8 | 2.9 | +0.7% | |
| Weighted average shares (shares) | 28,953,414 | 28,949,491 | 28,808,914 | 29,493,637 | 29,329,080 | 28,614,526 | −2.4% | |
| Weighted average diluted shares (shares) | 28,953,414 | 29,330,008 | 28,875,587 | 29,744,170 | 29,925,419 | 28,682,070 | −4.2% | |
| Gross margin | 60.5% | 64.8% | 66.4% | 68.7% | 69.4% | 54.4% | −15.0 pts | |
| Operating margin | −33.1% | −0.3% | 4.7% | 7.0% | 6.9% | 8.5% | +1.6 pts | |
| Net margin | −23.4% | 1.4% | 1.1% | 5.3% | 5.7% | 2.7% | −3.0 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.