| USD millions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 14.7 | 16.6 | 19.6 | 20.3 | 49.2 | 64.3 | +30.7% | |
| Cost of revenue | 4.6 | 6.1 | 7.4 | 6.7 | 25.7 | 27.2 | +5.9% | |
| Gross profit | 10.1 | 10.5 | 12.3 | 13.6 | 23.5 | 37.1 | +57.8% | |
| Research & development | 1.6 | 1.4 | 1.5 | 1.5 | 2.2 | 2.7 | +24.8% | |
| Selling, general & administrative | 3.1 | 3.2 | 3.8 | 5.0 | 9.8 | 10.1 | +2.3% | |
| Selling & marketing | 0.5 | 0.5 | 0.8 | 0.8 | 1.5 | 1.1 | −25.3% | |
| Operating expenses | 4.7 | 4.6 | 5.3 | 6.5 | 12.0 | 12.8 | +6.3% | |
| Operating income | 5.3 | 5.9 | 7.0 | 7.2 | 11.5 | 24.3 | +111.7% | |
| Interest expense | 0.0 | 0.0 | 0.0 | 0.0 | 0.2 | 0.2 | −15.9% | |
| Interest income | 0.1 | 0.0 | 0.0 | 0.4 | 0.2 | 0.2 | +19.0% | |
| Other income / expense | 0.1 | 0.0 | 0.0 | 0.3 | (0.2) | 2.5 | +1539.8% | |
| Pre-tax income | 5.4 | 5.9 | 7.0 | 7.5 | 11.3 | 26.8 | +137.2% | |
| Income tax | 0.3 | 0.9 | 0.9 | 1.4 | 2.8 | 6.8 | +141.5% | |
| Net income | 5.1 | 5.2 | 6.1 | 6.0 | 8.5 | 20.1 | +135.4% | |
| 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.11 | 0.11 | 0.14 | 0.13 | 0.18 | 0.42 | +133.3% | |
| EPS, diluted (per share) | 0.11 | 0.11 | 0.13 | 0.12 | 0.17 | 0.41 | +141.2% | |
| EBITDA | 6.3 | 6.7 | 7.9 | 8.2 | 14.7 | 29.9 | +103.3% | |
| Depreciation & amortization | 1.0 | 0.8 | 0.9 | 1.1 | 3.2 | 2.9 | −9.1% | |
| Weighted average shares (shares) | 48,366,119 | 45,353,550 | 45,189,208 | 45,074,264 | 48,023,360 | 48,270,900 | +0.5% | |
| Weighted average diluted shares (shares) | 48,366,119 | 47,739,030 | 47,321,818 | 48,761,954 | 48,958,589 | 49,026,587 | +0.1% | |
| Gross margin | 68.6% | 63.4% | 62.5% | 67.2% | 47.8% | 57.7% | +9.9 pts | |
| Operating margin | 36.3% | 35.6% | 35.6% | 35.2% | 23.3% | 37.8% | +14.5 pts | |
| Net margin | 34.9% | 31.1% | 31.3% | 29.8% | 17.3% | 31.2% | +13.9 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.
Statements are reported in USD; the shares trade in GBP.