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.
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | 163.9 | 222.0 | 251.1 | 224.9 | 269.4 | 416.1 | 570.7 | 517.9 | 672.4 | 880.6 |
| Growth | +35.4% | +13.1% | −10.4% | +19.8% | +54.5% | +37.2% | −9.3% | +29.8% | +31.0% | |
| Operating income | 10.2 | 57.8 | 60.4 | 36.4 | 55.6 | 112.4 | 149.9 | 132.3 | 187.5 | 253.5 |
| Net income | 9.6 | 46.5 | 54.4 | 35.2 | 47.9 | 93.1 | 140.2 | 136.3 | 183.8 | 259.2 |
| Growth | +381.7% | +17.0% | −35.3% | +36.2% | +94.3% | +50.6% | −2.8% | +34.8% | +41.1% | |
| EPS, diluted | 0.35 | 1.63 | 1.89 | 1.23 | 1.65 | 3.12 | 4.43 | 4.28 | 5.75 | 7.96 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 45.9% | 59.1% | 57.8% | 54.2% | 56.1% | 56.6% | 55.5% | 56.6% | 57.6% | 57.4% |
| Operating margin | 6.2% | 26.0% | 24.1% | 16.2% | 20.6% | 27.0% | 26.3% | 25.5% | 27.9% | 28.8% |
| Net margin | 5.9% | 20.9% | 21.7% | 15.6% | 17.8% | 22.4% | 24.6% | 26.3% | 27.3% | 29.4% |
| Free cash flow margin | −4.4% | 25.0% | 13.3% | 8.6% | 20.0% | 30.6% | 17.2% | 20.5% | 32.4% | 24.7% |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | −4.2 | 61.8 | 37.1 | 40.7 | 60.3 | 132.3 | 119.5 | 123.5 | 235.3 | 245.6 |
| Capital expenditure | −3.1 | −6.3 | −3.7 | −21.3 | −6.4 | −4.8 | −21.3 | −17.2 | −17.2 | −27.7 |
| Free cash flow | −7.3 | 55.5 | 33.4 | 19.4 | 53.8 | 127.4 | 98.2 | 106.3 | 218.1 | 217.9 |
| Growth | −39.8% | −41.9% | +177.0% | +136.8% | −22.9% | +8.3% | +105.0% | −0.1% | ||
| Buybacks | −0.9 | n/a | −4.8 | −7.2 | −12.5 | 0.0 | −21.4 | −0.1 | −30.0 | −35.0 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash | 20.4 | 27.7 | 22.9 | 31.7 | 232.3 | 126.7 | 111.1 | 107.6 | 157.8 | 214.5 |
| Shareholders’ equity | 174.7 | 226.7 | 280.7 | 314.5 | 371.5 | 473.8 | 587.0 | 750.8 | 927.8 | 1,318.2 |
In millions of USD, except per-share figures and ratios. Fiscal years, as last filed with the SEC.
| Fiscal year | FY2016 31 Dec 2016 | 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 | ||||||||||
| 163.9 | 222.0 | 251.1 | 224.9 | 269.4 | 416.1 | 570.7 | 517.9 | 672.4 | 880.6 | |
| Growth | +35.4% | +13.1% | −10.4% | +19.8% | +54.5% | +37.2% | −9.3% | +29.8% | +31.0% | |
| 88.6 | 90.8 | 105.9 | 103.1 | 118.2 | 180.7 | 253.8 | 224.7 | 285.3 | 375.4 | |
| 75.3 | 131.2 | 145.2 | 121.8 | 151.2 | 235.4 | 317.0 | 293.2 | 387.1 | 505.2 | |
| Growth | +74.3% | +10.7% | −16.1% | +24.1% | +55.8% | +34.6% | −7.5% | +32.0% | +30.5% | |
| 35.0 | 39.0 | 45.5 | 44.5 | 53.0 | 65.9 | 90.5 | 88.0 | 110.3 | 143.4 | |
| 6.8 | 8.1 | 8.7 | 10.1 | 12.5 | 17.3 | 23.9 | 20.4 | 24.2 | 26.1 | |
| 10.2 | 57.8 | 60.4 | 36.4 | 55.6 | 112.4 | 149.9 | 132.3 | 187.5 | 253.5 | |
| Growth | +468.7% | +4.5% | −39.8% | +52.6% | +102.2% | +33.4% | −11.8% | +41.8% | +35.2% | |
| 11.4 | 60.1 | 63.4 | 39.5 | 56.5 | 109.3 | 158.4 | 154.7 | 216.3 | 303.3 | |
| 1.7 | 13.6 | 9.1 | 4.3 | 8.6 | 16.2 | 18.2 | 18.4 | 32.5 | 44.1 | |
| 9.6 | 46.5 | 54.4 | 35.2 | 47.9 | 93.1 | 140.2 | 136.3 | 183.8 | 259.2 | |
| Growth | +381.7% | +17.0% | −35.3% | +36.2% | +94.3% | +50.6% | −2.8% | +34.8% | +41.1% | |
| Per share | ||||||||||
| 0.35 | 1.68 | 1.94 | 1.26 | 1.71 | 3.28 | 4.89 | 4.73 | 6.31 | 8.61 | |
| 0.35 | 1.63 | 1.89 | 1.23 | 1.65 | 3.12 | 4.43 | 4.28 | 5.75 | 7.96 | |
| Growth | +365.7% | +16.0% | −34.9% | +34.1% | +89.1% | +42.0% | −3.4% | +34.3% | +38.4% | |
| 27.2 | 27.7 | 28.0 | 27.9 | 28.1 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | |
| 27.5 | 28.5 | 28.8 | 28.6 | 28.9 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | |
| Growth | +3.7% | +0.8% | −0.7% | +1.3% | −99.9% | +6.9% | +0.7% | +0.2% | +2.1% | |
† The diluted share count jumps at 2021, 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.