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 | 48.3 | 62.0 | 54.1 | 82.0 | 113.9 | 141.0 | 182.7 | 171.7 | 180.4 | 241.0 |
| Growth | +28.3% | −12.8% | +51.7% | +38.9% | +23.7% | +29.6% | −6.0% | +5.1% | +33.6% | |
| Operating income | −3.6 | 2.0 | 0.7 | 3.2 | 6.8 | 9.5 | 13.9 | 8.8 | 8.2 | 18.1 |
| Net income | −4.0 | 1.8 | 0.7 | 2.8 | 6.4 | 10.0 | 15.7 | 7.1 | 6.8 | 14.6 |
| Growth | −64.2% | +322.8% | +129.6% | +57.4% | +56.1% | −54.4% | −5.5% | +116.0% | ||
| EPS, diluted | −0.30 | 0.07 | 0.02 | 0.10 | 0.24 | 0.37 | 0.58 | 0.27 | 0.26 | 0.56 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 17.2% | 18.2% | 17.9% | 19.8% | 20.2% | 22.1% | 24.5% | 24.3% | 24.6% | 22.4% |
| Operating margin | −7.4% | 3.2% | 1.2% | 4.0% | 6.0% | 6.7% | 7.6% | 5.1% | 4.5% | 7.5% |
| Net margin | −8.3% | 3.0% | 1.2% | 3.4% | 5.6% | 7.1% | 8.6% | 4.2% | 3.7% | 6.1% |
| Free cash flow margin | −1.7% | −0.2% | 0.5% | −0.8% | 0.9% | −0.2% | 5.3% | 2.2% | 3.7% | 0.6% |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | 0.4 | 0.2 | 0.4 | −0.5 | 6.9 | 2.8 | 10.0 | 5.8 | 10.2 | 2.6 |
| Capital expenditure | −1.2 | −0.4 | −0.1 | −0.1 | −5.9 | −3.1 | −0.3 | −2.0 | −3.5 | −1.2 |
| Free cash flow | −0.8 | −0.1 | 0.3 | −0.6 | 1.0 | −0.3 | 9.7 | 3.8 | 6.7 | 1.4 |
| Growth | −358.2% | −132.3% | −61.1% | +77.3% | −79.5% | |||||
| Buybacks | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | −2.4 | −0.2 |
| FY2016 | FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash | 1.4 | 1.3 | 1.5 | 4.5 | 9.2 | 10.1 | 17.2 | 17.9 | 20.6 | 18.2 |
| Total debt | 0.0 | 0.0 | n/a | 9.6 | 15.4 | 18.7 | 14.7 | 14.9 | 13.5 | 9.9 |
| Net cash (debt) | 1.4 | 1.3 | n/a | −5.1 | −6.2 | −8.6 | 2.4 | 2.9 | 7.1 | 8.2 |
| Shareholders’ equity | 5.9 | 7.8 | 11.2 | 11.2 | 17.6 | 27.6 | 43.3 | 48.3 | 52.7 | 67.1 |
| Debt to equity | 0.00 | 0.00 | n/a | 0.86 | 0.88 | 0.68 | 0.34 | 0.31 | 0.26 | 0.15 |
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 | ||||||||||
| 48.3 | 62.0 | 54.1 | 82.0 | 113.9 | 141.0 | 182.7 | 171.7 | 180.4 | 241.0 | |
| Growth | +28.3% | −12.8% | +51.7% | +38.9% | +23.7% | +29.6% | −6.0% | +5.1% | +33.6% | |
| 40.0 | 50.7 | 44.4 | 65.8 | 16.3 | 21.7 | 30.9 | 133.6 | 136.1 | 187.1 | |
| 8.3 | 11.3 | 9.7 | 16.3 | 23.1 | 31.2 | 44.8 | 41.7 | 44.3 | 53.9 | |
| Growth | +35.9% | −14.3% | +67.9% | +41.9% | +35.3% | +43.6% | −7.1% | +6.4% | +21.7% | |
| 10.3 | 9.0 | 8.7 | 12.5 | 15.6 | 20.8 | 29.4 | 31.5 | 34.6 | 33.9 | |
| −3.6 | 2.0 | 0.7 | 3.2 | 6.8 | 9.5 | 13.9 | 8.8 | 8.2 | 18.1 | |
| Growth | −66.7% | +397.5% | +109.4% | +39.9% | +46.8% | −37.2% | −6.8% | +122.0% | ||
| −4.0 | 1.8 | 0.7 | 2.9 | 6.5 | 10.2 | 14.4 | 9.0 | 8.7 | 18.7 | |
| 0.0 | 0.0 | 0.1 | 0.1 | 0.1 | 0.1 | −1.3 | 1.9 | 2.0 | 4.1 | |
| −4.0 | 1.8 | 0.7 | 2.8 | 6.4 | 10.0 | 15.7 | 7.1 | 6.8 | 14.6 | |
| Growth | −64.2% | +322.8% | +129.6% | +57.4% | +56.1% | −54.4% | −5.5% | +116.0% | ||
| Per share | ||||||||||
| −0.30 | 0.07 | 0.02 | 0.10 | 0.24 | 0.37 | 0.58 | 0.27 | 0.26 | 0.56 | |
| −0.30 | 0.07 | 0.02 | 0.10 | 0.24 | 0.37 | 0.58 | 0.27 | 0.26 | 0.56 | |
| Growth | −71.4% | +400.0% | +140.0% | +54.2% | +56.8% | −53.4% | −3.7% | +115.4% | ||
| 13.2 | 26.9 | 26.9 | 26.9 | 26.9 | 26.9 | 26.9 | 26.8 | 26.2 | 26.0 | |
| 13.2 | 27.4 | 27.0 | 26.9 | 26.9 | 26.9 | 26.9 | 26.8 | 26.2 | 26.0 | |
| Growth | +107.6% | −1.5% | −0.3% | +0.0% | +0.0% | +0.0% | −0.4% | −2.4% | −0.8% | |
† 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.