43.21
+0.05%
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, before interest expense
$83.4m
FY2016FY2025
Net income
$19.8m
FY2016FY2025
Total assets
$1.37bn
FY2016FY2025
Shareholders' equity
$126.9m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue, before interest expense | $83.4m | $70.7m | $59.3m | $46.9m | $43.1m | $40.4m | $38.5m | $34.5m | $32.1m | $30.1m |
| Operating income | $25.1m | $19.9m | $19.3m | $16.5m | $14.3m | $12.6m | $11.7m | $11.2m | $10.1m | $9.4m |
| Net income | $19.8m | $15.9m | $15.4m | $13.2m | $11.5m | $10.2m | $9.5m | $9.1m | $6.1m | $6.5m |
| Diluted earnings per share | 4.46 | 3.56 | 3.42 | 2.93 | 2.55 | 2.29 | 2.09 | 1.81 | 1.19 | 1.27 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $1.37bn | $1.22bn | $1.16bn | $1.12bn | $1.04bn | $870.8m | $711.9m | $643.9m | $595.4m | $568.6m |
| Cash and short-term investments | $22.7m | $62.6m | $91.7m | $97.3m | $269.3m | $175.0m | $37.6m | $42.2m | $32.3m | $54.2m |
| Total liabilities | $1.24bn | $1.11bn | $1.06bn | $1.04bn | $956.1m | $794.0m | $643.2m | $572.6m | $527.5m | $504.8m |
| Debt | $247,000 | $790,000 | $1.5m | $254,618 | $258,740 | $206,698 | — | — | — | — |
| Shareholders' equity | $126.9m | $109.4m | $98.7m | $85.7m | $84.4m | $76.8m | $68.7m | $71.3m | $67.8m | $63.9m |
| Shares outstanding | 4m | 4m | 4m | 5m | 5m | 4m | 5m | 5m | 5m | 5m |
Latest quarters
By quarter end
| Jun 2026 | Mar 2026 | Dec 2025 | Sept 2025 | Jun 2025 | Mar 2025 | Dec 2024 | Sept 2024 | |
|---|---|---|---|---|---|---|---|---|
| Revenue, before interest expense | $22.9m | $21.4m | $22.3m | $21.3m | $20.6m | $19.2m | $16.4m | $19.5m |
| Operating income | $8.0m | $6.6m | $6.7m | $6.6m | $6.0m | $5.8m | $5.6m | $5.7m |
| Net income | $6.3m | $5.3m | $5.2m | $5.3m | $4.7m | $4.6m | $3.3m | $5.7m |
| Diluted earnings per share | 1.42 | 1.19 | 1.17 | 1.19 | 1.07 | 1.03 | 0.74 | 1.27 |
| Total assets | $1.42bn | $1.40bn | $1.37bn | $1.32bn | $1.29bn | $1.28bn | $1.22bn | $1.21bn |
| Cash and short-term investments | $14.7m | $14.2m | $22.7m | $14.0m | $63.9m | $99.6m | $62.6m | $59.2m |
| Debt | — | — | — | — | — | — | $219,000 | — |
| Shareholders' equity | $136.0m | $131.6m | $126.9m | $123.2m | $116.6m | $114.8m | $109.4m | $108.8m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 21.1% | 15.6% | 11.1% |
| Operating income | 15.0% | 14.8% | 10.7% |
| Net income | 14.4% | 14.2% | 12.1% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Operating margin | 29.2% | 31.0% | 31.3% | 31.3% |
| Net margin | 23.2% | 24.7% | 25.0% | 24.3% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 7.5 | 7.3 | 6.7 | 7.7 | 9.5 | 7.2 | 9.2 | 11.2 | 16.9 | 12.7 |
| Price to sales | 1.8 | 1.6 | 1.7 | 2.2 | 2.5 | 1.8 | 2.3 | 3.0 | 3.2 | 2.7 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | 32% | 8% | 12% | -9% | 39% | -14% | -5% | 1% | 39% | 11% |
Dividends and splits
Per share, in the currency the company pays
Paid for 31 years. Last went ex-dividend on 5 Dec 2025.
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 1.36 | 0.86 | 0.80 | 0.73 | 0.68 | 0.66 | 0.60 | 0.52 |
- 2-for-1 split · 19 Nov 2014
- 1-to-1 reverse split · 18 Apr 2005
- 2-for-1 split · 3 Nov 1997
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.