Closing prices at the end of each trading day, from 3 May 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.
| FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|
| Net income | 23.1 | 24.8 | 28.1 | 33.0 | 36.9 | 34.9 | 34.2 | 42.8 |
| Growth | +7.7% | +13.4% | +17.1% | +12.0% | −5.5% | −1.8% | +24.9% | |
| EPS, diluted | 3.41 | 3.49 | 3.83 | 4.51 | 5.13 | 4.86 | 4.95 | 6.38 |
| FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|
| Operating cash flow | 26.0 | 26.4 | 12.8 | 62.3 | 45.9 | 40.1 | 38.3 | 44.8 |
| Capital expenditure | −5.4 | −3.8 | −7.0 | −3.4 | −8.4 | −4.9 | −4.9 | −2.6 |
| Free cash flow | 20.6 | 22.7 | 5.8 | 58.8 | 37.4 | 35.2 | 33.4 | 42.2 |
| Growth | +10.1% | −74.6% | +920.9% | −36.4% | −6.0% | −5.1% | +26.4% | |
| Buybacks | −4.6 | 0.0 | −0.1 | −7.9 | −0.2 | −5.0 | −16.3 | −11.1 |
| Dividends paid | −1.0 | −1.3 | −1.8 | −2.0 | −2.0 | −2.3 | −2.5 | −3.6 |
| FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|
| Cash | 151.9 | 133.3 | 447.2 | 784.9 | 278.4 | 305.4 | 269.0 | 213.4 |
| Shareholders’ equity | 193.7 | 251.9 | 285.5 | 298.2 | 265.8 | 303.9 | 319.7 | 365.2 |
In millions of USD, except per-share figures and ratios. Fiscal years, as last filed with the SEC.
| Fiscal year | 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 | ||||||||
| 28.4 | 30.5 | 34.5 | 40.1 | 45.0 | 42.9 | 42.4 | 53.1 | |
| 5.3 | 5.6 | 6.3 | 7.1 | 8.1 | 8.1 | 8.1 | 10.4 | |
| 23.1 | 24.8 | 28.1 | 33.0 | 36.9 | 34.9 | 34.2 | 42.8 | |
| Growth | +7.7% | +13.4% | +17.1% | +12.0% | −5.5% | −1.8% | +24.9% | |
| Per share | ||||||||
| 3.43 | 3.51 | 3.84 | 4.53 | 5.14 | 4.87 | 4.96 | 6.40 | |
| 3.41 | 3.49 | 3.83 | 4.51 | 5.13 | 4.86 | 4.95 | 6.38 | |
| Growth | +2.3% | +9.7% | +17.8% | +13.7% | −5.3% | +1.9% | +28.9% | |
| 6,717 | 7,073 | 7.3 | 7.3 | 7.2 | 7.2 | 6.9 | 6.7 | |
| 6,756 | 7,116 | 7.3 | 7.3 | 7.2 | 7.2 | 6.9 | 6.7 | |
| Growth | +5.3% | −99.9% | −0.6% | −1.4% | −0.2% | −3.7% | −3.1% | |
† The diluted share count jumps at 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.