14.93
+1.15%
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
$166.7m
FY2016FY2025
Net income
$25.7m
FY2016FY2025
Total assets
$2.65bn
FY2016FY2025
Shareholders' equity
$227.9m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue, before interest expense | $166.7m | $154.0m | $135.8m | $105.8m | $80.2m | $64.4m | $70.2m | $59.4m | $49.3m | $40.7m |
| Operating income | $35.3m | $29.1m | $33.5m | $46.7m | $40.7m | $18.2m | $22.1m | $19.5m | $17.1m | $12.3m |
| Net income | $25.7m | $21.1m | $23.9m | $33.3m | $28.8m | $13.1m | $16.8m | $14.3m | $9.2m | $7.4m |
| Diluted earnings per share | 1.72 | 1.42 | 1.59 | 2.18 | 1.89 | 0.87 | 1.05 | 0.88 | 0.70 | 0.56 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $2.65bn | $2.37bn | $2.15bn | $2.09bn | $1.73bn | $1.37bn | $1.18bn | $1.04bn | $901.0m | $761.3m |
| Cash and short-term investments | $434.0m | $135.1m | $285.6m | $292.8m | $265.9m | $198.1m | $142.6m | $133.1m | $104.7m | $55.6m |
| Total liabilities | $2.42bn | $2.16bn | $1.96bn | $1.92bn | $1.56bn | $1.22bn | $1.04bn | $914.4m | $809.5m | $680.0m |
| Debt | $24.6m | — | — | — | — | — | — | — | — | — |
| Shareholders' equity | $227.9m | $205.0m | $192.6m | $176.9m | $165.2m | $143.4m | $140.6m | $129.8m | $91.5m | $81.3m |
| Shares outstanding | 15m | 15m | 15m | 15m | 15m | 15m | 16m | 16m | 13m | 13m |
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 | $43.8m | $42.6m | $42.7m | $42.7m | $41.6m | $39.7m | $39.5m | $39.5m |
| Operating income | $11.0m | $9.9m | $9.5m | $9.7m | $8.4m | $7.7m | $6.7m | $7.6m |
| Net income | $8.0m | $7.2m | $7.1m | $6.7m | $6.3m | $5.6m | $5.0m | $5.4m |
| Diluted earnings per share | 0.53 | 0.48 | 0.47 | 0.45 | 0.42 | 0.37 | 0.34 | 0.37 |
| Total assets | $2.74bn | $2.70bn | $2.65bn | $2.61bn | $2.56bn | $2.51bn | $2.37bn | $2.39bn |
| Cash and short-term investments | $224.3m | $169.8m | $434.0m | $166.9m | $205.5m | $199.0m | $135.1m | $366.2m |
| Debt | $99.6m | $99.6m | $99.6m | $86.8m | $62.2m | $77.0m | $192.0m | $77.1m |
| Shareholders' equity | $238.6m | $232.7m | $227.9m | $221.5m | $213.7m | $210.1m | $205.0m | $203.6m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 16.3% | 20.9% | 17.5% |
| Operating income | -8.9% | 14.1% | 13.3% |
| Net income | -8.3% | 14.3% | 15.7% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Operating margin | 20.1% | 25.7% | 28.8% | 29.7% |
| Net margin | 14.6% | 18.5% | 20.6% | 20.8% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 8.2 | 11.1 | 6.9 | 5.1 | 6.7 | 8.9 | 9.8 | 10.1 | 13.9 | 13.9 |
| Price to sales | 1.3 | 1.5 | 1.2 | 1.6 | 2.4 | 1.8 | 2.4 | 2.4 | 2.6 | 2.5 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | -4% | 43% | -3% | -9% | 60% | -22% | 19% | -13% | 29% | 16% |
Dividends and splits
Per share, in the currency the company pays
Paid for 7 years. Last went ex-dividend on 5 Nov 2026.
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 0.54 | 0.48 | 0.48 | 0.48 | 0.44 | 0.34 | 0.28 | 0.20 |
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.