| GBP millions | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 10.3 | 10.9 | 11.7 | 12.8 | 13.6 | 13.1 | −3.6% | |
| Cost of revenue | 1.0 | 1.0 | 0.9 | 1.0 | 0.9 | 1.2 | +29.5% | |
| Gross profit | 9.4 | 10.0 | 10.9 | 11.9 | 12.7 | 11.9 | −6.0% | |
| Research & development | 1.2 | 1.2 | 1.0 | 1.2 | 1.0 | 1.5 | +48.7% | |
| Selling, general & administrative | 0.2 | 0.4 | 0.7 | 0.6 | 1.0 | 2.1 | +111.3% | |
| Selling & marketing | (1.2) | (1.1) | (0.9) | (1.2) | (1.0) | 0.0 | +100.0% | |
| Operating expenses | 1.4 | 1.6 | 1.7 | 1.8 | 2.1 | 2.0 | −4.0% | |
| Operating income | 8.0 | 8.1 | 9.3 | 10.0 | 10.6 | 9.9 | −6.5% | |
| Interest expense | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.1 | 0.2 | 0.2 | −4.8% | |
| Other income / expense | 0.2 | 0.0 | 0.0 | 0.1 | 0.0 | 0.2 | +931.0% | |
| Pre-tax income | 8.2 | 8.1 | 9.3 | 10.1 | 10.6 | 10.1 | −4.5% | |
| Income tax | 1.0 | 1.4 | 1.6 | 1.7 | 2.5 | 2.5 | +1.4% | |
| Net income | 7.2 | 6.7 | 7.7 | 8.4 | 8.1 | 7.6 | −6.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) | 1.39 | 1.29 | 1.47 | 1.61 | 1.55 | 1.45 | −6.5% | |
| EPS, diluted (per share) | 1.38 | 1.28 | 1.46 | 1.58 | 1.53 | 1.43 | −6.5% | |
| EBITDA | 8.1 | 8.2 | 9.4 | 10.2 | 10.7 | 10.2 | −5.3% | |
| Depreciation & amortization | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | −18.3% | |
| Weighted average shares (shares) | 5,166,503 | 5,209,308 | 5,209,308 | 5,212,220 | 5,219,656 | 5,220,811 | +0.0% | |
| Weighted average diluted shares (shares) | 5,222,108 | 5,261,512 | 5,259,831 | 5,289,501 | 5,296,937 | 5,292,888 | −0.1% | |
| Gross margin | 90.7% | 91.3% | 92.7% | 92.5% | 93.2% | 90.9% | −2.3 pts | |
| Operating margin | 77.2% | 74.0% | 79.1% | 78.4% | 77.9% | 75.5% | −2.4 pts | |
| Net margin | 69.8% | 61.6% | 65.5% | 65.3% | 59.5% | 57.8% | −1.7 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.