Closing prices at the end of each trading day, from 7 Jun 2019. 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 | 399.6 | 498.7 | 601.0 | 580.6 | 891.4 | 1,101.4 | 1,068.7 | 1,129.9 | 1,225.7 |
| Growth | +24.8% | +20.5% | −3.4% | +53.5% | +23.6% | −3.0% | +5.7% | +8.5% | |
| Operating income | 20.5 | 41.8 | 48.1 | 61.1 | 105.3 | 73.1 | 22.1 | 51.4 | 74.3 |
| Net income | 5.3 | 30.7 | 35.7 | 56.8 | 99.8 | 58.7 | 28.1 | 49.6 | 61.7 |
| Growth | +473.9% | +16.2% | +59.2% | +75.8% | −41.2% | −52.0% | +76.1% | +24.5% | |
| EPS, diluted | 0.08 | 0.44 | −0.09 | 0.79 | 1.34 | 0.79 | 0.38 | 0.69 | 0.86 |
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 48.5% | 53.2% | 53.6% | 52.6% | 55.0% | 53.8% | 51.9% | 52.5% | 53.5% |
| Operating margin | 5.1% | 8.4% | 8.0% | 10.5% | 11.8% | 6.6% | 2.1% | 4.6% | 6.1% |
| Net margin | 1.3% | 6.2% | 5.9% | 9.8% | 11.2% | 5.3% | 2.6% | 4.4% | 5.0% |
| Free cash flow margin | 3.6% | 4.7% | 5.6% | 12.3% | 6.7% | 1.7% | 3.7% | 1.9% | 3.9% |
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | 16.5 | 26.7 | 46.1 | 73.8 | 62.3 | 23.4 | 43.3 | 26.7 | 59.4 |
| Capital expenditure | −2.3 | −3.0 | −12.5 | −2.3 | −2.2 | −5.2 | −4.2 | −5.6 | −11.4 |
| Free cash flow | 14.2 | 23.6 | 33.6 | 71.4 | 60.1 | 18.3 | 39.1 | 21.0 | 48.0 |
| Growth | +66.1% | +42.3% | +112.6% | −15.9% | −69.6% | +114.3% | −46.2% | +128.1% | |
| Buybacks | n/a | n/a | −40.8 | n/a | n/a | n/a | −30.9 | −11.8 | −2.0 |
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|
| Cash | n/a | 16.4 | 65.4 | 146.0 | 218.5 | 234.7 | 245.4 | 256.6 | 292.3 |
| Shareholders’ equity | 48.0 | 79.8 | 130.8 | 200.1 | 317.0 | 379.6 | 385.1 | 437.8 | 512.5 |
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 | |||||||||
| 399.6 | 498.7 | 601.0 | 580.6 | 891.4 | 1,101.4 | 1,068.7 | 1,129.9 | 1,225.7 | |
| Growth | +24.8% | +20.5% | −3.4% | +53.5% | +23.6% | −3.0% | +5.7% | +8.5% | |
| 205.9 | 233.4 | 279.0 | 275.4 | 401.6 | 509.1 | 514.5 | 536.6 | 569.9 | |
| 193.7 | 265.3 | 322.0 | 305.3 | 489.8 | 592.3 | 554.2 | 593.3 | 655.8 | |
| Growth | +37.0% | +21.4% | −5.2% | +60.5% | +20.9% | −6.4% | +7.1% | +10.5% | |
| 57.5 | 65.2 | 77.6 | 70.9 | 89.3 | 115.3 | 126.6 | 142.1 | 157.0 | |
| 20.5 | 41.8 | 48.1 | 61.1 | 105.3 | 73.1 | 22.1 | 51.4 | 74.3 | |
| Growth | +103.7% | +15.1% | +27.0% | +72.4% | −30.5% | −69.7% | +132.3% | +44.4% | |
| 19.1 | 41.2 | 47.2 | 60.1 | 104.7 | 76.6 | 37.8 | 64.4 | 82.3 | |
| 14.1 | 10.5 | 11.5 | 3.3 | 4.9 | 17.9 | 9.6 | 15.7 | 21.2 | |
| 5.3 | 30.7 | 35.7 | 56.8 | 99.8 | 58.7 | 28.1 | 49.6 | 61.7 | |
| Growth | +473.9% | +16.2% | +59.2% | +75.8% | −41.2% | −52.0% | +76.1% | +24.5% | |
| Per share | |||||||||
| 0.08 | 0.47 | −0.09 | 0.81 | 1.38 | 0.80 | 0.39 | 0.70 | 0.87 | |
| 0.08 | 0.44 | −0.09 | 0.79 | 1.34 | 0.79 | 0.38 | 0.69 | 0.86 | |
| Growth | +450.0% | −120.5% | +69.6% | −41.0% | −51.9% | +81.6% | +24.6% | ||
| 41.9 | 41.9 | 7.7 | 19.9 | 72.5 | 73.3 | 73.0 | 70.8 | 71.3 | |
| 44.0 | 44.6 | 7.7 | 72.1 | 74.5 | 74.5 | 73.6 | 71.7 | 72.1 | |
| Growth | +1.2% | −82.7% | +833.5% | +3.5% | −0.0% | −1.3% | −2.6% | +0.6% | |
† The diluted share count jumps at 2019 and 2020, 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.