39.88
+0.96%
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
$158.1m
FY2016FY2025
Net income
$41.6m
FY2016FY2025
Total assets
$2.66bn
FY2016FY2025
Shareholders' equity
$284.4m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue, before interest expense | $158.1m | $143.1m | $131.1m | $96.0m | $76.0m | $64.4m | $57.6m | $47.9m | $42.4m | $38.3m |
| Operating income | $51.6m | $34.8m | $37.1m | $30.3m | $26.7m | $14.5m | $14.4m | $9.2m | $6.5m | $4.4m |
| Net income | $41.6m | $27.9m | $29.5m | $24.4m | $21.3m | $11.7m | $11.5m | $7.6m | $2.4m | $3.6m |
| Diluted earnings per share | 3.12 | 2.47 | 2.62 | 2.16 | 1.89 | 1.30 | 1.28 | 0.95 | 0.60 | 0.93 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $2.66bn | $2.51bn | $2.49bn | $2.29bn | $2.14bn | $1.66bn | $1.23bn | $1.06bn | $960.7m | $909.7m |
| Cash and short-term investments | $362.6m | $594.1m | $637.3m | $619.5m | $771.0m | $451.3m | $280.0m | $273.9m | $327.9m | $306.6m |
| Total liabilities | $2.38bn | $2.32bn | $2.32bn | $2.15bn | $1.96bn | $1.53bn | $1.11bn | $956.3m | $869.4m | $817.3m |
| Debt | $24.6m | $19.6m | $19.5m | $19.4m | $22.4m | $22.3m | $3.0m | $38.6m | $23.1m | $25.0m |
| Shareholders' equity | $284.4m | $185.5m | $165.4m | $138.1m | $182.8m | $135.4m | $122.1m | $108.5m | $91.3m | $92.4m |
| Shares outstanding | 13m | 11m | 11m | 11m | 11m | 9m | 9m | 8m | 4m | 4m |
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 | $35.0m | $34.4m | $40.0m | $41.3m | $40.5m | $36.2m | $36.5m | $35.6m |
| Operating income | $14.2m | $10.4m | $13.7m | $13.0m | $13.6m | $11.3m | $9.0m | $4.0m |
| Net income | $13.7m | $11.3m | $12.4m | $10.0m | $10.5m | $8.7m | $7.2m | $3.2m |
| Diluted earnings per share | 1.02 | 0.84 | 0.93 | 0.75 | 0.78 | 0.65 | 0.63 | 0.28 |
| Total assets | $2.80bn | $2.71bn | $2.66bn | $2.64bn | $2.61bn | $2.56bn | $2.51bn | $2.52bn |
| Cash and short-term investments | $730.8m | $416.5m | $362.6m | $291.9m | $586.4m | $287.3m | $594.1m | $630.4m |
| Debt | — | $34.6m | $35.5m | $57.0m | $50.6m | $50.1m | $143.1m | $161.6m |
| Shareholders' equity | $306.6m | $291.7m | $284.4m | $270.1m | $252.6m | $201.3m | $185.5m | $193.1m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 18.1% | 19.7% | 16.7% |
| Operating income | 19.4% | 28.8% | — |
| Net income | 19.5% | 28.9% | — |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Operating margin | 28.7% | 29.1% | 29.2% | 25.6% |
| Net margin | 23.1% | 23.3% | 23.4% | 20.4% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 9.2 | 11.3 | 11.5 | 10.8 | 10.7 | 10.5 | 11.5 | 14.3 | 11.7 | 6.3 |
| Price to sales | 2.4 | 2.2 | 2.6 | 2.7 | 3.0 | 1.9 | 2.3 | 2.3 | 0.7 | 0.6 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | 10% | -5% | 21% | 23% | 43% | -9% | 7% | 95% | 23% | -6% |
Dividends and splits
Per share, in the currency the company pays
Paid for 5 years. Last went ex-dividend on 4 Sept 2026.
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | |
|---|---|---|---|---|---|---|
| Paid in the year | 0.36 | 0.57 | 0.47 | 0.46 | 0.415 | 0.20 |
- 2-for-1 split · 13 Jan 2025
- 2-for-1 split · 26 Feb 2018
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.