| Market Cap | $1.02B | |
| Enterprise Value | — | |
| Revenue | $170.5M | +10.2% |
| Gross Profit | — | — |
| EBITDA | $176.7M | — |
| Net Income | $74.5M | +6.2% |
| Diluted EPS | $2.64 | +4.8% |
| Free Cash Flow | $70.9M | −40.5% |
| DPS (FY2025) | $0.96 |
| Trailing yield | 2.70% |
| Payout ratio | 36.3% |
| Growth streak | 3 yrs |
| 5y DPS growth | — |
| Fiscal year | DPS | YoY | Basis |
|---|---|---|---|
| FY20252025-12-31 | $0.96 | +15.7% | reported |
| FY20242024-12-31 | $0.83 | +15.3% | reported |
| FY20232023-12-31 | $0.72 | +20.0% | reported |
| FY20222022-12-31 |
| Ratio | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 9y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | ||||||||||||
| EBITDA Margin | 70.30% | 74.67% | 85.08% | 67.70% | 65.28% | 89.09% | 138.71% | — | — | — | — | |
| NOPAT Margin | 44.35% | 54.42% | 60.53% | 48.18% | 47.23% | 59.21% | 97.86% | — | — | — | — | |
| Net Margin | 37.84% | 43.12% | 44.33% | 38.99% | 44.76% | 45.45% | 43.12% | 45.68% | 44.03% | 50% | 91% | |
| FCF Margin | 173.07% | −170.94% | 30.83% | 152.17% | 47.19% | 96.09% | 64.48% | 44.06% | 23.79% | 17% | 51% | |
| FCFF Margin | 179.59% | −159.64% | 47.03% | 161.36% | 49.66% | 109.84% | 119.21% | — | — | — | — | |
| OCF Margin | 180.09% | −167.96% | 31.92% | 152.74% | 47.46% | 97.80% | 68.60% | 44.97% | 24.22% | 17% | 48% | |
| Capex Intensity | 7.01% | 2.98% | 1.09% | 0.58% | 0.28% | 1.71% | 4.12% | 0.91% | 0.43% | 17% | 17% | |
| ▸Returns on Capital · 2 ratios | ||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | ||||||||||||
| ▸Earnings quality · 6 ratios | ||||||||||||
| ▸Liquidity & coverage · 3 ratios | ||||||||||||
| ▸Leverage · 2 ratios | ||||||||||||
| ▸Capital allocation · 5 ratios | ||||||||||||
| ▸Per share · 6 ratios | ||||||||||||
| Line | 2017↗ | 2018↗ | 2019↗ | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|---|---|---|
| Revenue | $84.3M | $95.8M | $100.9M | $93.3M | $137.9M | $137.7M | $119.7M | $141.2M | $155.6M |
| YoY % | +13.7% | +5.2% | -7.5% | +47.7% | -0.1% | -13.1% | +18.0% | +10.2% | |
| Interest Expense | $8.6M | $14.7M | $22.2M | $11.5M | $4.6M | $27.6M | $91.3M | — | — |
| YoY % | +70.3% | +51.5% | -48.3% | -60.2% | +503.9% | +230.9% | |||
| Pretax Income | $50.0M | $56.0M | $60.9M | $48.8M | $82.6M | $91.2M | $72.0M | $87.3M | $92.7M |
| YoY % | +11.9% | +8.7% | -19.9% | +69.4% | +10.4% | -21.1% | +21.3% | +6.2% | |
| Income Tax | $18.2M | $14.7M | $16.1M | $12.4M | $20.9M | $28.6M | $20.4M | $22.8M | $24.2M |
| YoY % | -19.2% | +10.1% | -23.4% | +69.1% | +36.8% | -28.9% | +12.0% | +5.9% | |
| Net Income (incl. NCI) | $31.9M | $41.3M | $44.7M | $36.4M | $61.7M | $62.6M | $51.6M | $64.5M | $68.5M |
| YoY % | +29.6% | +8.2% | -18.6% | +69.5% | +1.5% | -17.6% | +25.0% | +6.2% | |
| Net Income | $31.9M | $41.3M | $44.7M | $36.4M | $61.7M | $62.6M | $51.6M | $64.5M | $68.5M |
| YoY % | +29.6% | +8.2% | -18.6% | +69.5% | +1.5% | -17.6% | +25.0% | +6.2% | |
| EPS (Basic) | $1.34 | $1.71 | $1.82 | $1.42 | $2.41 | $2.46 | $2.05 | $2.55 | $2.66 |
| YoY % | +27.6% | +6.4% | -22.0% | +69.7% | +2.1% | -16.7% | +24.4% | +4.3% | |
| EPS (Diluted) | $1.32 | $1.69 | $1.81 | $1.41 | $2.39 | $2.44 | $2.02 | $2.52 | $2.64 |
| YoY % | +28.0% | +7.1% | -22.1% | +69.5% | +2.1% | -17.2% | +24.8% | +4.8% | |
| Weighted Avg Shares (Basic) | 23.9M | 24.2M | 24.5M | 25.6M | 25.6M | 25.4M | 25.2M | 25.3M | 25.7M |
| YoY % | +1.4% | +1.4% | +4.4% | -0.2% | -0.6% | -0.8% | +0.3% | +1.8% | |
| Weighted Avg Shares (Diluted) | 24.1M | 24.5M | 24.7M | 25.8M | 25.8M | 25.7M | 25.5M | 25.6M | 26.0M |
| YoY % | +1.4% | +1.0% | +4.3% | -0.0% | -0.4% | -0.7% | +0.2% | +1.7% | |
| Dividends Declared per Share | — | — | — | — | — | $1 | $1 | $1 | $1 |
| YoY % | +20.0% | +15.3% | +15.7% |
The sector classification is SIC-derived, not official GICS. Statement lines are XBRL facts as filed with the company's home regulator (SEC EDGAR for US filers; ESEF/EDINET and other national regulators for foreign filers); ratios and other derived figures are computed from them. A blank cell means the tag was absent — never imputed.
| $0.60 |
| — |
| reported |
| FY20212021-12-31 | $0.46 | +14.7% | derived (paid ÷ diluted shares) |
| FY20202020-12-31 | $0.40 | −4.9% | derived (paid ÷ diluted shares) |
| FY20192019-12-31 | $0.42 | +10.4% | derived (paid ÷ diluted shares) |
| FY20182018-12-31 | $0.38 | +69.7% | derived (paid ÷ diluted shares) |
| FY20172017-12-31 | $0.22 | — | derived (paid ÷ diluted shares) |
| Ex-date | Amount | Pay date | Freq | Source |
|---|---|---|---|---|
| 2026-07-29 | $0.2900 | 2026-08-07 | quarterly | licensed |
| 2026-04-29 | $0.2900 | 2026-05-08 | quarterly | licensed |
| 2026-02-04 | $0.2500 | 2026-02-13 | quarterly | licensed |
| 2025-10-29 | $0.2500 | 2025-11-07 | quarterly | licensed |
| 2025-07-30 | $0.2500 | — | quarterly | licensed |
| 2025-04-30 | $0.2300 | 2025-05-09 | quarterly | licensed |
| 2025-01-29 | $0.2300 | — | quarterly | licensed |
| 2024-10-30 | $0.2300 | — | quarterly | licensed |