223.56
+0.89%
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
$688.0m
FY2017FY2026
Net income
$82.3m
FY2017FY2026
Free cash flow
$97.6m
FY2017FY2026
Shareholders' equity
$273.0m
FY2017FY2026
Income statement
Fiscal years
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $688.0m | $620.0m | $590.6m | $537.3m | $518.8m | $488.1m | $408.5m | $423.4m | $408.5m | $380.5m |
| Gross profit | $380.5m | $341.3m | $315.2m | $274.2m | $254.8m | $263.7m | $223.0m | $232.3m | $225.3m | $213.9m |
| Research and development | — | — | $8.0m | $6.2m | $5.1m | $5.6m | $6.0m | $6.5m | $7.0m | $8.4m |
| Operating income | $108.9m | $103.8m | $96.4m | $89.7m | $87.3m | $88.8m | $77.2m | $82.4m | $78.6m | $75.9m |
| Net income | $82.3m | $91.0m | $69.6m | $66.0m | $67.3m | $70.2m | $60.7m | $55.9m | $65.2m | $52.9m |
| Diluted earnings per share | 6.12 | 6.72 | 5.13 | 4.86 | 4.95 | 5.11 | 4.43 | 4.07 | 4.70 | 3.78 |
Balance sheet
At each fiscal year end
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Total assets | $494.4m | $475.8m | $449.0m | $438.0m | $434.3m | $430.2m | $362.6m | $302.7m | $317.1m | $369.7m |
| Cash and short-term investments | $70.6m | $58.1m | $46.7m | $48.1m | $37.8m | $86.0m | $56.5m | $27.2m | $49.1m | $117.2m |
| Total liabilities | $221.4m | $207.7m | $218.5m | $227.8m | $245.7m | $229.8m | $202.3m | $157.2m | $161.6m | $230.3m |
| Debt | $97.2m | $97.7m | $102.8m | $128.5m | $154.0m | $131.8m | $122.3m | $81.4m | $86.4m | $154.0m |
| Shareholders' equity | $273.0m | $268.2m | $230.5m | $210.2m | $188.6m | $200.4m | $160.3m | $145.5m | $155.5m | $139.4m |
| Shares outstanding | 13m | 14m | 14m | 14m | 14m | 14m | 14m | 14m | 14m | 14m |
Cash flow
Fiscal years
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash from operations | $105.0m | $87.9m | $92.0m | $98.4m | $2.6m | $84.7m | $72.7m | $62.9m | $64.8m | $52.3m |
| Capital spending | −$7.4m | −$4.5m | −$4.2m | −$6.9m | −$8.3m | −$15.1m | −$19.3m | −$13.3m | −$12.5m | −$20.1m |
| Free cash flow | $97.6m | $83.4m | $87.8m | $91.5m | −$5.7m | $69.7m | $53.4m | $49.6m | $52.3m | $32.2m |
| Dividends paid | −$54.0m | −$50.3m | −$47.2m | −$44.6m | −$42.0m | −$38.2m | −$36.0m | −$32.9m | −$29.6m | −$26.8m |
Latest quarters
By quarter end
| Aug 2026 | May 2026 | Feb 2026 | Nov 2025 | Aug 2025 | May 2025 | Feb 2025 | Nov 2024 | |
|---|---|---|---|---|---|---|---|---|
| Revenue | $176.8m | $195.1m | $161.7m | $154.4m | $163.5m | $156.9m | $146.1m | $153.5m |
| Gross profit | $93.3m | $110.4m | $89.9m | $86.8m | $89.4m | $88.1m | $79.7m | $84.1m |
| Operating income | $19.1m | $40.3m | $26.3m | $23.3m | $28.0m | $27.4m | $23.3m | $25.1m |
| Net income | $14.4m | $30.2m | $20.3m | $17.5m | $21.2m | $21.0m | $29.9m | $18.9m |
| Diluted earnings per share | 1.07 | 2.25 | 1.51 | 1.29 | 1.57 | 1.55 | 2.20 | 1.39 |
| Cash from operations | $50.0m | $30.0m | $14.0m | $9.0m | $29.0m | $35.0m | $7.0m | $14.0m |
| Capital spending | −$3.0m | −$1.0m | −$1.0m | — | −$1.0m | −$1.0m | −$1.0m | — |
| Free cash flow | $47.0m | $29.0m | $13.0m | — | $28.0m | $34.0m | $6.0m | — |
| Total assets | $494.4m | $499.8m | $473.7m | $459.7m | $475.8m | $456.0m | $458.3m | $447.3m |
| Cash and short-term investments | $70.6m | $59.1m | $50.3m | $48.6m | $58.1m | $51.7m | $53.0m | $54.9m |
| Debt | $800,000 | $104.1m | $103.6m | $93.4m | $89.3m | $98.0m | $117.4m | $110.1m |
| Shareholders' equity | $273.0m | $278.7m | $269.0m | $264.1m | $268.2m | $257.1m | $242.1m | $226.3m |
Financial ratios
Data as of 23 Oct 2026
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | |
|---|---|---|---|---|---|---|---|---|
| Gross margin | 55.3% | 55.1% | 53.4% | 51.0% | 49.1% | 54.0% | — | — |
| Operating margin | 15.8% | 16.9% | 16.2% | 16.9% | 16.7% | 18.2% | — | — |
| Net margin | 12.0% | 14.7% | 11.8% | 12.3% | 13.0% | 14.4% | — | — |
| Return on equity | 30.2% | 33.9% | 30.2% | 31.4% | 35.7% | 35.0% | — | — |
| Return on assets | 16.7% | 19.1% | 15.5% | 15.1% | 15.5% | 16.3% | — | — |
| Free cash flow yield | 4.0% | 3.2% | 3.4% | 3.7% | 0.4% | 3.5% | — | — |
| Revenue growth | 11.0% | 5.0% | 9.9% | 3.6% | 6.3% | 19.5% | — | — |
| Earnings growth | -9.5% | 30.7% | 5.5% | -2.0% | -4.1% | 15.7% | — | — |
| Current ratio | 2.57x | 2.79x | 2.47x | 2.80x | 2.25x | 2.81x | — | — |
| Debt to equity | 0.00x | 0.33x | 0.42x | 0.58x | 0.78x | 0.59x | — | — |
| Equity ratio | 55.2% | 56.4% | 51.3% | 48.0% | 43.4% | 46.6% | — | — |
| Interest coverage | 39.27x | 30.53x | 22.35x | 16.17x | 31.67x | 37.12x | — | — |
| R&D as a share of sales | — | — | 1.4% | 1.2% | 1.0% | 1.1% | 1.5% | 1.5% |
| Buybacks as a share of market value | 0.7% | 0.2% | 0.1% | 0.2% | 1.0% | -0.3% | — | — |
Growth per year
Compound annual rate
| 3 years | 5 years | 10 years | |
|---|---|---|---|
| Revenue | 8.6% | 7.1% | 6.1% |
| Operating income | 6.7% | 4.2% | 4.3% |
| Net income | 7.7% | 3.2% | 4.6% |
Average margins
Over each period
| 1 year | 3 years | 5 years | 10 years | |
|---|---|---|---|---|
| Gross margin | 55.2% | 53.8% | 53.1% | 54.0% |
| Operating margin | 16.3% | 16.4% | 16.7% | 17.6% |
| Net margin | 13.3% | 12.7% | 13.0% | 13.5% |
Valuation history
At each fiscal year end
| FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | FY2019 | FY2018 | FY2017 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Price to earnings | 38.1 | 29.3 | 47.3 | 49.2 | 32.6 | 47.9 | 60.0 | 47.7 | 39.0 | 31.2 |
| Price to sales | 4.6 | 4.3 | 5.6 | 6.0 | 4.2 | 6.9 | 8.9 | 6.3 | 6.2 | 4.3 |
Market value over time
30 Nov 2016 to 22 Oct 2026, in USD
$1.53bn$2.83bn
Share price return
Finished calendar years
| 2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018 | 2017 | 2016 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Return | -21% | 7% | 51% | -34% | -9% | 36% | 11% | 52% | 2% | 20% |
Dividends and splits
Per share, in the currency the company pays
Paid for 36 years. Last went ex-dividend on 19 Oct 2026.
| FY2027 | FY2026 | FY2025 | FY2024 | FY2023 | FY2022 | FY2021 | FY2020 | |
|---|---|---|---|---|---|---|---|---|
| Paid in the year | 1.02 | 4.00 | 3.70 | 3.47 | 3.27 | 3.06 | 2.78 | 2.62 |
- 2-for-1 split · 1 Aug 1997
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.