29.20
+0.65%
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
$157.4m
FY2016FY2025
Net income
$44.4m
FY2016FY2025
Total assets
$2.06bn
FY2016FY2025
Shareholders' equity
$351.7m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue, before interest expense | $157.4m | $159.8m | $133.7m | $73.6m | $50.8m | $51.6m | $57.7m | $50.5m | $40.0m | $30.8m |
| Operating income | $62.3m | $65.8m | $64.7m | $34.4m | $15.6m | $15.6m | $17.1m | $16.8m | $14.5m | $8.1m |
| Net income | $44.4m | $47.1m | $46.3m | $24.8m | $11.9m | $12.3m | $13.0m | $13.0m | $8.1m | $5.0m |
| Diluted earnings per share | 3.25 | 3.47 | 3.13 | 1.62 | 0.77 | 0.76 | 0.80 | 0.81 | 0.49 | 0.31 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $2.06bn | $2.01bn | $1.76bn | $1.42bn | $1.23bn | $968.2m | $955.2m | $871.7m | $815.5m | $734.8m |
| Cash and short-term investments | $81.3m | $78.4m | $68.8m | $95.4m | $152.4m | $69.3m | $127.8m | $60.2m | $50.7m | $47.8m |
| Total liabilities | $1.71bn | $1.69bn | $1.48bn | $1.16bn | $973.7m | $814.4m | $813.1m | $740.7m | $698.6m | $625.3m |
| Debt | $434,000 | $609,000 | $50.6m | $500,000 | $500,000 | $500,000 | $400,000 | $42.5m | $62.9m | $70.2m |
| Shareholders' equity | $351.7m | $318.3m | $279.3m | $262.0m | $251.4m | $153.8m | $142.1m | $129.6m | $116.9m | $109.5m |
| Shares outstanding | 14m | 14m | 15m | 15m | 16m | 16m | 16m | 16m | 16m | 16m |
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 | $36.7m | $36.8m | $39.3m | $39.5m | $38.1m | $39.4m | $40.0m | $41.7m |
| Operating income | $13.8m | $14.1m | $15.6m | $16.6m | $15.4m | $14.6m | $14.5m | $17.6m |
| Net income | $9.8m | $10.0m | $10.8m | $11.9m | $11.2m | $10.6m | $10.2m | $12.7m |
| Diluted earnings per share | 0.72 | 0.74 | 0.79 | 0.87 | 0.82 | 0.77 | 0.75 | 0.93 |
| Total assets | $2.12bn | $2.03bn | $2.06bn | $2.06bn | $1.97bn | $1.93bn | $2.01bn | $1.97bn |
| Cash and short-term investments | $9.5m | $76.3m | $81.3m | $64.4m | $59.5m | $89.6m | $78.4m | $97.9m |
| Debt | $190.0m | $20.0m | $70.0m | $170.0m | $135.0m | — | $768,000 | $7.0m |
| Shareholders' equity | $362.6m | $356.3m | $351.7m | $344.0m | $336.7m | $327.2m | $318.3m | $309.6m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 28.8% | 25.0% | 20.6% |
| Operating income | 21.8% | 31.9% | 33.2% |
| Net income | 21.4% | 29.2% | 34.2% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Operating margin | 40.4% | 43.3% | 41.2% | 38.4% |
| Net margin | 28.8% | 31.0% | 29.8% | 27.5% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 7.0 | 7.1 | 5.7 | 9.2 | 14.5 | 11.6 | 9.6 | 8.8 | 13.1 | 16.5 |
| Price to sales | 2.0 | 2.1 | 2.0 | 3.1 | 3.4 | 2.8 | 2.2 | 2.3 | 2.6 | 2.7 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | -7% | 44% | 21% | 34% | 22% | 19% | 7% | 8% | 32% | 7% |
Dividends and splits
Per share, in the currency the company pays
Paid for 19 years. Last went ex-dividend on 9 Oct 2026.
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 0.70 | 1.00 | 0.65 | 0.24 | 0.42 | 0.202 | 0.09 | 0.09 |
- 1.34-for-1 split · 13 Jul 2021
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.