| USD millions | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | Trend | YoY |
|---|---|---|---|---|---|---|---|---|
| Revenue | 53.7 | 58.8 | 68.6 | 91.5 | 141.1 | 177.2 | +25.5% | |
| Cost of revenue | 17.8 | 12.0 | 7.8 | 17.1 | 58.2 | 83.0 | +42.6% | |
| Gross profit | 35.9 | 46.8 | 60.7 | 74.4 | 82.9 | 94.1 | +13.6% | |
| Research & development | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Selling, general & administrative | 14.9 | 18.8 | 21.7 | 24.6 | 25.7 | 26.2 | +2.2% | |
| Selling & marketing | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Operating expenses | 27.8 | 32.2 | 36.4 | 39.6 | 41.9 | 48.5 | +15.9% | |
| Operating income | 8.1 | 14.6 | 24.3 | 34.8 | 41.0 | 45.6 | +11.1% | |
| Interest expense | 12.1 | 8.7 | 4.9 | 11.5 | 52.1 | 78.1 | +49.7% | |
| Interest income | 47.0 | 50.3 | 57.8 | 82.9 | 132.3 | 169.8 | +28.4% | |
| Other income / expense | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | — | |
| Pre-tax income | 8.1 | 14.6 | 24.3 | 34.8 | 41.0 | 45.6 | +11.1% | |
| Income tax | 2.5 | 2.5 | 5.7 | 7.7 | 9.1 | 10.7 | +18.3% | |
| Net income | 5.6 | 12.1 | 18.6 | 27.1 | 32.0 | 34.9 | +9.1% | |
| 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.64 | 1.39 | 2.26 | 3.11 | 3.63 | 3.72 | +2.5% | |
| EPS, diluted (per share) | 0.64 | 1.39 | 2.23 | 3.02 | 3.54 | 3.67 | +3.7% | |
| EBITDA | 9.4 | 16.9 | 26.5 | 36.3 | 42.5 | 47.7 | +12.2% | |
| Depreciation & amortization | 1.3 | 2.2 | 2.2 | 1.5 | 1.5 | 2.1 | +41.1% | |
| Weighted average shares (shares) | 8,712,857 | 8,713,000 | 8,198,000 | 8,713,000 | 8,810,000 | 9,357,000 | +6.2% | |
| Weighted average diluted shares (shares) | 8,712,857 | 8,713,000 | 8,317,000 | 8,950,000 | 9,038,000 | 9,504,000 | +5.2% | |
| Gross margin | 66.8% | 79.6% | 88.6% | 81.3% | 58.7% | 53.1% | −5.6 pts | |
| Operating margin | 15.1% | 24.9% | 35.4% | 38.0% | 29.1% | 25.7% | −3.3 pts | |
| Net margin | 10.4% | 20.6% | 27.1% | 29.6% | 22.6% | 19.7% | −3.0 pts |
Amounts are shown in the stated units; per-share amounts and shares are unscaled. Negative amounts are in brackets.