24.69
+5.60%
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
$73.3m
FY2017FY2026
Net income
$11.3m
FY2017FY2026
Free cash flow
$9.5m
FY2017FY2026
Shareholders' equity
$129.9m
FY2017FY2026
Income statement
Fiscal years
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $73.3m | $62.0m | $56.0m | $54.1m | $53.6m | $46.3m | $60.0m | $51.1m | $111.2m | $114.6m |
| Gross profit | $22.7m | $17.6m | $16.5m | $16.5m | $17.9m | $13.2m | $18.7m | $16.2m | $26.5m | $30.0m |
| Operating income | $13.5m | $9.4m | $8.4m | $10.0m | $11.4m | $7.1m | $10.7m | $7.2m | $2.1m | $10.0m |
| Net income | $11.3m | $5.9m | $7.5m | $10.7m | $8.5m | $4.9m | $9.6m | $113.5m | $20.6m | $9.3m |
| Diluted earnings per share | 0.53 | 0.29 | 0.37 | 0.53 | 0.41 | 0.24 | 0.47 | 5.51 | 1.01 | 0.46 |
Balance sheet
At each fiscal year end
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $142.2m | $122.1m | $132.3m | $159.3m | $160.9m | $163.5m | $171.8m | $188.9m | $169.0m | $308.6m |
| Cash and short-term investments | $89.4m | $68.8m | $77.2m | $105.4m | $110.4m | $116.5m | $122.4m | $151.6m | $108.2m | $238.6m |
| Total liabilities | $12.3m | $15.0m | $19.4m | $43.4m | $25.3m | $27.6m | $30.1m | $29.8m | $33.8m | $125.8m |
| Debt | $44,000 | $40,000 | $53,000 | $53,000 | $53,000 | $33,000 | $152,000 | — | — | $72.0m |
| Shareholders' equity | $129.9m | $107.2m | $112.9m | $115.9m | $135.6m | $135.9m | $141.7m | $159.0m | $135.3m | $182.8m |
| Shares outstanding | 21m | 20m | 20m | 20m | 21m | 21m | 20m | 21m | 20m | 20m |
Cash flow
Fiscal years
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash from operations | $11.5m | $4.7m | $4.4m | $6.5m | $8.2m | $13.0m | $5.2m | $7.5m | $3.3m | $13.2m |
| Capital spending | −$2.0m | −$889,000 | −$645,000 | −$1.0m | −$4.4m | −$7.5m | −$6.8m | −$2.8m | −$886,000 | −$242,000 |
| Free cash flow | $9.5m | $3.8m | $3.8m | $5.4m | $3.8m | $5.5m | −$1.6m | $4.8m | $2.5m | $12.9m |
| Dividends paid | −$10.0m | −$10.1m | −$30.6m | −$8.2m | −$8.2m | −$8.2m | −$28.7m | −$95.1m | −$68.8m | −$8.1m |
Latest quarters
By quarter end
| Jun 2026 | Mar 2026 | Dec 2025 | Nov 2025 | Sept 2025 | Aug 2025 | Jun 2025 | Jun 2025 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $18.3m | $24.2m | $17.3m | $17.3m | $16.4m | $16.4m | $15.4m | $15.4m |
| Gross profit | $6.4m | $6.9m | $5.9m | $5.9m | $5.1m | $5.1m | $4.7m | $4.7m |
| Operating income | $4.0m | $4.6m | $3.6m | $3.6m | $2.8m | $2.8m | $2.4m | $2.4m |
| Net income | $3.5m | $3.8m | $3.0m | $3.0m | $2.4m | $2.4m | $2.1m | $2.1m |
| Diluted earnings per share | 0.17 | 0.18 | 0.15 | 0.15 | 0.12 | 0.12 | 0.10 | 0.10 |
| Cash from operations | $2.0m | $6.0m | $5.0m | — | −$2.0m | — | $1.0m | — |
| Total assets | $144.4m | $142.2m | $118.1m | $118.1m | $116.4m | $116.4m | $120.7m | $120.7m |
| Cash and short-term investments | $89.4m | $89.4m | $63.6m | $63.6m | $61.6m | $61.6m | $65.6m | $65.6m |
| Debt | $45,000 | $44,000 | $43,000 | — | $42,000 | — | $41,000 | — |
| Shareholders' equity | $131.0m | $129.9m | $106.6m | $106.6m | $105.8m | $105.8m | $105.0m | $105.0m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 10.7% | 9.6% | -6.6% |
| Operating income | 10.7% | 13.8% | -4.3% |
| Net income | 1.7% | 18.3% | -4.6% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Gross margin | 29.8% | 29.9% | 30.2% | 28.8% |
| Operating margin | 16.9% | 16.8% | 17.3% | 13.4% |
| Net margin | 12.7% | 14.4% | 14.1% | 26.5% |
Valuation history
At each fiscal year end
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 46.6 | 72.9 | 39.4 | 27.9 | 32.5 | 55.6 | 28.7 | 3.0 | 17.9 | 42.9 |
| Price to sales | 7.2 | 6.9 | 5.3 | 5.5 | 5.1 | 5.8 | 4.6 | 6.6 | 3.3 | 3.5 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | 43% | -2% | 31% | -13% | -3% | -19% | -6% | -11% | 5% | 26% |
Dividends and splits
Per share, in the currency the company pays
Paid for 37 years. Last went ex-dividend on 1 Oct 2026.
| FY2027 | FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 0.375 | 0.375 | 0.50 | 0.50 | 1.425 | 0.40 | 0.40 | 1.40 |
- 3-for-2 split · 9 Nov 2000
- 2-for-1 split · 16 Aug 1995
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.