| Market Cap | $2.18B | |
| Enterprise Value | — | |
| Revenue | $556.3M | +4.4% |
| Gross Profit | $137.1M | +37.8% |
| EBITDA | $94.1M | — |
| Net Income | $109.1M | +39.3% |
| Diluted EPS | $5.43 | +41.4% |
| Free Cash Flow | $154.7M | +37.7% |
| DPS (FY2025) | $1.17derived |
| Trailing yield | 0.95% |
| Payout ratio | 21.6% |
| Growth streak | — |
| 5y DPS growth | — |
| Fiscal year | DPS | YoY | Basis |
|---|---|---|---|
| FY20252025-12-31 | $1.17 | — | derived (paid ÷ diluted shares) |
| FY20242024-12-31 | $1.20 | — | reported |
| FY20232023-12-31 | $5.75 | — | derived (paid ÷ diluted shares) |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 12y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||||||
| Operating Margin | — | — | 17.76% | 17.63% | — | — | — | — | — | — | — | — | — | — | |
| EBITDA Margin | — | — | 24.60% | 24.18% | 23.90% | — | — | — | — | — | — | — | — | — | |
| NOPAT Margin | — | — | 11.51% | 11.34% | 14.25% | — | — | — | — | — | — | — | — | — | |
| Net Margin | — | — | 11.32% | 11.07% | 14.19% | 12.77% | 12.84% | 17.32% | 18.31% | 16.44% | 13.94% | 18.60% | 95% | 79% | |
| FCF Margin | — | — | 8.11% | −0.23% | −32.59% | −24.93% | −31.03% | 20.53% | 20.99% | 24.74% | 17.86% | 23.56% | 85% | 76% | |
| FCFF Margin | — | — | 8.30% | 0.04% | −32.53% | — | — | — | — | — | — | — | — | — | |
| FCFE Margin | — | — | 1.34% | — | −4.17% | 15.90% | −38.49% | −2.86% | 3.62% | 23.34% | — | — | — | — | |
| OCF Margin | — | — | 20.15% | 21.43% | 24.45% | 25.38% | 17.05% | 32.40% | 29.25% | 34.51% | 26.95% | 30.22% | 75% | 80% | |
| Gross Profitability | — | — | 13.06% | 12.25% | 9.41% | 6.48% | 2.27% | 13.02% | 16.08% | 16.18% | 13.38% | 17.89% | 95% | 24% | |
| Capex Intensity | — | — | 12.04% | 21.67% | 57.04% | 50.31% | 48.08% | 11.87% | 8.26% | 9.77% | 9.08% | 6.66% | 5% | 82% | |
| ▸Returns on Capital · 6 ratios | |||||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||||||||
| ▸Earnings quality · 7 ratios | |||||||||||||||
| ▸Liquidity & coverage · 9 ratios | |||||||||||||||
| ▸Leverage · 9 ratios | |||||||||||||||
| ▸Working capital · 3 ratios | |||||||||||||||
| ▸Capital allocation · 5 ratios | |||||||||||||||
| ▸Per share · 6 ratios | |||||||||||||||
The five drivers multiply to 10.1% vs reported ROE 10.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 | — | — | $217.0M | $230.7M | $240.3M | $249.2M | $184.4M | $395.4M | $477.9M | $501.5M | $522.2M | $545.1M |
| YoY % | +6.3% | +4.2% | +3.7% | -26.0% | +114.4% | +20.9% | +4.9% | +4.1% | +4.4% | |||
| Gross Profit | — | — | $38.5M | $40.7M | $42.8M | $39.6M | $15.3M | $89.9M | $111.4M | $110.2M | $92.5M | $127.5M |
| YoY % | +5.5% | +5.3% | -7.6% | -61.4% | +488.5% | +24.0% | -1.2% | -16.0% | +37.8% | |||
| SG&A Expense | $53.0M | $54.8M | $57.7M | $62.7M | $65.8M | $69.3M | $60.4M | $84.4M | $97.6M | $105.8M | $108.3M | $109.4M |
| YoY % | +3.4% | +5.4% | +8.6% | +4.9% | +5.3% | -12.9% | +39.8% | +15.6% | +8.4% | +2.3% | +1.0% | |
| Total Operating Expenses | $165.5M | $169.7M | $178.5M | $190.1M | $197.5M | $209.6M | $169.1M | $305.5M | $366.4M | $391.3M | $429.7M | $417.6M |
| YoY % | +2.5% | +5.2% | +6.5% | +3.9% | +6.1% | -19.3% | +80.6% | +19.9% | +6.8% | +9.8% | -2.8% | |
| Operating Income | $22.2M | $32.6M | $38.5M | $40.7M | — | — | — | — | — | — | — | — |
| YoY % | +46.5% | +18.4% | +5.5% | |||||||||
| Interest Expense | $1.1M | $679,000 | $616,000 | $967,000 | $177,000 | — | — | — | — | — | — | — |
| YoY % | -38.5% | -9.3% | +57.0% | -81.7% | ||||||||
| Other Non-Operating Income | — | — | — | $967,000 | -$177,000 | $1,000 | -$273,000 | -$4.5M | -$2.4M | -$1.6M | -$104,000 | $1.9M |
| Gains on Sale of Real Estate | — | — | — | — | — | — | -$63,000 | -$136,000 | $69,000 | -$159,000 | -$249,000 | -$115,000 |
| Impairment of Real Estate | — | — | — | — | — | — | $0 | $0 | $0 | $0 | $0 | $0 |
| Pretax Income | $21.1M | $31.9M | $37.9M | $39.7M | $42.6M | $39.6M | $15.0M | $85.4M | $109.0M | $108.5M | $92.4M | $129.4M |
| YoY % | +51.0% | +19.0% | +4.7% | +7.4% | -7.2% | -62.1% | +469.2% | +27.7% | -0.5% | -14.9% | +40.1% | |
| Income Tax | $6.9M | $11.2M | $13.4M | $14.2M | $8.6M | $7.8M | -$8.7M | $16.9M | $21.5M | $26.1M | $19.6M | $28.0M |
| YoY % | +61.9% | +19.1% | +6.0% | -39.6% | -9.3% | +27.6% | +21.1% | -24.7% | +42.8% | |||
| Net Income (incl. NCI) | — | $20.7M | $24.6M | $25.5M | $34.1M | $31.8M | $23.7M | $68.5M | $87.5M | $82.4M | $72.8M | $101.4M |
| YoY % | +19.0% | +3.9% | +33.5% | -6.7% | -25.6% | +189.2% | +27.7% | -5.8% | -11.7% | +39.3% | ||
| Net Income | — | $20.7M | $24.6M | $25.5M | $34.1M | $31.8M | $23.7M | $68.5M | $87.5M | $82.4M | $72.8M | $101.4M |
| YoY % | +19.0% | +3.9% | +33.5% | -6.7% | -25.6% | +189.2% | +27.7% | -5.8% | -11.7% | +39.3% | ||
| Net Income to Common | $14.2M | $20.7M | $24.6M | — | — | — | — | — | — | — | — | — |
| YoY % | +45.6% | +19.0% | ||||||||||
| EPS (Basic) | $0.85 | $1.22 | $1.42 | $1.45 | $1.91 | $1.77 | $1.30 | $3.68 | $4.60 | $4.28 | $3.91 | $5.55 |
| YoY % | +43.5% | +16.4% | +2.1% | +31.7% | -7.3% | -26.6% | +183.1% | +25.0% | -7.0% | -8.6% | +41.9% | |
| EPS (Diluted) | $0.83 | $1.19 | $1.39 | $1.39 | $1.83 | $1.70 | $1.25 | $3.53 | $4.47 | $4.20 | $3.84 | $5.43 |
| YoY % | +43.4% | +16.8% | 0.0% | +31.7% | -7.1% | -26.5% | +182.4% | +26.6% | -6.0% | -8.6% | +41.4% | |
| Weighted Avg Shares (Basic) | 16.7M | 16.9M | 17.3M | 17.6M | 17.8M | 18.0M | 18.2M | 18.6M | 19.0M | 19.2M | 18.6M | 18.3M |
| YoY % | +1.3% | +2.1% | +1.6% | +1.5% | +1.0% | +1.1% | +2.2% | +2.0% | +1.3% | -3.3% | -1.8% | |
| Weighted Avg Shares (Diluted) | 17.1M | 17.3M | 17.7M | 18.4M | 18.6M | 18.7M | 18.9M | 19.4M | 19.6M | 19.6M | 19.0M | 18.7M |
| YoY % | +1.3% | +1.9% | +4.0% | +1.1% | +0.6% | +1.0% | +2.9% | +0.8% | +0.2% | -3.3% | -1.6% | |
| Dividends Declared per Share | — | — | — | — | — | — | — | — | — | $5 | $1 | — |
| YoY % | -76.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.
| Ex-date | Amount | Pay date | Freq | Source |
|---|---|---|---|---|
| 2026-06-01 | $0.3000 | 2026-06-15 | quarterly | licensed |
| 2026-03-02 | $0.3000 | 2026-03-16 | quarterly | licensed |
| 2025-12-01 | $0.3000 | 2025-12-15 | quarterly | licensed |
| 2025-08-29 | $0.3000 | — | quarterly | licensed |
| 2025-05-30 | $0.3000 | 2025-06-15 | quarterly | licensed |
| 2025-02-28 | $0.3000 | — | quarterly | licensed |
| 2024-11-29 | $0.3000 | — | quarterly | licensed |
| 2024-08-30 | $0.3000 | — | quarterly | licensed |