Closing prices at the end of each trading day, from 24 Jul 2025. 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 | 8.7 | 4.4 | 5.1 | 5.5 | 5.9 | 6.8 | 7.0 | 8.1 | 11.0 | 11.5 |
| Growth | −49.8% | +16.9% | +7.9% | +7.9% | +14.4% | +3.3% | +15.1% | +36.3% | +4.5% | |
| Operating income | −3.1 | −1.9 | −1.4 | −0.7 | −0.3 | −0.0 | −0.6 | 0.1 | 1.9 | 2.0 |
| Net income | 0.1 | −1.2 | −2.0 | −0.6 | 0.1 | −0.0 | −0.6 | 0.1 | 6.3 | 2.5 |
| Growth | −906.2% | −130.4% | +5,189.1% | −60.1% | ||||||
| EPS, diluted | n/a | n/a | n/a | n/a | n/a | n/a | −0.25 | 0.05 | 2.51 | 0.99 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 40.7% | 56.3% | 61.4% | 65.4% | 69.8% | 72.3% | 72.4% | 74.5% | 72.8% | 76.8% |
| Operating margin | −35.3% | −43.9% | −27.6% | −12.7% | −5.2% | −0.1% | −9.0% | 0.9% | 17.6% | 17.3% |
| Net margin | 1.7% | −26.9% | −39.3% | −11.3% | 1.2% | −0.3% | −9.0% | 1.5% | 57.3% | 21.9% |
| Free cash flow margin | −52.6% | 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 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | −4.5 | −1.7 | −2.4 | −1.2 | 0.5 | 0.1 | 0.0 | 0.1 | 0.9 | 2.1 |
| Capital expenditure | −0.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
| Free cash flow | −4.6 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
| Growth |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash | 0.2 | 0.5 | 1.0 | 1.2 | 2.1 | 1.7 | 1.5 | 1.4 | 2.3 | 4.5 |
| Shareholders’ equity | 1.3 | 0.5 | −1.3 | −0.6 | −0.5 | −0.5 | −1.0 | −0.8 | 5.5 | 8.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 | ||||||||||
| 8.7 | 4.4 | 5.1 | 5.5 | 5.9 | 6.8 | 7.0 | 8.1 | 11.0 | 11.5 | |
| Growth | −49.8% | +16.9% | +7.9% | +7.9% | +14.4% | +3.3% | +15.1% | +36.3% | +4.5% | |
| 5.1 | 1.9 | 2.0 | 1.9 | 1.8 | 1.9 | 1.9 | 2.1 | 3.0 | 2.7 | |
| 3.5 | 2.4 | 3.1 | 3.6 | 4.1 | 4.9 | 5.1 | 6.0 | 8.0 | 8.8 | |
| Growth | −30.6% | +27.6% | +15.0% | +15.1% | +18.6% | +3.5% | +18.4% | +33.2% | +10.2% | |
| 0.9 | 0.5 | 0.5 | 0.6 | 0.6 | 0.7 | 0.8 | 0.9 | 1.0 | 1.1 | |
| 5.7 | 3.8 | 4.0 | 3.7 | 3.8 | 4.2 | 4.8 | 5.1 | 5.1 | 5.7 | |
| −3.1 | −1.9 | −1.4 | −0.7 | −0.3 | −0.0 | −0.6 | 0.1 | 1.9 | 2.0 | |
| Growth | +2,517.6% | +2.7% | ||||||||
| −0.1 | −2.1 | −1.5 | −0.7 | 0.1 | −0.0 | −0.6 | 0.1 | 2.0 | 2.1 | |
| 0.0 | 0.0 | n/a | n/a | n/a | n/a | n/a | 0.0 | −4.3 | −0.4 | |
| 0.1 | −1.2 | −2.0 | −0.6 | 0.1 | −0.0 | −0.6 | 0.1 | 6.3 | 2.5 | |
| Growth | −906.2% | −130.4% | +5,189.1% | −60.1% | ||||||
| Per share | ||||||||||
| n/a | n/a | n/a | n/a | n/a | 0.00 | −0.25 | 0.05 | 2.53 | 1.01 | |
| n/a | n/a | n/a | n/a | n/a | n/a | −0.25 | 0.05 | 2.51 | 0.99 | |
| Growth | +4,920.0% | −60.6% | ||||||||
| 28.5 | 29.4 | 29.5 | 35.5 | 39.7 | 0.0 | 2.5 | 2.5 | 2.5 | 2.5 | |
| 28.5 | 29.4 | 29.5 | 35.5 | 39.7 | 0.0 | 2.5 | 2.5 | 2.5 | 2.5 | |
| Growth | +3.1% | +0.4% | +20.2% | +11.9% | −99.9% | +6,151.3% | +0.9% | +0.4% | +1.0% | |
† The diluted share count jumps at 2021 and 2022, 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.