| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 37.1 | 40.9 | 26.7 | 22.2 | 24.6 | 26.2 | +6.2% | |
| Cost of revenue | 24.9 | 28.9 | 18.9 | 16.5 | 17.3 | 18.4 | +6.4% | |
| Gross profit | 12.2 | 12.1 | 7.8 | 5.7 | 7.4 | 7.8 | +5.8% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 7.8 | 6.9 | 6.3 | 6.5 | 6.0 | 6.8 | +14.4% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 8.1 | 7.1 | 6.7 | 6.5 | 7.0 | 6.8 | −2.0% | |
| Operating income | 4.1 | 4.9 | 1.3 | (0.8) | 0.4 | 1.0 | +139.0% | |
| Interest expense | 0.1 | 0.2 | 0.2 | 0.3 | 0.4 | 0.3 | −26.2% | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.1 | 0.1 | 0.0 | −100.0% | |
| Other income / expense | (0.1) | (0.2) | (0.4) | (0.4) | (0.4) | (0.4) | −6.7% | |
| Pre-tax income | 4.0 | 4.7 | 0.9 | (1.2) | 0.0 | 0.6 | +1793.3% | |
| Income tax | 0.5 | 0.9 | 0.2 | 0.0 | 0.1 | (0.3) | −413.3% | |
| Net income | 3.5 | 3.8 | 0.7 | (1.2) | (0.1) | 0.9 | +1516.7% | |
| 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.69 | 0.74 | 0.13 | (0.23) | (0.01) | 0.15 | +1463.6% | |
| EPS, diluted (per share) | 0.65 | 0.70 | 0.12 | (0.23) | (0.01) | 0.15 | +1463.6% | |
| EBITDA | 4.4 | 5.2 | 1.2 | (0.6) | 0.7 | 1.3 | +80.9% | |
| Depreciation & amortization | 0.3 | 0.3 | 0.2 | 0.3 | 0.3 | 0.3 | +6.3% | |
| Weighted average shares (shares) | 5,344,538 | 5,187,776 | 5,375,128 | 5,470,829 | 5,471,959 | 5,488,754 | +0.3% | |
| Weighted average diluted shares (shares) | 5,344,538 | 5,455,764 | 5,475,861 | 5,470,829 | 5,471,959 | 5,521,819 | +0.9% | |
| Gross margin | 32.9% | 29.5% | 29.2% | 25.6% | 29.9% | 29.8% | −0.1 pts | |
| Operating margin | 11.1% | 12.1% | 4.9% | −3.5% | 1.6% | 3.7% | +2.1 pts | |
| Net margin | 9.3% | 9.4% | 2.5% | −5.6% | −0.2% | 3.3% | +3.5 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.