30.37
+1.10%
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
$209.4m
FY2016FY2025
Net income
$37.5m
FY2016FY2025
Total assets
$3.28bn
FY2016FY2025
Shareholders' equity
$390.0m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue, before interest expense | $209.4m | $191.9m | $161.9m | $116.3m | $99.9m | $91.5m | $104.8m | $94.2m | $79.2m | $65.9m |
| Operating income | $52.5m | $36.3m | $43.3m | $49.4m | $57.0m | $23.0m | $34.4m | $34.7m | $31.3m | $24.4m |
| Net income | $37.5m | $25.8m | $30.7m | $35.0m | $40.1m | $16.2m | $24.1m | $24.3m | $16.4m | $14.0m |
| Diluted earnings per share | 2.63 | 1.80 | 2.14 | 2.35 | 2.66 | 1.05 | 1.51 | 1.50 | 1.21 | 1.04 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $3.28bn | $3.06bn | $2.79bn | $2.42bn | $2.15bn | $1.92bn | $1.75bn | $1.70bn | $1.44bn | $1.23bn |
| Cash and short-term investments | $185.3m | $345.1m | $385.7m | $288.9m | $326.5m | $314.6m | $243.8m | $309.3m | $203.3m | $152.8m |
| Total liabilities | $2.89bn | $2.70bn | $2.44bn | $2.08bn | $1.89bn | $1.69bn | $1.52bn | $1.49bn | $1.30bn | $1.10bn |
| Debt | $53.0m | $15.0m | — | — | — | — | — | — | — | — |
| Shareholders' equity | $390.0m | $363.8m | $348.9m | $335.4m | $256.3m | $233.8m | $226.8m | $210.3m | $142.2m | $127.0m |
| Shares outstanding | 14m | 14m | 14m | 15m | 15m | 15m | 16m | 16m | 14m | 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 | $53.2m | $52.2m | $52.4m | $54.9m | $52.6m | $49.5m | $49.4m | $48.6m |
| Operating income | $14.7m | $14.9m | $13.1m | $15.9m | $12.7m | $10.8m | $10.3m | $10.7m |
| Net income | $10.5m | $10.7m | $9.2m | $11.4m | $9.1m | $7.7m | $7.0m | $7.8m |
| Diluted earnings per share | 0.74 | 0.75 | 0.65 | 0.80 | 0.64 | 0.54 | 0.49 | 0.54 |
| Total assets | $3.47bn | $3.40bn | $3.28bn | $3.36bn | $3.31bn | $3.22bn | $3.06bn | $2.89bn |
| Cash and short-term investments | $30.9m | $195.3m | $367.2m | $519.8m | $418.2m | $362.5m | $345.1m | $340.7m |
| Debt | $90.0m | $102.6m | $53.0m | $19.0m | $91.9m | $62.7m | $15.0m | $862,000 |
| Shareholders' equity | $400.5m | $396.7m | $390.0m | $384.5m | $376.5m | $406.6m | $363.8m | $362.3m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 21.7% | 18.0% | 14.1% |
| Operating income | 2.0% | 17.9% | 9.5% |
| Net income | 2.3% | 18.3% | 11.9% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Operating margin | 22.1% | 26.7% | 30.0% | 32.1% |
| Net margin | 15.8% | 19.0% | 21.3% | 21.7% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 8.2 | 11.3 | 8.6 | 7.5 | 8.3 | 9.6 | 11.4 | 10.5 | 12.8 | 12.5 |
| Price to sales | 1.5 | 1.5 | 1.6 | 2.3 | 3.3 | 1.7 | 2.6 | 2.7 | 2.7 | 2.7 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | 18% | 9% | 4% | -17% | 105% | -40% | 26% | -8% | 29% | 14% |
Dividends and splits
Per share, in the currency the company pays
Paid for 11 years. Last went ex-dividend on 13 Nov 2026.
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 0.88 | 0.80 | 0.72 | 0.69 | 0.60 | 0.44 | 0.40 | 0.25 |
- 11-for-10 split · 28 Dec 2016
- 11-for-10 split · 25 Feb 2015
- 3-to-1 reverse split · 19 Mar 2014
- 2-for-1 split · 30 Mar 2007
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.