| GBP millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 65.7 | 66.0 | 73.6 | 79.5 | 72.1 | 71.8 | −0.4% | |
| Cost of revenue | 22.5 | 25.1 | 33.0 | 31.0 | 30.0 | 33.3 | +11.3% | |
| Gross profit | 43.2 | 40.9 | 40.6 | 48.4 | 42.2 | 38.5 | −8.7% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 5.9 | 6.2 | 6.6 | 7.0 | 6.8 | 0.0 | −100.0% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 5.9 | 6.2 | 6.6 | 6.9 | 5.9 | 6.7 | +13.5% | |
| Operating income | 37.4 | 34.7 | 34.0 | 41.4 | 36.3 | 31.8 | −12.3% | |
| Interest expense | 0.7 | 0.3 | 1.2 | 3.7 | 5.0 | 4.0 | −20.2% | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Other income / expense | (0.7) | (0.3) | (1.2) | (3.6) | (5.0) | (4.7) | +6.3% | |
| Pre-tax income | 38.1 | 34.9 | 32.8 | 37.9 | 31.3 | 27.1 | −13.3% | |
| Income tax | 7.2 | 8.0 | 6.3 | 9.5 | 7.8 | 6.8 | −13.1% | |
| Net income | 30.9 | 26.9 | 26.5 | 28.4 | 23.5 | 20.4 | −13.3% | |
| 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) | 7.92 | 6.89 | 6.79 | 7.29 | 6.03 | 5.22 | −13.4% | |
| EPS, diluted (per share) | 7.92 | 6.89 | 6.79 | 7.29 | 6.03 | 5.22 | −13.4% | |
| EBITDA | 37.4 | 34.7 | 34.1 | 41.5 | 36.3 | 31.2 | −14.2% | |
| Depreciation & amortization | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | +0.0% | |
| Weighted average shares (shares) | 3,899,014 | 3,899,014 | 3,899,014 | 3,899,014 | 3,898,534 | 3,899,000 | +0.0% | |
| Weighted average diluted shares (shares) | 3,899,014 | 3,899,014 | 3,899,014 | 3,899,014 | 3,898,534 | 3,899,000 | +0.0% | |
| Gross margin | 65.8% | 61.9% | 55.2% | 61.0% | 58.5% | 53.6% | −4.9 pts | |
| Operating margin | 56.8% | 52.5% | 46.2% | 52.1% | 50.3% | 44.3% | −6.0 pts | |
| Net margin | 47.0% | 40.7% | 36.0% | 35.8% | 32.6% | 28.3% | −4.2 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.