Closing prices at the end of each trading day, from 13 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 | 393.8 | 402.4 | 433.7 | 424.6 | 425.5 | 505.2 | 565.6 | 703.6 | 826.6 | 916.7 |
| Growth | +2.2% | +7.8% | −2.1% | +0.2% | +18.7% | +11.9% | +24.4% | +17.5% | +10.9% | |
| Operating income | 52.7 | 56.6 | 56.9 | 62.1 | 65.2 | 78.7 | 87.3 | 118.0 | 157.9 | 183.4 |
| Net income | 32.3 | 34.6 | 27.8 | 47.2 | 49.3 | 60.9 | 66.5 | 92.6 | 124.9 | 141.6 |
| Growth | +7.0% | −19.6% | +69.8% | +4.6% | +23.4% | +9.2% | +39.3% | +34.9% | +13.4% | |
| EPS, diluted | 1.11 | 1.19 | 0.95 | 1.61 | 1.69 | 2.08 | 2.26 | 3.14 | 4.23 | 4.79 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 38.2% | 38.7% | 37.4% | 38.5% | 39.5% | 40.7% | 38.9% | 39.3% | 39.8% | 41.7% |
| Operating margin | 13.4% | 14.1% | 13.1% | 14.6% | 15.3% | 15.6% | 15.4% | 16.8% | 19.1% | 20.0% |
| Net margin | 8.2% | 8.6% | 6.4% | 11.1% | 11.6% | 12.1% | 11.8% | 13.2% | 15.1% | 15.5% |
| Free cash flow margin | 11.6% | 8.6% | 11.9% | 17.2% | 18.9% | 16.0% | 13.5% | 13.9% | 17.2% | 18.5% |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | 56.2 | 49.8 | 60.4 | 80.7 | 89.6 | 87.5 | 82.5 | 110.1 | 155.0 | 183.7 |
| Capital expenditure | −10.6 | −15.1 | −8.6 | −7.5 | −9.1 | −6.7 | −5.9 | −12.0 | −12.8 | −14.0 |
| Free cash flow | 45.6 | 34.7 | 51.7 | 73.2 | 80.5 | 80.8 | 76.6 | 98.1 | 142.2 | 169.7 |
| Growth | −23.9% | +49.1% | +41.6% | +10.0% | +0.3% | −5.2% | +28.2% | +44.9% | +19.3% | |
| Buybacks | 0.0 | −4.4 | −4.8 | −5.2 | −3.1 | −0.5 | −0.4 | 0.0 | 0.0 | −15.0 |
| Dividends paid | −12.5 | −14.2 | −16.3 | −18.6 | −20.3 | −22.2 | −24.9 | −29.1 | −35.8 | −43.5 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash | n/a | 11.2 | 13.1 | 48.9 | 72.3 | 87.2 | n/a | n/a | n/a | n/a |
| Shareholders’ equity | 256.2 | 277.5 | 303.5 | 331.1 | 361.3 | 403.1 | 442.4 | 516.5 | 606.2 | 713.3 |
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 | ||||||||||
| 393.8 | 402.4 | 433.7 | 424.6 | 425.5 | 505.2 | 565.6 | 703.6 | 826.6 | 916.7 | |
| Growth | +2.2% | +7.8% | −2.1% | +0.2% | +18.7% | +11.9% | +24.4% | +17.5% | +10.9% | |
| 243.2 | 246.7 | 271.4 | 261.1 | 257.3 | 299.7 | 345.6 | 427.2 | 497.4 | 534.6 | |
| 150.6 | 155.7 | 162.3 | 163.5 | 168.2 | 205.5 | 220.0 | 276.4 | 329.2 | 382.1 | |
| Growth | +3.4% | +4.2% | +0.7% | +2.9% | +22.1% | +7.0% | +25.7% | +19.1% | +16.1% | |
| 10.6 | 10.6 | 11.1 | 11.9 | 11.6 | 14.7 | 15.8 | 19.0 | 19.2 | 21.6 | |
| 97.9 | 99.2 | 105.5 | 101.4 | 103.1 | 126.8 | 132.7 | 158.4 | 171.2 | 198.6 | |
| 52.7 | 56.6 | 56.9 | 62.1 | 65.2 | 78.7 | 87.3 | 118.0 | 157.9 | 183.4 | |
| Growth | +7.4% | +0.5% | +9.3% | +4.8% | +20.8% | +10.9% | +35.2% | +33.8% | +16.1% | |
| 49.8 | 54.8 | 35.9 | 61.6 | 65.0 | 78.6 | 87.7 | 122.0 | 166.5 | 188.7 | |
| 17.5 | 20.3 | 8.1 | 14.4 | 15.6 | 17.7 | 21.2 | 29.4 | 41.6 | 47.0 | |
| 32.3 | 34.6 | 27.8 | 47.2 | 49.3 | 60.9 | 66.5 | 92.6 | 124.9 | 141.6 | |
| Growth | +7.0% | −19.6% | +69.8% | +4.6% | +23.4% | +9.2% | +39.3% | +34.9% | +13.4% | |
| Per share | ||||||||||
| 1.12 | 1.20 | 0.96 | 1.63 | 1.70 | 2.09 | 2.28 | 3.16 | 4.26 | 4.82 | |
| 1.11 | 1.19 | 0.95 | 1.61 | 1.69 | 2.08 | 2.26 | 3.14 | 4.23 | 4.79 | |
| Growth | +7.2% | −20.2% | +69.5% | +5.0% | +23.1% | +8.7% | +38.9% | +34.7% | +13.2% | |
| 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 29.3 | 29.4 | 29.4 | |
| 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 29.5 | 29.5 | 29.6 | |
| Growth | +0.2% | +0.3% | +0.1% | +0.0% | +0.4% | +0.1% | +100,172.3% | +0.3% | +0.1% | |
† The diluted share count jumps at 2023, 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.