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 | 686.0 | 762.3 | 883.1 | 991.3 | 958.4 | 1,122.3 | 1,412.0 | 1,630.7 | 1,838.4 | 2,087.7 |
| Growth | +11.1% | +15.8% | +12.3% | −3.3% | +17.1% | +25.8% | +15.5% | +12.7% | +13.6% | |
| Operating income | 64.5 | 72.7 | 49.8 | 76.5 | 110.0 | 155.9 | 192.2 | 238.8 | 263.6 | 313.8 |
| Net income | 61.7 | 48.9 | 56.7 | 67.7 | 89.5 | 114.8 | 143.0 | 184.6 | 198.3 | 251.0 |
| Growth | −20.8% | +16.0% | +19.3% | +32.2% | +28.3% | +24.6% | +29.1% | +7.4% | +26.6% | |
| EPS, diluted | 1.79 | 1.39 | 1.62 | 1.95 | 2.59 | 0.67 | 0.85 | 1.10 | 1.21 | 1.54 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 34.7% | 35.0% | 33.8% | 33.9% | 34.9% | 38.4% | 36.5% | 37.3% | 37.6% | 38.4% |
| Operating margin | 9.4% | 9.5% | 5.6% | 7.7% | 11.5% | 13.9% | 13.6% | 14.6% | 14.3% | 15.0% |
| Net margin | 9.0% | 6.4% | 6.4% | 6.8% | 9.3% | 10.2% | 10.1% | 11.3% | 10.8% | 12.0% |
| Free cash flow margin | 11.2% | 10.2% | 5.8% | 12.9% | 16.8% | 13.1% | 8.6% | 9.7% | 12.1% | 14.3% |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | 102.4 | 113.2 | 92.4 | 168.4 | 203.0 | 184.4 | 166.1 | 211.2 | 268.5 | 350.7 |
| Capital expenditure | −25.9 | −35.2 | −40.8 | −40.5 | −42.2 | −37.2 | −44.8 | −52.8 | −46.3 | −52.6 |
| Free cash flow | 76.5 | 78.0 | 51.6 | 127.9 | 160.7 | 147.1 | 121.3 | 158.4 | 222.3 | 298.1 |
| Growth | +1.9% | −33.8% | +147.6% | +25.7% | −8.5% | −17.6% | +30.6% | +40.3% | +34.1% | |
| Buybacks | −18.2 | −43.5 | −43.1 | −41.4 | −79.9 | −118.4 | −72.6 | −131.8 | −207.9 | −328.5 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash | 213.2 | 86.8 | 95.9 | 119.2 | 218.5 | 135.3 | 118.7 | 137.0 | 153.4 | 146.3 |
| Total debt | 45.0 | 60.7 | 284.7 | 235.0 | 227.0 | 260.0 | 250.0 | 200.0 | 288.5 | 298.6 |
| Net cash (debt) | 168.2 | 26.1 | −188.8 | −115.8 | −8.4 | −124.7 | −131.3 | −63.0 | −135.1 | −152.3 |
| Shareholders’ equity | 532.0 | 599.8 | 618.1 | 670.0 | 719.2 | 693.2 | 758.2 | 889.4 | 929.9 | 912.7 |
| Debt to equity | 0.08 | 0.10 | 0.46 | 0.35 | 0.32 | 0.38 | 0.33 | 0.22 | 0.31 | 0.33 |
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 | ||||||||||
| 686.0 | 762.3 | 883.1 | 991.3 | 958.4 | 1,122.3 | 1,412.0 | 1,630.7 | 1,838.4 | 2,087.7 | |
| Growth | +11.1% | +15.8% | +12.3% | −3.3% | +17.1% | +25.8% | +15.5% | +12.7% | +13.6% | |
| 238.3 | 267.2 | 298.3 | 335.9 | 334.5 | 431.4 | 515.4 | 607.8 | 691.0 | 801.1 | |
| Growth | +12.1% | +11.6% | +12.6% | −0.4% | +29.0% | +19.5% | +17.9% | +13.7% | +15.9% | |
| 88.6 | 102.5 | 116.2 | 126.9 | 113.9 | 142.0 | 169.0 | 198.3 | 225.7 | 255.3 | |
| 64.5 | 72.7 | 49.8 | 76.5 | 110.0 | 155.9 | 192.2 | 238.8 | 263.6 | 313.8 | |
| Growth | +12.8% | −31.5% | +53.5% | +43.9% | +41.7% | +23.3% | +24.2% | +10.4% | +19.0% | |
| 83.9 | 85.0 | 60.4 | 83.1 | 115.3 | 146.6 | 190.1 | 237.9 | 261.3 | 315.1 | |
| 22.2 | 36.1 | 3.4 | 15.2 | 25.6 | 31.9 | 47.6 | 53.5 | 62.9 | 63.7 | |
| 61.7 | 48.9 | 56.7 | 67.7 | 89.5 | 114.8 | 143.0 | 184.6 | 198.3 | 251.0 | |
| Growth | −20.8% | +16.0% | +19.3% | +32.2% | +28.3% | +24.6% | +29.1% | +7.4% | +26.6% | |
| Per share | ||||||||||
| 1.84 | 1.44 | 1.65 | 1.97 | 2.61 | 0.68 | 0.86 | 1.11 | 1.22 | 1.56 | |
| 1.79 | 1.39 | 1.62 | 1.95 | 2.59 | 0.67 | 0.85 | 1.10 | 1.21 | 1.54 | |
| Growth | −22.3% | +16.5% | +20.4% | +32.8% | −74.1% | +26.9% | +29.4% | +10.0% | +27.3% | |
| 33.6 | 33.9 | 34.5 | 34.4 | 34.3 | 167.7 | 166.7 | 166.3 | 162.7 | 161.0 | |
| 34.6 | 35.1 | 35.0 | 34.7 | 34.6 | 171.2 | 169.2 | 168.2 | 164.3 | 162.5 | |
| Growth | +1.6% | −0.2% | −0.9% | −0.5% | +395.5% | −1.2% | −0.6% | −2.3% | −1.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.