| Market Cap | $1.04B | |
| Enterprise Value | — | |
| Revenue | $678.8M | +15.4% |
| Gross Profit | $184.3M | +19.0% |
| EBITDA | $95.7M | −16.5% |
| Net Income | $53.1M | −16.5% |
| Diluted EPS | $1.96 | −16.9% |
| Free Cash Flow | $62.9M | +91.4% |
| DPS (FY2025) | $1.18 |
| Trailing yield | 2.62% |
| Payout ratio | 59.6% |
| Growth streak | 0 yrs |
| 5y DPS growth | 1.0% |
| Fiscal year | DPS | YoY | Basis |
|---|---|---|---|
| FY20252025-12-31 | $1.18 | +0.0% | reported |
| FY20242024-12-31 | $1.18 | +0.0% | reported |
| FY20232023-12-31 | $1.18 | +1.7% | reported |
| FY20222022-12-31 | $1.16 | +1.8% | reported |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 12y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||||||
| Gross Margin | 38.33% | 33.18% | 32.18% | 30.13% | 29.56% | 29.53% | 26.72% | 26.20% | 24.58% | 23.63% | 25.83% | 26.63% | 38% | 41% | |
| Operating Margin | 23.79% | 19.32% | 16.77% | 14.91% | 14.02% | 15.14% | −15.65% | 9.44% | 9.54% | 7.90% | 15.60% | 11.22% | 38% | 71% | |
| EBITDA Margin | 26.83% | 22.39% | 20.79% | 18.82% | 17.66% | 18.50% | −11.54% | 13.20% | 12.94% | 11.72% | 18.75% | 13.56% | 38% | 60% | |
| NOPAT Margin | — | — | — | — | — | 11.89% | −12.36% | 8.38% | 7.77% | 6.41% | 11.86% | 8.55% | 64% | 68% | |
| Net Margin | 13.17% | 11.03% | — | — | — | — | −18.03% | 5.67% | 6.27% | 4.18% | 9.88% | 7.15% | 56% | 67% | |
| FCF Margin | — | — | — | — | — | — | 8.06% | 8.99% | 4.48% | 0.48% | 5.87% | 9.73% | 92% | 68% | |
| FCFF Margin | — | — | — | — | — | — | — | 9.27% | 4.55% | 0.54% | 5.90% | 9.73% | 90% | 50% | |
| FCFE Margin | — | — | — | — | — | — | 6.73% | 4.28% | 2.66% | −2.77% | −1.52% | 9.04% | 92% | 63% | |
| OCF Margin | — | 14.10% | 16.80% | 13.97% | 11.10% | 13.52% | 11.11% | 11.18% | 6.50% | 2.19% | 7.23% | 11.38% | 59% | 56% | |
| Gross Profitability | 24.34% | 26.73% | 20.11% | 20.88% | 22.91% | 23.92% | 22.15% | 24.78% | 25.37% | 22.63% | 24.89% | 27.87% | 96% | 66% | |
| Capex Intensity | — | — | — | — | — | — | 3.06% | 2.19% | 2.01% | 1.72% | 1.37% | 1.65% | 25% | 38% | |
| ▸Returns on Capital · 5 ratios | |||||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||||||||
| ▸Earnings quality · 7 ratios | |||||||||||||||
| ▸Liquidity & coverage · 9 ratios | |||||||||||||||
| ▸Leverage · 7 ratios | |||||||||||||||
| ▸Working capital · 8 ratios | |||||||||||||||
| ▸Capital allocation · 5 ratios | |||||||||||||||
| ▸Per share · 6 ratios | |||||||||||||||
| ▸Other · 1 ratios | |||||||||||||||
The five drivers multiply to 17.2% vs reported ROE 17.2%. High ROE from margin and turnover is earned; from the equity multiplier it is borrowed.
| Line | 2014↗ | 2015↗ | 2016↗ | 2017↗ | 2018↗ | 2019↗ | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $303.5M | $400.4M | $416.3M | $474.9M | $524.1M | $571.7M | $480.2M | $541.5M | $616.1M | $568.2M | $568.5M | $656.1M |
| YoY % | +31.9% | +4.0% | +14.1% | +10.3% | +9.1% | -16.0% | +12.8% | +13.8% | -7.8% | +0.1% | +15.4% | |
| Cost of Revenue | $187.2M | $267.5M | $282.3M | $331.8M | $369.2M | $402.9M | $351.9M | $399.6M | $464.6M | $433.9M | $421.7M | $481.4M |
| YoY % | +42.9% | +5.5% | +17.6% | +11.3% | +9.1% | -12.7% | +13.6% | +16.3% | -6.6% | -2.8% | +14.2% | |
| Gross Profit | $116.3M | $132.9M | $134.0M | $143.1M | $154.9M | $168.8M | $128.3M | $141.9M | $151.5M | $134.3M | $146.8M | $174.7M |
| YoY % | +14.2% | +0.8% | +6.8% | +8.2% | +9.0% | -24.0% | +10.6% | +6.8% | -11.3% | +9.4% | +19.0% | |
| R&D Expense | — | $3.0M | $3.1M | $2.9M | $3.2M | $5.7M | $6.7M | $10.2M | $12.2M | $10.1M | $8.4M | $7.7M |
| YoY % | +6.2% | -6.6% | +9.2% | +78.2% | +17.3% | +52.0% | +19.8% | -17.1% | -16.7% | -8.3% | ||
| SG&A Expense | $38.3M | $48.1M | $53.6M | $60.9M | $70.0M | $71.3M | $64.6M | $78.8M | $82.2M | $78.8M | $91.7M | $94.9M |
| YoY % | +25.7% | +11.3% | +13.6% | +14.9% | +1.9% | -9.4% | +22.0% | +4.2% | -4.1% | +16.3% | +3.5% | |
| Operating Income | $72.2M | $77.4M | $69.8M | $70.8M | $73.5M | $86.6M | -$75.1M | $51.1M | $58.8M | $44.9M | $88.7M | $73.6M |
| YoY % | +7.1% | -9.8% | +1.4% | +3.7% | +17.9% | +14.9% | -23.6% | +97.5% | -17.0% | |||
| Interest Expense | — | — | — | — | — | — | $611,000 | $1.8M | $476,000 | $476,000 | $198,000 | $0 |
| YoY % | +188.1% | -73.0% | 0.0% | -58.4% | -100.0% | |||||||
| Other Non-Operating Income | -$221,000 | -$193,000 | -$967,000 | -$832,000 | -$758,000 | -$565,000 | $91,000 | $228,000 | -$139,000 | $0 | $442,000 | $344,000 |
| YoY % | +150.5% | -22.2% | ||||||||||
| Impairment of Real Estate | — | — | — | — | — | — | $127.9M | $1.2M | $0 | $0 | $1.2M | $0 |
| YoY % | -99.1% | -100.0% | -100.0% | |||||||||
| Pretax Income | — | — | — | — | — | $62.6M | -$98.8M | $34.6M | $47.4M | $29.2M | $73.9M | $61.5M |
| YoY % | +36.9% | -38.3% | +152.8% | -16.8% | ||||||||
| Income Tax | $22.0M | $22.1M | $24.7M | -$2.4M | $11.9M | $13.5M | -$12.3M | $3.9M | $8.8M | $5.5M | $17.7M | $14.6M |
| YoY % | +0.2% | +11.8% | +13.5% | +124.6% | -37.0% | +221.9% | -17.6% | |||||
| Net Income (incl. NCI) | $40.0M | $44.2M | — | — | — | — | — | — | — | — | — | — |
| YoY % | +10.5% | |||||||||||
| Net Income | — | — | — | — | — | — | -$86.6M | $30.7M | $38.6M | $23.7M | $56.2M | $46.9M |
| YoY % | +25.8% | -38.6% | +136.7% | -16.5% | ||||||||
| Net Income to Common | $40.0M | $44.2M | $39.0M | $55.3M | $43.9M | $49.2M | -$86.6M | $30.2M | $37.9M | $23.2M | $55.1M | $45.8M |
| YoY % | +10.5% | -11.7% | +41.8% | -20.6% | +12.0% | +25.4% | -38.7% | +137.4% | -16.7% | |||
| EPS (Basic) | $1.78 | $1.95 | $1.71 | $2.42 | $1.91 | $2.13 | -$3.81 | $1.31 | $1.65 | $1.01 | $2.39 | $1.99 |
| YoY % | +9.6% | -12.3% | +41.5% | -21.1% | +11.5% | +26.0% | -38.8% | +136.6% | -16.7% | |||
| EPS (Diluted) | $1.77 | $1.94 | $1.70 | $2.40 | $1.89 | $2.11 | -$3.81 | $1.29 | $1.63 | $0.98 | $2.36 | $1.96 |
| YoY % | +9.6% | -12.4% | +41.2% | -21.3% | +11.6% | +26.4% | -39.9% | +140.8% | -16.9% | |||
| Weighted Avg Shares (Basic) | 22.17B | 22.33B | 22.48B | 22.58B | 22.68B | 22.78B | 22.8M | 23.0M | 22.9M | 23.0M | 23.1M | 23.1M |
| YoY % | +0.7% | +0.7% | +0.4% | +0.5% | +0.4% | -99.9% | +0.5% | -0.2% | +0.2% | +0.5% | +0.1% | |
| Weighted Avg Shares (Diluted) | 22.19B | 22.34B | 22.48B | 22.59B | 22.70B | 22.81B | 22.8M | 23.0M | 22.9M | 23.0M | 23.5M | 23.6M |
| YoY % | +0.7% | +0.6% | +0.5% | +0.5% | +0.5% | -99.9% | +0.5% | -0.2% | +0.2% | +2.4% | +0.5% | |
| Dividends Declared per Share | $1 | $1 | $1 | $1 | $1 | $1 | $1 | $1 | $1 | $1 | $1 | $1 |
| YoY % | +2.3% | +5.6% | +2.1% | +10.4% | +2.8% | +2.8% | +1.8% | +1.8% | +1.7% | 0.0% | 0.0% |
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.
| FY20212021-12-31 | $1.14 | +1.8% | reported |
| FY20202020-12-31 | $1.12 | — | reported |
| Ex-date | Amount | Pay date | Freq | Source |
|---|---|---|---|---|
| 2026-06-16 | $0.2950 | — | quarterly | licensed |
| 2026-03-17 | $0.2950 | 2026-03-31 | quarterly | licensed |
| 2025-12-16 | $0.2950 | — | quarterly | licensed |
| 2025-09-16 | $0.2950 | 2025-09-30 | quarterly | licensed |
| 2025-06-17 | $0.2950 | 2025-06-30 | quarterly | licensed |
| 2025-03-18 | $0.2950 | — | quarterly | licensed |
| 2024-12-16 | $0.2950 | — | quarterly | licensed |
| 2024-09-16 | $0.2950 | — | quarterly | licensed |