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 | 479.6 | 565.2 | 684.3 | 745.3 | 880.8 | 1,197.0 | 1,106.0 | 1,094.8 | 1,151.4 | 1,174.3 |
| Growth | +17.8% | +21.1% | +8.9% | +18.2% | +35.9% | −7.6% | −1.0% | +5.2% | +2.0% | |
| Operating income | 104.0 | 142.4 | 176.7 | 188.2 | 233.6 | 275.4 | 246.7 | 274.6 | 321.9 | 258.0 |
| Net income | 67.8 | 95.1 | 134.6 | 144.7 | 175.6 | 208.7 | 184.6 | 204.1 | 238.4 | 190.4 |
| Growth | +40.2% | +41.5% | +7.6% | +21.3% | +18.8% | −11.6% | +10.6% | +16.8% | −20.1% | |
| EPS, diluted | 1.15 | 1.61 | 1.14 | 1.24 | 1.51 | 1.80 | 1.65 | 1.88 | 2.20 | 1.78 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 39.0% | 43.1% | 43.1% | 41.1% | 40.8% | 38.5% | 36.5% | 41.2% | 43.6% | 39.2% |
| Operating margin | 21.7% | 25.2% | 25.8% | 25.2% | 26.5% | 23.0% | 22.3% | 25.1% | 28.0% | 22.0% |
| Net margin | 14.1% | 16.8% | 19.7% | 19.4% | 19.9% | 17.4% | 16.7% | 18.6% | 20.7% | 16.2% |
| Free cash flow margin | 14.7% | 15.4% | 15.2% | 12.0% | 1.6% | 8.2% | 3.6% | 20.4% | −7.7% | 11.5% |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | 85.3 | 101.9 | 138.1 | 156.4 | 187.3 | 258.1 | 216.2 | 389.4 | 143.9 | 358.1 |
| Capital expenditure | −14.6 | −15.0 | −33.8 | −67.3 | −172.8 | −159.4 | −176.2 | −166.1 | −232.3 | −223.6 |
| Free cash flow | 70.7 | 86.8 | 104.3 | 89.1 | 14.5 | 98.7 | 40.0 | 223.3 | −88.4 | 134.5 |
| Growth | +22.7% | +20.1% | −14.6% | −83.8% | +581.8% | −59.5% | +458.4% | −139.6% | ||
| Buybacks | −55.2 | −3.6 | −30.1 | −46.5 | −44.9 | −82.5 | −398.4 | −18.5 | −105.9 | −54.5 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash | 18.7 | 30.5 | 105.7 | 148.8 | 121.7 | 141.1 | 12.3 | 2.0 | 1.3 | 3.8 |
| Shareholders’ equity | 134.2 | 231.3 | 343.0 | 449.2 | 588.5 | 725.0 | 544.5 | 741.6 | 887.1 | 1,034.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 | ||||||||||
| 479.6 | 565.2 | 684.3 | 745.3 | 880.8 | 1,197.0 | 1,106.0 | 1,094.8 | 1,151.4 | 1,174.3 | |
| Growth | +17.8% | +21.1% | +8.9% | +18.2% | +35.9% | −7.6% | −1.0% | +5.2% | +2.0% | |
| 292.5 | 321.8 | 389.4 | 438.8 | 521.4 | 736.4 | 702.1 | 644.0 | 649.6 | 714.3 | |
| 187.1 | 243.4 | 294.9 | 306.5 | 359.5 | 460.5 | 404.0 | 450.8 | 501.9 | 460.0 | |
| Growth | +30.1% | +21.2% | +3.9% | +17.3% | +28.1% | −12.3% | +11.6% | +11.3% | −8.4% | |
| 3.7 | 3.8 | 4.5 | 3.4 | 3.4 | 6.0 | 0.5 | 3.3 | 3.5 | 4.2 | |
| 83.1 | 101.0 | 118.2 | 118.3 | 125.8 | 139.6 | 141.8 | 176.2 | 180.0 | 202.0 | |
| 104.0 | 142.4 | 176.7 | 188.2 | 233.6 | 275.4 | 246.7 | 274.6 | 321.9 | 258.0 | |
| Growth | +37.0% | +24.1% | +6.5% | +24.1% | +17.9% | −10.4% | +11.3% | +17.2% | −19.9% | |
| 102.8 | 141.9 | 176.9 | 189.7 | 234.6 | 275.4 | 246.8 | 274.6 | 321.9 | 258.0 | |
| 35.0 | 46.8 | 42.3 | 45.0 | 59.0 | 66.7 | 62.2 | 70.5 | 83.5 | 67.5 | |
| 67.8 | 95.1 | 134.6 | 144.7 | 175.6 | 208.7 | 184.6 | 204.1 | 238.4 | 190.4 | |
| Growth | +40.2% | +41.5% | +7.6% | +21.3% | +18.8% | −11.6% | +10.6% | +16.8% | −20.1% | |
| Per share | ||||||||||
| 1.16 | 1.62 | 1.15 | 1.24 | 1.52 | 1.81 | 1.65 | 1.88 | 2.20 | 1.78 | |
| 1.15 | 1.61 | 1.14 | 1.24 | 1.51 | 1.80 | 1.65 | 1.88 | 2.20 | 1.78 | |
| Growth | +40.0% | −29.2% | +8.8% | +21.8% | +19.2% | −8.3% | +13.9% | +17.0% | −19.1% | |
| 58.8 | 58.8 | 117.5 | 116.9 | 115.9 | 115.5 | 111.7 | 108.7 | 108.2 | 107.0 | |
| 59.2 | 59.2 | 118.1 | 117.3 | 116.3 | 115.8 | 111.9 | 108.8 | 108.3 | 107.1 | |
| Growth | −0.1% | +99.7% | −0.7% | −0.9% | −0.4% | −3.4% | −2.7% | −0.4% | −1.1% | |
† The diluted share count jumps at 2018, 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.