| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 6.4 | 9.5 | 9.3 | 9.3 | 10.8 | 10.7 | −0.5% | |
| Cost of revenue | 1.4 | 1.3 | 1.6 | 1.6 | 1.7 | 1.6 | −1.2% | |
| Gross profit | 5.0 | 8.2 | 7.7 | 7.7 | 9.1 | 9.1 | −0.4% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 3.9 | 4.9 | 5.2 | 5.8 | 6.8 | 7.4 | +8.2% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 3.8 | 4.9 | 5.2 | 5.6 | 6.8 | 7.4 | +8.2% | |
| Operating income | 1.3 | 3.2 | 2.5 | 2.1 | 2.3 | 1.7 | −26.2% | |
| Interest expense | 0.0 | 0.1 | 0.0 | 0.0 | 0.1 | 0.1 | −13.3% | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.1 | 0.1 | 0.2 | +18.1% | |
| Other income / expense | 0.0 | (0.0) | 0.0 | 0.0 | 0.1 | 0.4 | +441.0% | |
| Pre-tax income | 1.5 | 3.2 | 2.5 | 2.1 | 2.4 | 2.1 | −10.8% | |
| Income tax | 0.3 | 0.6 | 0.5 | 0.5 | 0.6 | 0.5 | −17.1% | |
| Net income | 1.2 | 2.5 | 2.0 | 1.7 | 1.8 | 1.6 | −7.0% | |
| 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.09 | 0.20 | 0.15 | 0.13 | 0.14 | 0.13 | −7.1% | |
| EPS, diluted (per share) | 0.09 | 0.19 | 0.15 | 0.13 | 0.13 | 0.12 | −7.7% | |
| EBITDA | 2.2 | 3.7 | 3.0 | 2.7 | 3.0 | 2.3 | −24.0% | |
| Depreciation & amortization | 0.6 | 0.5 | 0.5 | 0.5 | 0.6 | 0.6 | +3.7% | |
| Weighted average shares (shares) | 12,733,000 | 12,733,000 | 12,733,000 | 12,814,000 | 12,909,000 | 12,909,000 | +0.0% | |
| Weighted average diluted shares (shares) | 12,770,000 | 12,928,000 | 12,855,000 | 12,834,000 | 13,296,000 | 13,296,000 | +0.0% | |
| Gross margin | 77.5% | 86.3% | 82.9% | 83.0% | 84.6% | 84.7% | +0.1 pts | |
| Operating margin | 21.0% | 34.0% | 26.5% | 22.6% | 21.2% | 15.7% | −5.5 pts | |
| Net margin | 18.2% | 26.7% | 21.0% | 18.0% | 16.3% | 15.2% | −1.1 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.