Closing prices at the end of each trading day, from 12 Oct 2016. Not a live quote. Adjusted for share splits, so the line has no step at a split; dividends are not added back. P/E and P/FCF are the market value over the last full fiscal year's net income or free cash flow, as public on each day, so they step once a year when the annual report comes out. A hatched band marks a stretch with none: a year of net loss, or of cash burnt.
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|
| Revenue | 15.6 | 22.0 | 23.8 | 23.6 | 31.2 | 37.5 | 41.5 | 41.8 | 42.8 |
| Growth | +41.1% | +7.9% | −0.7% | +32.4% | +20.1% | +10.7% | +0.6% | +2.6% | |
| Operating income | 1.0 | 2.0 | 5.8 | 5.1 | 2.3 | 8.0 | 11.7 | 11.7 | 7.0 |
| Net income | 41.8 | 124.5 | 16.2 | 12.7 | 28.2 | 4.6 | 5.3 | 6.4 | 3.3 |
| Growth | +198.1% | −87.0% | −21.4% | +121.9% | −83.8% | +16.1% | +20.4% | −47.8% | |
| EPS, diluted | 4.16 | 12.32 | 1.63 | 1.32 | 3.00 | 0.24 | 0.28 | 0.34 | 0.18 |
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|
| Operating margin | 6.7% | 8.9% | 24.2% | 21.8% | 7.3% | 21.3% | 28.2% | 28.0% | 16.4% |
| Net margin | 267.6% | 565.2% | 68.1% | 53.9% | 90.4% | 12.2% | 12.8% | 15.3% | 7.8% |
| Free cash flow margin | 113.9% | −202.0% | 154.0% | 4.5% | 18.3% | −14.1% | 52.4% | −53.2% | −50.1% |
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | 21.1 | −37.2 | 47.0 | 18.6 | 22.2 | 22.3 | 33.0 | 29.0 | 29.7 |
| Capital expenditure | −3.3 | −7.3 | −10.4 | −17.5 | −16.5 | −27.6 | −11.2 | −51.2 | −51.1 |
| Free cash flow | 17.8 | −44.5 | 36.6 | 1.1 | 5.7 | −5.3 | 21.8 | −22.2 | −21.5 |
| Growth | −350.4% | −97.1% | +434.3% | −192.4% | −202.1% | ||||
| Buybacks | −0.1 | −5.7 | −8.2 | −21.3 | −0.3 | 0.0 | −2.0 | 0.0 | −0.5 |
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|
| Cash | 4.5 | 22.5 | 26.6 | 73.9 | 161.5 | 177.5 | 157.6 | 148.6 | 105.4 |
| Total debt | 118.3 | 88.8 | 88.9 | 90.0 | 178.4 | 178.6 | 178.7 | 178.9 | 192.6 |
| Net cash (debt) | −113.8 | −66.2 | −62.3 | −16.1 | −16.9 | −1.1 | −21.2 | −30.2 | −87.2 |
| Shareholders’ equity | 243.5 | 364.6 | 374.9 | 367.7 | 396.4 | 407.1 | 414.5 | 423.1 | 428.5 |
| Debt to equity | 0.49 | 0.24 | 0.24 | 0.24 | 0.45 | 0.44 | 0.43 | 0.42 | 0.45 |
In millions of USD, except per-share figures and ratios. Fiscal years, as last filed with the SEC.
| Fiscal year | FY2017 31 Dec 2017 | FY2018 31 Dec 2018 | FY2019† 31 Dec 2019 | FY2020 31 Dec 2020 | FY2021 31 Dec 2021 | FY2022† 31 Dec 2022 | FY2023 31 Dec 2023 | FY2024 31 Dec 2024 | FY2025 31 Dec 2025 |
|---|---|---|---|---|---|---|---|---|---|
| Revenue and profit | |||||||||
| 15.6 | 22.0 | 23.8 | 23.6 | 31.2 | 37.5 | 41.5 | 41.8 | 42.8 | |
| Growth | +41.1% | +7.9% | −0.7% | +32.4% | +20.1% | +10.7% | +0.6% | +2.6% | |
| 1.3 | 1.8 | n/a | n/a | n/a | 7.1 | 8.0 | 9.3 | 10.7 | |
| 1.0 | 2.0 | 5.8 | 5.1 | 2.3 | 8.0 | 11.7 | 11.7 | 7.0 | |
| Growth | +88.5% | +193.4% | −10.8% | −55.7% | +251.6% | +46.3% | +0.0% | −40.0% | |
| 60.6 | 123.1 | 15.7 | n/a | n/a | n/a | n/a | n/a | n/a | |
| 7.4 | 0.5 | 3.0 | 3.2 | 10.3 | 1.0 | 1.5 | 2.0 | 0.8 | |
| 41.8 | 124.5 | 16.2 | 12.7 | 28.2 | 4.6 | 5.3 | 6.4 | 3.3 | |
| Growth | +198.1% | −87.0% | −21.4% | +121.9% | −83.8% | +16.1% | +20.4% | −47.8% | |
| Per share | |||||||||
| 4.19 | 12.40 | 1.64 | 1.33 | 3.02 | 0.24 | 0.28 | 0.34 | 0.18 | |
| 4.16 | 12.32 | 1.63 | 1.32 | 3.00 | 0.24 | 0.28 | 0.34 | 0.18 | |
| Growth | +196.2% | −86.8% | −19.0% | +127.3% | −92.0% | +16.7% | +21.4% | −47.1% | |
| 0.0 | 0.0 | 9.9 | 9.6 | 9.4 | 18.8 | 18.8 | 18.9 | 19.0 | |
| 0.0 | 0.0 | 9.9 | 9.6 | 9.4 | 18.9 | 18.9 | 19.0 | 19.0 | |
| Growth | +0.6% | +98,128.6% | −3.2% | −2.2% | +100.8% | +0.3% | +0.3% | +0.2% | |
† The diluted share count jumps at 2019 and 2022, so per-share figures either side of that column are not comparable. Usually a split, but the break lands on the restatement boundary rather than on the split date, because every column is that period’s latest filing.