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 | 31.0 | 46.2 | 56.1 | 53.6 | 50.7 | 51.7 | 61.2 | 57.5 | 58.2 | 52.2 |
| Growth | +49.1% | +21.3% | −4.5% | −5.4% | +2.1% | +18.3% | −6.1% | +1.3% | −10.4% | |
| Operating income | 15.6 | 22.5 | 29.7 | 26.3 | 22.3 | 16.8 | 25.0 | n/a | n/a | n/a |
| Net income | 4.3 | 7.9 | 12.3 | 13.9 | 7.1 | 10.0 | 11.7 | 30.9 | 59.9 | 31.5 |
| Growth | +84.0% | +54.8% | +13.3% | −48.7% | +40.3% | +16.8% | +164.8% | +93.8% | −47.3% | |
| EPS, diluted | 0.09 | 0.03 | −0.01 | 0.04 | −0.18 | −0.17 | 0.16 | 0.53 | 1.06 | 0.61 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating margin | 50.4% | 48.7% | 53.0% | 49.2% | 44.1% | 32.5% | 40.8% | n/a | n/a | n/a |
| Net margin | 13.9% | 17.1% | 21.9% | 25.9% | 14.0% | 19.3% | 19.1% | 53.8% | 102.9% | 60.5% |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | 5.0 | 0.9 | 20.0 | 18.0 | 19.7 | 7.9 | 17.1 | 12.9 | 16.1 | 17.4 |
| Buybacks | n/a | −10.0 | −20.6 | −22.0 | −6.8 | n/a | n/a | −72.2 | −27.5 | −37.8 |
| Dividends paid | −6.6 | −14.7 | −14.4 | −6.2 | −5.9 | −6.4 | −11.1 | −12.3 | −21.6 | −63.7 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash | n/a | n/a | 16.9 | 12.6 | 27.2 | 30.2 | 7.7 | 5.5 | 78.4 | 9.3 |
| Total debt | 309.9 | 515.8 | 525.3 | 512.9 | 508.2 | 513.4 | 439.5 | 363.1 | 204.6 | 161.6 |
| Net cash (debt) | n/a | n/a | −508.4 | −500.3 | −481.0 | −483.3 | −431.8 | −357.6 | −126.1 | −152.3 |
| Shareholders’ equity | 215.6 | 371.0 | 339.3 | 313.5 | 305.9 | 472.1 | 594.0 | 528.8 | 494.6 | 467.4 |
| Debt to equity | 1.44 | 1.39 | 1.55 | 1.64 | 1.66 | 1.09 | 0.74 | 0.69 | 0.41 | 0.35 |
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 | ||||||||||
| 31.0 | 46.2 | 56.1 | 53.6 | 50.7 | 51.7 | 61.2 | 57.5 | 58.2 | 52.2 | |
| Growth | +49.1% | +21.3% | −4.5% | −5.4% | +2.1% | +18.3% | −6.1% | +1.3% | −10.4% | |
| 7.0 | 7.3 | 7.4 | 6.1 | 5.9 | 8.2 | 12.0 | 11.3 | 14.1 | 11.7 | |
| 15.6 | 22.5 | 29.7 | 26.3 | 22.3 | 16.8 | 25.0 | n/a | n/a | n/a | |
| Growth | +44.1% | +31.8% | −11.3% | −15.2% | −24.7% | +48.5% | ||||
| 6.0 | 9.2 | 14.0 | 14.9 | 7.5 | 10.3 | 12.2 | 31.5 | 61.4 | 32.2 | |
| 0.0 | n/a | n/a | 0.0 | 0.0 | 0.0 | 0.2 | −0.2 | −0.0 | −0.0 | |
| 4.3 | 7.9 | 12.3 | 13.9 | 7.1 | 10.0 | 11.7 | 30.9 | 59.9 | 31.5 | |
| Growth | +84.0% | +54.8% | +13.3% | −48.7% | +40.3% | +16.8% | +164.8% | +93.8% | −47.3% | |
| Per share | ||||||||||
| 0.09 | 0.03 | −0.01 | 0.04 | −0.18 | −0.17 | 0.16 | 0.55 | 1.19 | 0.65 | |
| 0.09 | 0.03 | −0.01 | 0.04 | −0.18 | −0.17 | 0.16 | 0.53 | 1.06 | 0.61 | |
| Growth | −66.7% | −133.3% | −550.0% | +231.3% | +100.0% | −42.5% | ||||
| 13.2 | 31.2 | 32.2 | 30.2 | 29.4 | 34.6 | 51.0 | 50.2 | 47.5 | 44.2 | |
| 13.2 | 31.2 | 32.2 | 30.2 | 29.4 | 34.6 | 51.0 | 58.3 | 56.0 | 51.3 | |
| Growth | +136.4% | +3.1% | −6.2% | −2.6% | +17.9% | +47.1% | +14.4% | −4.0% | −8.5% | |
† The diluted share count jumps at 2017, 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.