33.82
+5.52%
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
$319.4m
FY2016FY2025
Net income
$16.3m
FY2016FY2025
Free cash flow
$17.4m
FY2016FY2025
Shareholders' equity
$46.0m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $319.4m | $278.4m | $263.2m | $284.7m | $203.9m | $150.4m | $191.1m | $200.4m | $186.7m | $176.4m |
| Gross profit | $86.0m | $79.8m | $76.7m | $82.9m | $53.1m | $38.9m | $48.6m | $49.3m | $48.4m | $47.0m |
| Operating income | $25.1m | $22.3m | $23.7m | $28.8m | $14.1m | −$11.3m | $6.6m | $5.4m | $280,000 | $4.1m |
| Net income | $16.3m | $13.3m | $16.8m | $20.9m | $11.0m | −$8.9m | $4.1m | $2.7m | $2.0m | $1.8m |
| Diluted earnings per share | 2.22 | 1.72 | 2.07 | 2.08 | 1.07 | -0.77 | 0.31 | 0.22 | 0.16 | 0.15 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $134.4m | $132.1m | $120.5m | $88.0m | $72.9m | $68.3m | $96.2m | $81.5m | $73.3m | $69.8m |
| Cash and short-term investments | $2.9m | $4.7m | $6.3m | $339,000 | $235,000 | $734,000 | $1.8m | $482,000 | $2.9m | $279,000 |
| Total liabilities | $88.4m | $98.6m | $94.7m | $56.0m | $46.9m | $46.1m | $63.8m | $54.3m | $51.2m | $38.6m |
| Debt | $25.5m | $36.7m | $31.7m | $9.5m | $16.1m | $14.0m | $37.4m | $27.7m | $54.6m | $14.3m |
| Shareholders' equity | $46.0m | $33.5m | $25.8m | $32.0m | $26.0m | $22.2m | $32.4m | $27.2m | $22.0m | $31.3m |
| Shares outstanding | 7m | 8m | 8m | 10m | 10m | 12m | 13m | 13m | 13m | 12m |
Cash flow
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash from operations | $19.0m | $6.2m | $12.5m | $28.4m | $914,999 | $25.2m | −$4.8m | −$64,000 | $5.1m | $11.6m |
| Capital spending | −$1.6m | −$2.6m | −$2.9m | −$889,000 | −$567,999 | −$460,000 | −$367,000 | −$1.5m | −$1.0m | −$846,000 |
| Free cash flow | $17.4m | $3.6m | $9.6m | $27.6m | $347,000 | $24.7m | −$5.1m | −$1.6m | $4.0m | $10.8m |
| Dividends paid | — | — | −$43.1m | −$408,000 | −$137,000 | −$4.3m | −$12,000 | −$6,000 | −$12.2m | −$83.6m |
Latest quarters
By quarter end
| Jun 2026 | Mar 2026 | Dec 2025 | Sept 2025 | Jun 2025 | Mar 2025 | Dec 2024 | Sept 2024 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $93.8m | $83.0m | $86.5m | $70.3m | $78.2m | $84.5m | $76.9m | $60.4m |
| Gross profit | $24.1m | $21.5m | $24.3m | $19.4m | $22.3m | $22.0m | $21.6m | $17.8m |
| Operating income | $8.0m | $5.9m | $8.0m | $3.9m | $6.6m | $6.6m | $5.1m | $4.4m |
| Net income | $4.9m | $3.8m | $6.1m | $2.3m | $3.8m | $4.2m | $2.9m | $2.7m |
| Diluted earnings per share | 0.64 | 0.50 | 0.83 | 0.30 | 0.50 | 0.54 | 0.37 | 0.35 |
| Cash from operations | $10.0m | $2.0m | $11.0m | −$1.0m | −$7.0m | $16.0m | −$1.0m | −$4.0m |
| Total assets | $134.0m | $135.3m | $134.4m | $129.8m | $135.6m | $121.0m | $132.1m | $125.5m |
| Cash and short-term investments | $6.6m | $2.6m | — | $1.3m | $5.5m | $5.2m | $4.7m | $3.2m |
| Debt | $1.1m | $30.8m | $24.7m | $32.1m | $34.8m | $24.3m | $36.1m | $31.8m |
| Shareholders' equity | $48.8m | $44.3m | $46.0m | $41.4m | $37.8m | $34.6m | $33.5m | $30.0m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 3.9% | 16.3% | 5.6% |
| Operating income | -4.5% | — | 12.3% |
| Net income | -7.9% | — | 10.5% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Gross margin | 27.7% | 28.4% | 27.8% | 27.2% |
| Operating margin | 7.9% | 8.7% | 6.9% | 5.2% |
| Net margin | 5.0% | 5.9% | 4.6% | 3.5% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 9.2 | 12.9 | 14.1 | 5.9 | 6.7 | -2.7 | 9.6 | 14.4 | 39.0 | 43.2 |
| Price to sales | 0.5 | 0.6 | 0.9 | 0.4 | 0.4 | 0.2 | 0.2 | 0.2 | 0.4 | 0.4 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | -5% | -25% | 108% | 113% | 296% | -41% | -19% | -53% | 5% | 34% |
Dividends and splits
Per share, in the currency the company pays
Paid for 0 years. Last went ex-dividend on 21 Dec 2017.
| FY2017 | FY2015 | FY2014 | FY2012 | |
|---|---|---|---|---|
| Paid in the year | 1.00 | 1.00 | 2.00 | 1.00 |
- 3-to-1 reverse split · 8 Apr 1996
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.