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 | n/a | 31.8 | 50.5 | 64.4 | 105.1 | 139.6 | 138.8 | 117.1 | 110.8 | 120.5 |
| Growth | +58.9% | +27.5% | +63.1% | +32.8% | −0.6% | −15.7% | −5.3% | +8.7% | ||
| Operating income | −7.9 | −4.5 | −2.5 | 0.1 | −8.3 | 3.5 | 6.6 | −47.1 | 9.1 | 11.3 |
| Net income | −8.8 | −5.6 | −2.1 | −0.9 | −8.8 | 2.8 | 5.4 | −48.7 | 7.9 | 10.8 |
| Growth | +91.5% | −996.1% | +37.5% | |||||||
| EPS, diluted | n/a | n/a | n/a | n/a | n/a | n/a | −0.67 | −4.11 | −0.28 | 0.10 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating margin | n/a | −14.2% | −5.0% | 0.1% | −7.9% | 2.5% | 4.8% | −40.2% | 8.2% | 9.4% |
| Net margin | n/a | −17.5% | −4.2% | −1.4% | −8.4% | 2.0% | 3.9% | −41.6% | 7.1% | 9.0% |
| Free cash flow margin | n/a | −1.3% | 11.4% | 8.7% | −3.3% | 7.5% | 13.4% | 10.6% | 17.1% | 19.7% |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | −0.9 | 0.3 | 6.8 | 7.6 | −0.9 | 13.3 | 21.2 | 15.5 | 20.6 | 28.6 |
| Capital expenditure | −0.5 | −0.7 | −1.0 | −2.0 | −2.6 | −2.9 | −2.6 | −3.1 | −1.7 | −4.8 |
| Free cash flow | −1.4 | −0.4 | 5.8 | 5.6 | −3.5 | 10.4 | 18.6 | 12.4 | 18.9 | 23.8 |
| Growth | −3.2% | −162.2% | +78.4% | −33.2% | +52.8% | +25.5% | ||||
| Buybacks | −0.5 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash | 3.5 | 4.4 | 14.5 | 20.0 | 20.9 | 9.3 | 12.3 | n/a | n/a | n/a |
| Total debt | 6.7 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
| Net cash (debt) | −3.2 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
| Shareholders’ equity | 7.1 | 20.3 | 38.9 | 42.8 | 101.2 | 97.9 | 101.7 | 41.7 | 49.8 | 59.5 |
| Debt to equity | 0.95 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
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 | ||||||||||
| n/a | 31.8 | 50.5 | 64.4 | 105.1 | 139.6 | 138.8 | 117.1 | 110.8 | 120.5 | |
| Growth | +58.9% | +27.5% | +63.1% | +32.8% | −0.6% | −15.7% | −5.3% | +8.7% | ||
| 0.9 | 1.1 | 1.0 | 0.9 | 9.3 | 4.4 | 4.4 | 4.7 | 3.8 | 6.4 | |
| 12.5 | 11.7 | 16.3 | 17.9 | 22.8 | 24.3 | 23.8 | 21.5 | 16.1 | 18.4 | |
| −7.9 | −4.5 | −2.5 | 0.1 | −8.3 | 3.5 | 6.6 | −47.1 | 9.1 | 11.3 | |
| Growth | −12,444.8% | +87.3% | −812.8% | +24.4% | ||||||
| −8.6 | −5.5 | −2.3 | −0.7 | −8.7 | 3.0 | 5.6 | −49.0 | 8.0 | 11.0 | |
| 0.2 | 0.1 | −0.2 | 0.2 | 0.1 | 0.2 | 0.2 | −0.4 | 0.2 | 0.2 | |
| −8.8 | −5.6 | −2.1 | −0.9 | −8.8 | 2.8 | 5.4 | −48.7 | 7.9 | 10.8 | |
| Growth | +91.5% | −996.1% | +37.5% | |||||||
| Per share | ||||||||||
| n/a | n/a | n/a | n/a | n/a | −0.77 | −0.67 | −4.11 | −0.28 | 0.10 | |
| n/a | n/a | n/a | n/a | n/a | n/a | −0.67 | −4.11 | −0.28 | 0.10 | |
| Growth | ||||||||||
| n/a | n/a | n/a | n/a | n/a | 14.5 | 15.1 | 15.7 | 16.1 | 37.8 | |
| n/a | n/a | n/a | n/a | n/a | n/a | 15.1 | 15.7 | 16.1 | 38.0 | |
| Growth | +3.7% | +3.0% | +135.1% | |||||||
† The diluted share count jumps at 2025, 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.