41.57
+4.71%
Close of 9 Nov 2026, in USD
Search any instrument
Reference data, closing prices and charts across 45,000 companies, plus crypto, commodities and currencies.
At a glance
Figures in USD, from our data supplier.
Revenue
$652.5m
FY2016FY2025
Net income
$21.3m
FY2016FY2025
Free cash flow
$14.6m
FY2016FY2025
Shareholders' equity
$116.6m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $652.5m | $465.6m | $352.0m | $304.3m | $282.6m | $251.6m | $208.8m | $181.4m | $449.4m | $418.1m |
| Gross profit | $105.3m | $91.1m | $64.2m | $52.0m | $45.7m | $33.0m | $30.0m | $26.9m | $27.1m | $27.3m |
| Operating income | $29.2m | $28.0m | $16.5m | $17.9m | $12.1m | $5.3m | $8.5m | $4.2m | $7.8m | $8.6m |
| Net income | $21.3m | $18.6m | $12.3m | $12.2m | $9.2m | $4.5m | $6.8m | $3.5m | $5.1m | $5.9m |
| Diluted earnings per share | 1.17 | 1.04 | 0.70 | 0.70 | 0.53 | 0.26 | 0.38 | 0.20 | 0.30 | 0.33 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $460.2m | $469.2m | $335.1m | $231.9m | $190.8m | $165.5m | $126.3m | $108.0m | $102.7m | $113.7m |
| Cash and short-term investments | $36.6m | $29.8m | $36.3m | $20.2m | $29.3m | $29.3m | $15.0m | $14.9m | $5.5m | $13.5m |
| Total liabilities | $343.7m | $378.6m | $260.3m | $171.3m | $138.3m | $120.8m | $81.0m | $67.4m | $64.0m | $76.1m |
| Debt | $982,000 | $751,000 | $1.3m | $1.8m | — | — | — | — | — | — |
| Shareholders' equity | $116.6m | $90.6m | $74.8m | $60.6m | $52.4m | $44.7m | $45.3m | $40.6m | $38.7m | $37.6m |
| Shares outstanding | 18m | 18m | 18m | 17m | 17m | 17m | 18m | 18m | 17m | 18m |
Cash flow
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash from operations | $16.6m | $33.7m | $42.1m | $4.6m | $4.7m | $38.0m | $3.2m | $13.9m | −$2.0m | −$516,000 |
| Capital spending | −$2.0m | −$5.5m | −$5.0m | −$2.5m | −$258,000 | −$23,000 | −$106,000 | −$266,000 | −$359,000 | −$1.0m |
| Free cash flow | $14.6m | $28.3m | $37.1m | $2.1m | $4.5m | $37.9m | $3.1m | $13.6m | −$2.4m | −$1.6m |
| Dividends paid | −$3.1m | −$3.0m | −$3.0m | −$3.0m | −$3.0m | −$3.0m | −$3.1m | −$3.1m | −$3.1m | −$3.2m |
Latest quarters
By quarter end
| Jun 2026 | Mar 2026 | Dec 2025 | Sept 2025 | Jun 2025 | Mar 2025 | Dec 2024 | Sept 2024 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $174.2m | $182.4m | $193.8m | $161.3m | $159.3m | $138.0m | $161.8m | $119.3m |
| Gross profit | $30.2m | $26.5m | $29.8m | $25.7m | $26.3m | $23.4m | $29.9m | $23.1m |
| Operating income | $7.4m | $4.2m | $9.5m | $6.9m | $8.0m | $4.8m | $12.8m | $9.1m |
| Net income | $5.5m | $3.3m | $7.0m | $4.7m | $6.0m | $3.7m | $6.8m | $5.3m |
| Diluted earnings per share | 0.30 | 0.18 | 0.38 | 0.26 | 0.33 | 0.20 | 0.38 | 0.30 |
| Cash from operations | $15.0m | $16.0m | −$11.0m | $22.0m | −$2.0m | $8.0m | $15.0m | −$3.0m |
| Capital spending | — | — | — | — | — | — | −$1.0m | −$1.0m |
| Free cash flow | — | — | — | — | — | — | $14.0m | −$4.0m |
| Total assets | $462.5m | $458.8m | $460.2m | $376.1m | $420.7m | $370.1m | $469.2m | $371.9m |
| Cash and short-term investments | $56.6m | $41.8m | $36.6m | $49.8m | $28.6m | $32.5m | $29.8m | $22.1m |
| Debt | $683,000 | $770,000 | $982,000 | $1.1m | $1.2m | $1.3m | $1.4m | $1.4m |
| Shareholders' equity | $125.0m | $118.4m | $116.6m | $109.3m | $105.2m | $95.6m | $90.6m | $87.7m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 28.9% | 21.0% | 5.5% |
| Operating income | 17.7% | 40.6% | 13.1% |
| Net income | 20.5% | 36.7% | 13.8% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Gross margin | 17.6% | 17.6% | 17.0% | 13.4% |
| Operating margin | 5.1% | 5.2% | 4.7% | 3.7% |
| Net margin | 3.6% | 3.6% | 3.4% | 2.7% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 21.9 | 30.6 | 19.7 | 11.3 | 16.4 | 18.1 | 10.6 | 12.4 | 14.2 | 14.2 |
| Price to sales | 0.7 | 1.2 | 0.7 | 0.5 | 0.5 | 0.3 | 0.3 | 0.2 | 0.2 | 0.2 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | -12% | 116% | 82% | -8% | 76% | 20% | 57% | -37% | -11% | -0% |
Dividends and splits
Per share, in the currency the company pays
Paid for 23 years. Last went ex-dividend on 10 Nov 2025.
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 |
- 4-for-1 split · 23 Mar 2026
Sources and methodology
- Data on this tab
- Our data supplier
- Chart on the Overview
- TradingView
Nothing here is investment advice. Prices can be delayed or wrong, so check with the exchange before relying on them. Data for this page. How we cover markets.