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.
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | FY2026 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | 87.4 | 91.7 | 102.9 | 101.4 | 114.0 | 143.6 | 170.0 | 188.8 | 181.6 | 202.3 |
| Growth | +5.0% | +12.2% | −1.5% | +12.5% | +25.9% | +18.4% | +11.1% | −3.8% | +11.4% | |
| Operating income | 6.4 | 8.4 | 13.8 | 10.1 | 17.9 | 18.2 | 30.3 | 53.8 | 46.3 | 45.6 |
| Net income | 5.6 | 7.6 | 12.5 | 7.8 | 15.4 | 19.6 | 27.1 | 49.8 | 43.4 | 43.0 |
| Growth | +36.6% | +63.2% | −37.5% | +97.7% | +27.2% | +38.4% | +83.6% | −12.9% | −0.9% | |
| EPS, diluted | 0.30 | 0.41 | 0.34 | 0.21 | 0.42 | 0.53 | 0.73 | 1.34 | 1.19 | 1.20 |
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | FY2026 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 41.5% | 41.4% | 42.9% | 42.3% | 44.5% | 41.2% | 43.1% | 53.9% | 55.6% | 59.2% |
| Operating margin | 7.3% | 9.2% | 13.4% | 9.9% | 15.7% | 12.7% | 17.8% | 28.5% | 25.5% | 22.6% |
| Net margin | 6.4% | 8.3% | 12.1% | 7.7% | 13.5% | 13.6% | 16.0% | 26.4% | 23.9% | 21.3% |
| Free cash flow margin | 1.2% | 7.2% | 6.5% | 8.6% | 19.3% | 4.8% | 12.8% | 23.2% | 28.3% | 29.3% |
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | FY2026 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Operating cash flow | 2.4 | 7.9 | 8.7 | 10.3 | 23.0 | 8.3 | 24.7 | 45.4 | 53.5 | 61.1 |
| Capital expenditure | −1.4 | −1.3 | −2.0 | −1.6 | −1.0 | −1.5 | −3.0 | −1.6 | −2.1 | −1.9 |
| Free cash flow | 1.0 | 6.6 | 6.7 | 8.7 | 22.0 | 6.9 | 21.7 | 43.8 | 51.4 | 59.2 |
| Growth | +536.8% | +1.2% | +30.4% | +152.9% | −68.8% | +217.3% | +101.4% | +17.4% | +15.2% | |
| Buybacks | 0.0 | −1.3 | −4.0 | −2.5 | n/a | n/a | n/a | n/a | −36.8 | n/a |
| Dividends paid | n/a | n/a | n/a | n/a | n/a | n/a | −2.3 | −13.3 | −13.6 | −20.3 |
| FY2017 | FY2018 | FY2019 | FY2020 | FY2021 | FY2022 | FY2023 | FY2024 | FY2025 | FY2026 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash | 3.5 | 5.3 | 8.0 | 18.2 | 34.8 | 41.7 | 36.0 | 65.3 | 83.1 | 126.9 |
| Total debt | 3.5 | 0.0 | 0.0 | 3.9 | 3.9 | n/a | n/a | n/a | n/a | n/a |
| Net cash (debt) | −0.0 | 5.3 | 8.0 | 14.3 | 30.9 | n/a | n/a | n/a | n/a | n/a |
| Shareholders’ equity | 56.9 | 62.6 | 70.5 | 76.5 | 92.4 | 113.8 | 140.2 | 178.9 | 168.6 | 191.0 |
| Debt to equity | 0.06 | 0.00 | 0.00 | 0.05 | 0.04 | 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 | FY2017 30 Jun 2017 | FY2018 30 Jun 2018 | FY2019† 30 Jun 2019 | FY2020 30 Jun 2020 | FY2021 30 Jun 2021 | FY2022 30 Jun 2022 | FY2023 30 Jun 2023 | FY2024 30 Jun 2024 | FY2025 30 Jun 2025 | FY2026 30 Jun 2026 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue and profit | ||||||||||
| 87.4 | 91.7 | 102.9 | 101.4 | 114.0 | 143.6 | 170.0 | 188.8 | 181.6 | 202.3 | |
| Growth | +5.0% | +12.2% | −1.5% | +12.5% | +25.9% | +18.4% | +11.1% | −3.8% | +11.4% | |
| 51.1 | 53.8 | 58.7 | 58.5 | 63.3 | 84.4 | 96.8 | 87.1 | 80.6 | 82.5 | |
| 36.3 | 38.0 | 44.2 | 42.8 | 50.7 | 59.2 | 73.2 | 101.8 | 101.0 | 119.8 | |
| Growth | +4.7% | +16.3% | −3.1% | +18.4% | +16.6% | +23.8% | +38.9% | −0.7% | +18.6% | |
| 6.7 | 6.6 | 7.2 | 7.3 | 7.6 | 8.0 | 9.3 | 10.8 | 12.6 | 13.8 | |
| 23.2 | 23.0 | 23.2 | 23.7 | 25.2 | 32.9 | 33.6 | 37.2 | 42.2 | 44.4 | |
| 6.4 | 8.4 | 13.8 | 10.1 | 17.9 | 18.2 | 30.3 | 53.8 | 46.3 | 45.6 | |
| Growth | +31.9% | +63.7% | −26.9% | +78.2% | +1.6% | +66.4% | +77.5% | −14.0% | −1.3% | |
| 6.3 | 8.3 | 13.8 | 10.1 | 17.9 | 21.8 | 31.2 | 56.4 | 50.1 | 49.8 | |
| 0.7 | 0.7 | 1.3 | 2.3 | 2.5 | 2.2 | 4.1 | 6.6 | 6.7 | 6.8 | |
| 5.6 | 7.6 | 12.5 | 7.8 | 15.4 | 19.6 | 27.1 | 49.8 | 43.4 | 43.0 | |
| Growth | +36.6% | +63.2% | −37.5% | +97.7% | +27.2% | +38.4% | +83.6% | −12.9% | −0.9% | |
| Per share | ||||||||||
| 0.30 | 0.41 | 0.34 | 0.21 | 0.42 | 0.53 | 0.74 | 1.35 | 1.20 | 1.21 | |
| 0.30 | 0.41 | 0.34 | 0.21 | 0.42 | 0.53 | 0.73 | 1.34 | 1.19 | 1.20 | |
| Growth | +36.7% | −17.1% | −38.2% | +100.0% | +26.2% | +37.7% | +83.6% | −11.2% | +0.8% | |
| 18.8 | 18.8 | 37.1 | 36.9 | 36.7 | 36.7 | 36.7 | 36.8 | 36.3 | 35.7 | |
| 18.9 | 18.8 | 37.2 | 37.0 | 36.8 | 36.9 | 37.0 | 37.1 | 36.5 | 35.9 | |
| Growth | −0.2% | +97.9% | −0.7% | −0.5% | +0.2% | +0.4% | +0.2% | −1.5% | −1.7% | |
† The diluted share count jumps at 2019, 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.