| GBP billions | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 3.0 | 3.2 | 3.6 | 4.1 | 4.5 | 5.0 | +10.4% | |
| Cost of revenue | 2.7 | 2.8 | 3.2 | 3.7 | 4.0 | 4.4 | +9.9% | |
| Gross profit | 0.3 | 0.4 | 0.4 | 0.4 | 0.5 | 0.6 | +15.5% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 0.3 | 0.3 | 0.3 | 0.3 | 0.4 | 0.4 | +8.7% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 0.3 | 0.3 | 0.3 | 0.3 | 0.4 | 0.4 | +7.0% | |
| Operating income | 0.1 | 0.1 | 0.1 | 0.1 | 0.2 | 0.2 | +35.4% | |
| Interest expense | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | +4.8% | |
| Interest income | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | −14.3% | |
| Other income / expense | (0.0) | (0.0) | (0.0) | 0.0 | 0.0 | 0.0 | +25.3% | |
| Pre-tax income | 0.1 | 0.1 | 0.1 | 0.1 | 0.2 | 0.2 | +34.8% | |
| Income tax | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.1 | +41.5% | |
| Net income | 0.0 | 0.1 | 0.1 | 0.1 | 0.1 | 0.2 | +32.8% | |
| 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.00 | 2.12 | 1.33 | 2.54 | 2.81 | 3.72 | +32.4% | |
| EPS, diluted (per share) | 0.98 | 2.04 | 1.30 | 2.50 | 2.72 | 3.55 | +30.5% | |
| EBITDA | 0.1 | 0.1 | 0.1 | 0.2 | 0.2 | 0.3 | +22.1% | |
| Depreciation & amortization | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | +7.7% | |
| Weighted average shares (shares) | 45,500,000 | 46,100,000 | 45,900,000 | 46,300,000 | 46,800,000 | 47,000,000 | +0.4% | |
| Weighted average diluted shares (shares) | 46,300,000 | 47,900,000 | 46,700,000 | 47,000,000 | 48,500,000 | 49,300,000 | +1.6% | |
| Gross margin | 10.4% | 11.9% | 10.3% | 10.8% | 11.7% | 12.2% | +0.5 pts | |
| Operating margin | 2.2% | 4.0% | 2.4% | 3.4% | 3.6% | 4.4% | +0.8 pts | |
| Net margin | 1.5% | 3.0% | 1.7% | 2.9% | 2.9% | 3.5% | +0.6 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.