19.78
+0.97%
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
$124.2m
FY2016FY2025
Net income
$23.1m
FY2016FY2025
Total assets
$2.24bn
FY2016FY2025
Shareholders' equity
$273.9m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue, before interest expense | $124.2m | $125.4m | $95.0m | $80.0m | $76.0m | $78.5m | $77.0m | $65.1m | $54.3m | $53.9m |
| Operating income | $28.2m | $16.0m | $15.3m | $26.9m | $25.6m | $24.2m | $23.0m | $17.8m | $17.2m | $16.9m |
| Net income | $23.1m | $13.5m | $12.6m | $22.1m | $21.0m | $20.1m | $18.9m | $14.8m | $13.0m | $12.5m |
| Diluted earnings per share | 1.64 | 0.96 | 1.02 | 1.97 | 1.70 | 1.56 | 1.46 | 1.12 | 1.29 | 1.25 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $2.24bn | $2.31bn | $2.29bn | $1.92bn | $1.90bn | $1.75bn | $1.64bn | $1.64bn | $1.30bn | $1.31bn |
| Cash and short-term investments | $250.6m | $134.9m | $316.3m | $312.6m | $326.3m | $241.2m | $198.8m | $259.5m | $300.6m | $339.5m |
| Total liabilities | $1.97bn | $2.05bn | $2.06bn | $1.72bn | $1.67bn | $1.51bn | $1.41bn | $1.42bn | $1.15bn | $1.16bn |
| Debt | $9.4m | $10.2m | $33.5m | $71.5m | — | — | — | $4.2m | — | $17.0m |
| Shareholders' equity | $273.9m | $253.0m | $235.3m | $200.7m | $238.6m | $240.8m | $228.0m | $219.0m | $150.3m | $142.9m |
| Shares outstanding | 14m | 14m | 12m | 11m | 12m | 13m | 13m | 13m | 10m | 10m |
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 | $31.7m | $30.1m | $30.8m | $32.0m | $31.2m | $30.5m | $32.9m | $32.8m |
| Operating income | $9.7m | $5.3m | $7.0m | $8.5m | $7.2m | $5.5m | $7.5m | $5.3m |
| Net income | $7.5m | $4.4m | $5.7m | $6.9m | $5.9m | $4.6m | $6.1m | $4.5m |
| Diluted earnings per share | 0.53 | 0.31 | 0.40 | 0.49 | 0.42 | 0.33 | 0.43 | 0.32 |
| Total assets | $2.22bn | $2.24bn | $2.24bn | $2.24bn | $2.31bn | $2.30bn | $2.31bn | $2.35bn |
| Cash and short-term investments | $234.9m | $23.1m | $250.6m | $131.1m | $303.1m | $132.0m | $134.9m | $302.0m |
| Debt | — | $130.4m | $104.4m | $130.9m | $105.0m | $104.6m | $155.2m | $155.7m |
| Shareholders' equity | $280.6m | $275.8m | $273.9m | $269.9m | $263.5m | $258.7m | $253.0m | $253.2m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 6.8% | 5.3% | 6.5% |
| Operating income | 1.5% | 3.1% | 6.0% |
| Net income | 1.5% | 2.9% | 7.3% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Operating margin | 17.7% | 20.3% | 23.5% | 25.7% |
| Net margin | 14.7% | 16.8% | 19.4% | 20.8% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 10.0 | 15.8 | 15.5 | 9.1 | 11.5 | 9.4 | 13.2 | 13.6 | 15.8 | 18.6 |
| Price to sales | 2.5 | 2.6 | 2.7 | 2.7 | 3.4 | 2.7 | 3.8 | 3.4 | 4.0 | 4.6 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | 11% | -4% | -3% | -11% | 30% | -25% | 26% | -24% | -16% | 50% |
Dividends and splits
Per share, in the currency the company pays
Paid for 26 years. Last went ex-dividend on 1 Sept 2026.
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 0.66 | 0.88 | 0.88 | 0.85 | 0.81 | 0.77 | 0.73 | 0.69 |
- 2-for-1 split · 11 May 2007
- 2-for-1 split · 3 May 2004
- 10-for-1 split · 1 Jun 1999
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.