120.23
+1.80%
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
$372.7m
FY2016FY2025
Net income
$134.3m
FY2016FY2025
Free cash flow
$102.3m
FY2016FY2025
Shareholders' equity
$630.8m
FY2016FY2025
Income statement
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $372.7m | $317.7m | $281.3m | $236.2m | $189.3m | $160.7m | $158.3m | $144.4m | $144.8m | $139.3m |
| Gross profit | $182.1m | $144.0m | $102.9m | $70.3m | $59.3m | $47.6m | $41.7m | $30.5m | $34.4m | $33.1m |
| Operating income | $157.9m | $124.9m | $85.4m | $54.8m | $46.4m | $33.9m | $29.2m | $20.0m | $24.2m | $23.7m |
| Net income | $134.3m | $108.8m | $74.5m | $45.4m | $37.0m | $28.2m | $26.1m | $19.7m | $27.1m | $17.8m |
| Diluted earnings per share | 4.67 | 3.79 | 2.61 | 1.60 | 1.31 | 1.00 | 0.93 | 0.70 | 0.97 | 0.64 |
Balance sheet
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $681.0m | $543.2m | $440.6m | $367.8m | $316.2m | $279.9m | $248.5m | $244.7m | $228.4m | $210.2m |
| Cash and short-term investments | $371.1m | $278.0m | $188.0m | $133.4m | $105.4m | $83.6m | $54.3m | $67.2m | $85.0m | $74.7m |
| Total liabilities | $50.3m | $45.4m | $47.5m | $46.7m | $38.0m | $36.7m | $31.4m | $21.7m | $23.2m | $30.5m |
| Debt | $1.6m | — | — | — | — | — | — | — | — | — |
| Shareholders' equity | $630.8m | $497.7m | $393.1m | $321.1m | $278.2m | $243.2m | $217.1m | $223.0m | $205.3m | $179.6m |
| Shares outstanding | 29m | 29m | 29m | 28m | 28m | 28m | 28m | 28m | 28m | 28m |
Cash flow
Fiscal years
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash from operations | $165.0m | $126.0m | $92.3m | $64.4m | $55.7m | $58.6m | $47.0m | $38.7m | $34.3m | $37.8m |
| Capital spending | −$62.7m | −$27.4m | −$34.3m | −$26.8m | −$29.9m | −$17.1m | −$27.1m | −$53.8m | −$21.3m | −$17.7m |
| Free cash flow | $102.3m | $98.6m | $58.0m | $37.5m | $25.8m | $41.4m | $19.9m | −$15.0m | $12.9m | $20.2m |
| Dividends paid | −$6.9m | −$5.7m | −$4.6m | −$4.5m | −$3.6m | −$3.6m | −$33.1m | −$3.0m | −$3.0m | −$2.8m |
Latest quarters
By quarter end
| Jun 2026 | Mar 2026 | Dec 2025 | Sept 2025 | Jun 2025 | Mar 2025 | Dec 2024 | Sept 2024 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $99.1m | $87.8m | $87.9m | $102.0m | $91.5m | $91.3m | $80.1m | $89.4m |
| Gross profit | $46.7m | $41.8m | $42.1m | $52.1m | $41.8m | $46.1m | $35.4m | $43.1m |
| Operating income | $40.7m | $35.8m | $36.0m | $46.3m | $35.7m | $39.9m | $31.1m | $38.1m |
| Net income | $34.5m | $30.6m | $30.5m | $38.8m | $30.8m | $34.1m | $27.0m | $33.4m |
| Diluted earnings per share | 1.20 | 1.06 | 1.06 | 1.35 | 1.07 | 1.19 | 0.94 | 1.16 |
| Cash from operations | $39.0m | $32.0m | $45.0m | $45.0m | $34.0m | $39.0m | $38.0m | $39.0m |
| Capital spending | −$17.0m | −$18.0m | −$19.0m | −$14.0m | −$13.0m | −$14.0m | −$11.0m | −$5.0m |
| Free cash flow | $22.0m | $14.0m | $26.0m | $31.0m | $21.0m | $25.0m | $27.0m | $34.0m |
| Total assets | $747.4m | $713.8m | $681.0m | $652.8m | $607.4m | $585.3m | $543.2m | $521.8m |
| Cash and short-term investments | $402.6m | $383.2m | $371.1m | $349.5m | $319.9m | $300.6m | $278.0m | $255.0m |
| Debt | $1.6m | $1.6m | $1.6m | $1.6m | $1.6m | $1.6m | $1.6m | $1.5m |
| Shareholders' equity | $695.7m | $661.2m | $630.8m | $602.3m | $563.3m | $532.2m | $497.7m | $474.2m |
Financial ratios
Data as of 24 Oct 2026
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | |
|---|---|---|---|---|---|---|---|---|---|
| Gross margin | 48.8% | 45.3% | 36.6% | 29.8% | 31.3% | 29.6% | — | — | — |
| Operating margin | 45.9% | 42.9% | 33.2% | 24.1% | 24.7% | 21.4% | — | — | — |
| Net margin | 36.0% | 34.3% | 26.5% | 19.2% | 19.6% | 17.6% | — | — | — |
| Return on equity | 21.3% | 21.9% | 19.0% | 14.1% | 13.3% | 11.6% | — | — | — |
| Return on assets | 19.7% | 20.0% | 16.9% | 12.4% | 11.7% | 10.1% | — | — | — |
| Free cash flow yield | 7.1% | 4.8% | 4.0% | 2.9% | 2.7% | 2.4% | — | — | — |
| Revenue growth | 17.3% | 12.9% | 19.1% | 24.8% | 17.8% | 1.5% | — | — | — |
| Earnings growth | 23.4% | 46.0% | 64.1% | 22.6% | 31.3% | 8.3% | — | — | — |
| Current ratio | 19.27x | 20.92x | 14.58x | 12.23x | 13.45x | 10.70x | — | — | — |
| Debt to equity | 0.00x | 0.00x | 0.00x | 0.00x | 0.00x | 0.00x | — | — | — |
| Equity ratio | 92.6% | 91.6% | 89.2% | 87.3% | 88.0% | 86.9% | — | — | — |
| Interest coverage | — | — | — | 223.69x | 187.07x | 138.39x | 127.64x | 89.76x | 104.50x |
| Buybacks as a share of market value | -0.1% | -0.5% | -0.5% | -0.3% | -0.4% | -0.4% | — | — | — |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 16.4% | 18.3% | 11.0% |
| Operating income | 42.3% | 36.0% | 23.5% |
| Net income | 43.5% | 36.6% | 26.4% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Gross margin | 47.2% | 41.3% | 38.9% | 34.0% |
| Operating margin | 41.0% | 35.0% | 32.3% | 27.2% |
| Net margin | 35.2% | 30.1% | 27.5% | 23.4% |
Valuation history
At each fiscal year end
| FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | FY2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 25.6 | 35.0 | 17.6 | 17.6 | 19.7 | 22.8 | 19.5 | 19.2 | 15.1 | 22.5 |
| Price to sales | 9.2 | 12.0 | 4.7 | 3.4 | 3.9 | 4.0 | 3.2 | 2.6 | 2.8 | 2.9 |
Market value over time
30 Nov 2016 to 23 Oct 2026, in USD
$80.8m$3.21bn
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | -5% | 192% | 63% | 15% | 8% | 26% | 36% | -5% | -4% | 40% |
Dividends and splits
Per share, in the currency the company pays
Paid for 12 years. Last went ex-dividend on 20 Nov 2026.
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 0.24 | 0.24 | 0.20 | 0.16 | 0.16 | 0.128 | 0.128 | 1.178 |
- 5-for-1 split · 15 Jul 2024
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.