S
60.82
+2.62%
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
$224.6m
FY2016FY2025
Net income
$30.4m
FY2016FY2025
Total assets
$4.40bn
FY2016FY2025
Shareholders' equity
$368.7m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue, before interest expense | $224.6m | $213.3m | $187.5m | $127.6m | $110.3m | $122.2m | $102.7m | $82.7m | $70.5m | $62.0m |
| Operating income | $39.6m | $19.9m | $17.4m | $38.1m | $60.8m | $23.8m | $35.5m | $28.7m | $23.7m | $20.4m |
| Net income | $30.4m | $15.5m | $13.4m | $29.1m | $46.7m | $18.3m | $27.9m | $22.3m | $13.0m | $13.0m |
| Diluted earnings per share | 3.74 | 1.91 | 1.66 | 3.61 | 5.80 | 2.34 | 3.56 | 2.88 | 1.69 | 1.92 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $4.40bn | $4.09bn | $4.06bn | $3.69bn | $2.93bn | $2.48bn | $2.27bn | $1.90bn | $1.62bn | $1.34bn |
| Cash and short-term investments | $86.1m | $34.9m | $46.3m | $165.1m | $162.0m | $88.1m | $121.8m | $111.9m | $110.6m | $87.0m |
| Total liabilities | $4.03bn | $3.76bn | $3.74bn | $211.2m | $36.1m | $36.0m | $35.9m | $1.73bn | $1.47bn | $1.23bn |
| Debt | $24.9m | $24.9m | $36.3m | $36.2m | $36.1m | $36.0m | $35.9m | $13.4m | $20.6m | $32.6m |
| Shareholders' equity | $368.7m | $330.4m | $312.5m | $3.48bn | $2.89bn | $2.45bn | $2.23bn | $173.9m | $149.7m | $109.9m |
| Shares outstanding | 8m | 8m | 8m | 8m | 8m | 8m | 8m | 8m | 8m | 7m |
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 | $61.6m | $33.8m | $57.6m | $58.6m | $55.7m | $52.8m | $53.9m | $54.3m |
| Operating income | $14.5m | $12.5m | $12.8m | $11.3m | $8.6m | $6.9m | $6.9m | $5.7m |
| Net income | $11.2m | $9.9m | $9.9m | $8.7m | $6.6m | $5.3m | $5.6m | $4.4m |
| Diluted earnings per share | 1.20 | 1.06 | 1.21 | 1.07 | 0.81 | 0.65 | 0.69 | 0.54 |
| Total assets | $4.70bn | $4.58bn | $4.40bn | $4.36bn | $4.31bn | $4.28bn | $4.09bn | $4.17bn |
| Cash and short-term investments | $30.1m | $114.6m | $86.1m | $104.8m | $90.7m | $41.9m | $34.9m | $169.1m |
| Debt | — | $264.9m | $267.1m | $264.9m | $266.0m | $266.5m | $267.1m | $265.4m |
| Shareholders' equity | $452.3m | $379.4m | $368.7m | $356.3m | $345.5m | $337.6m | $330.4m | $326.5m |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 3.2% | 2.0% | 9.7% |
| Operating income | 1.3% | 10.7% | 9.8% |
| Net income | 1.4% | 10.6% | 11.6% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Operating margin | 13.6% | 15.3% | 20.3% | 23.8% |
| Net margin | 10.5% | 11.7% | 15.6% | 17.7% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 13.8 | 20.8 | 22.3 | 12.7 | 10.8 | 15.1 | 7.4 | 6.9 | 15.1 | 11.6 |
| Price to sales | 3.5 | 3.5 | 3.4 | 3.4 | 4.8 | 2.6 | 2.7 | 2.3 | 3.3 | 2.8 |
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | 39% | 15% | -22% | -27% | 71% | 33% | 39% | -26% | 16% | 59% |
Dividends and splits
Per share, in the currency the company pays
Paid for 0 years.
- 11-for-10 split · 30 Jan 2013
- 11-for-10 split · 1 Feb 2012
- 11-for-10 split · 26 Jan 2011
- 11-for-10 split · 20 Jul 2006
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.