| Market Cap | — | |
| Enterprise Value | — | |
| Revenue | $735.6M | +1.3% |
| Gross Profit | $257.3M | +2.1% |
| EBITDA | $120.5M | +1.1% |
| Net Income | $99.7M | +15.2% |
| Diluted EPS | — | — |
| Free Cash Flow | $98.9M | −20.3% |
| DPS (FY2025) | — |
| Trailing yield | — |
| Payout ratio | 26.1% |
| Growth streak | — |
| 5y DPS growth | — |
| Fiscal year | DPS | YoY | Basis |
|---|---|---|---|
| FY20252025-12-31 | — | — | reported |
| FY20242024-12-31 | — | — | reported |
| FY20232023-12-31 | — | — |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 12y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||||||
| Gross Margin | 37.10% | 36.87% | 38.23% | 36.96% | 36.26% | 37.73% | 36.59% | 34.91% | 33.88% | 33.38% | 35.01% | 35.28% | 38% | 54% | |
| Operating Margin | 15.44% | 16.86% | 17.51% | 13.56% | 13.58% | 13.06% | 12.28% | 11.76% | 16.12% | 13.24% | 13.90% | 13.78% | 54% | 80% | |
| EBITDA Margin | 19.26% | 20.64% | 21.27% | 17.22% | 17.18% | 16.60% | 16.12% | 14.84% | 18.69% | 15.61% | 16.41% | 16.38% | 29% | 75% | |
| NOPAT Margin | 10.63% | 12.05% | 12.04% | 12.93% | 10.54% | 9.91% | 9.50% | 8.96% | 12.47% | 10.14% | 9.51% | 10.04% | 38% | 80% | |
| Net Margin | 11.65% | 12.24% | 12.96% | 15.57% | 10.96% | 12.25% | 12.44% | 11.45% | 11.05% | 11.95% | 12.01% | 13.66% | 88% | 87% | |
| FCF Margin | — | 13.99% | 15.82% | 5.06% | 14.13% | 15.09% | 11.96% | 9.44% | 7.09% | 8.81% | 16.72% | 13.15% | 50% | 82% | |
| FCFF Margin | — | — | — | — | — | — | — | — | 7.10% | 8.85% | 16.76% | 13.20% | 63% | 72% | |
| OCF Margin | — | 16.86% | 18.91% | 8.28% | 19.45% | 18.91% | 15.75% | 14.94% | 10.49% | 12.30% | 19.20% | 17.83% | 59% | 86% | |
| Gross Profitability | 22.15% | 21.91% | 21.65% | 20.61% | 19.86% | 20.15% | 17.30% | 19.56% | 22.84% | 23.69% | 22.07% | 20.61% | 38% | 35% | |
| Capex Intensity | 1.97% | 2.88% | 3.09% | 3.21% | 5.32% | 3.82% | 3.79% | 5.51% | 3.40% | 3.48% | 2.49% | 4.68% | 79% | 69% | |
| ▸Returns on Capital · 3 ratios | |||||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||||||||
| ▸Earnings quality · 6 ratios | |||||||||||||||
| ▸Liquidity & coverage · 5 ratios | |||||||||||||||
| ▸Working capital · 5 ratios | |||||||||||||||
| ▸Capital allocation · 5 ratios | |||||||||||||||
The five drivers multiply to 11.1% vs reported ROE 11.0%. 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 | $543.5M | $540.1M | $521.1M | $519.3M | $518.9M | $530.1M | $474.3M | $570.8M | $687.0M | $769.4M | $723.2M | $732.5M |
| YoY % | -0.6% | -3.5% | -0.3% | -0.1% | +2.1% | -10.5% | +20.4% | +20.4% | +12.0% | -6.0% | +1.3% | |
| Cost of Revenue | $341.9M | $341.0M | $321.9M | $327.4M | $330.7M | $330.1M | $300.7M | $371.5M | $454.2M | $512.5M | $470.0M | $474.1M |
| YoY % | -0.3% | -5.6% | +1.7% | +1.0% | -0.2% | -8.9% | +23.6% | +22.3% | +12.8% | -8.3% | +0.9% | |
| Gross Profit | $201.6M | $199.1M | $199.2M | $191.9M | $188.2M | $197.0M | $170.4M | $199.2M | $232.7M | $256.8M | $253.2M | $258.4M |
| YoY % | -1.2% | +0.0% | -3.7% | -1.9% | +4.7% | -13.5% | +17.0% | +16.8% | +10.4% | -1.4% | +2.1% | |
| SG&A Expense | $117.7M | $108.1M | $108.0M | $121.5M | $117.7M | $127.8M | $112.1M | $132.1M | $122.0M | $155.0M | $152.7M | $157.5M |
| YoY % | -8.2% | -0.1% | +12.5% | -3.1% | +8.6% | -12.3% | +17.8% | -7.7% | +27.1% | -1.5% | +3.2% | |
| Operating Income | $83.9M | $91.1M | $91.2M | $70.4M | $70.5M | $69.2M | $58.2M | $67.1M | $110.8M | $101.8M | $100.5M | $100.9M |
| YoY % | +8.5% | +0.2% | -22.8% | +0.1% | -1.8% | -15.8% | +15.3% | +65.0% | -8.1% | -1.3% | +0.4% | |
| Interest Expense | — | — | — | — | — | — | — | — | $104,000 | $337,000 | $509,000 | $447,000 |
| YoY % | +224.0% | +51.0% | -12.2% | |||||||||
| Other Non-Operating Income | $246,000 | $126,000 | $1.3M | $1.2M | $1.1M | $1.2M | $1.1M | $1.3M | $684,000 | $678,000 | $266,000 | $1.8M |
| YoY % | -48.8% | +953.2% | -11.8% | -2.4% | +5.5% | -6.3% | +16.3% | -47.9% | -0.9% | -60.8% | +585.0% | |
| Impairment of Real Estate | — | — | — | — | — | — | $0 | $0 | $0 | $0 | $0 | $0 |
| Pretax Income | $91.3M | $92.6M | $97.9M | $84.6M | $73.2M | $85.4M | $76.3M | $85.7M | $98.1M | $119.9M | $126.9M | $137.2M |
| YoY % | +1.4% | +5.8% | -13.6% | -13.4% | +16.7% | -10.7% | +12.4% | +14.5% | +22.2% | +5.8% | +8.2% | |
| Income Tax | $28.4M | $26.5M | $30.6M | $3.9M | $16.4M | $20.6M | $17.3M | $20.4M | $22.2M | $28.0M | $40.1M | $37.3M |
| YoY % | -7.0% | +15.7% | -87.2% | +319.8% | +25.4% | -15.9% | +18.1% | +9.0% | +25.9% | +43.0% | -7.0% | |
| Net Income (incl. NCI) | $62.9M | $66.1M | $67.3M | $80.7M | $56.8M | $64.8M | $59.0M | $65.3M | $75.9M | $91.9M | $86.8M | $100.0M |
| YoY % | +5.2% | +1.8% | +19.8% | -29.6% | +14.1% | -9.0% | +10.7% | +16.2% | +21.1% | -5.5% | +15.2% | |
| Minority Interest (P&L) | -$438,000 | $38,000 | -$191,000 | -$210,000 | -$88,000 | -$81,000 | -$21,000 | -$18,000 | -$45,000 | -$26,000 | -$19,000 | -$70,000 |
| Net Income | — | $66.1M | $67.5M | $80.9M | $56.9M | $64.9M | $59.0M | $65.3M | $75.9M | $91.9M | $86.8M | $100.1M |
| YoY % | +2.2% | +19.8% | -29.6% | +14.1% | -9.1% | +10.7% | +16.2% | +21.0% | -5.5% | +15.2% | ||
| Net Income to Common | $63.3M | $66.1M | $67.5M | — | — | — | — | — | — | — | — | — |
| YoY % | +4.4% | +2.2% | ||||||||||
| EPS (Basic) | $0.99 | $1.02 | $1.02 | $1.21 | $0.84 | $0.94 | $0.84 | $0.91 | $1.04 | $1.28 | $1.18 | $1.37 |
| YoY % | +3.0% | 0.0% | +18.6% | -30.6% | +11.9% | -10.6% | +8.3% | +14.3% | +23.1% | -7.8% | +16.1% | |
| Weighted Avg Shares (Basic) | 64.2M | 65.1M | 66.0M | 67.0M | 68.1M | 69.4M | 70.5M | 71.5M | 72.9M | 71.9M | 73.4M | 72.9M |
| YoY % | +1.4% | +1.3% | +1.5% | +1.7% | +1.9% | +1.6% | +1.4% | +2.1% | -1.4% | +2.1% | -0.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.
| reported |
| FY20222022-12-31 | — | — | reported |
| FY20212021-12-31 | — | — | reported |
| FY20202020-12-31 | — | — | reported |
| FY20192019-12-31 | — | — | reported |
| FY20182018-12-31 | — | — | reported |
| FY20172017-12-31 | — | — | reported |
| FY20162016-12-31 | — | — | reported |