| Market Cap | $329.9M | |
| Enterprise Value | — | |
| Revenue | $938.1M | +4.5% |
| Gross Profit | $338.6M | +9.7% |
| EBITDA | $42.4M | +58.3% |
| Net Income | $14.4M | — |
| Diluted EPS | $0.78 | — |
| Free Cash Flow | $36.9M | +644.5% |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | Trend · 13y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | ||||||||||||||||
| Gross Margin | — | — | — | 32.88% | 33.41% | 34.33% | 35.45% | 35.33% | 38.58% | 33.88% | 32.08% | 34.08% | 35.79% | 85% | 53% | |
| Operating Margin | 10.06% | 8.82% | 5.74% | 4.75% | 5.26% | 6.24% | 8.30% | 9.79% | 13.33% | 3.25% | −7.40% | 0.22% | 1.83% | 19% | 36% | |
| EBITDA Margin | 13.73% | 12.41% | 9.52% | 8.09% | 8.20% | 9.03% | 10.76% | 12.21% | 15.27% | 5.50% | −4.80% | 2.71% | 4.11% | 19% | 33% | |
| NOPAT Margin | 6.42% | 5.32% | 3.60% | 3.06% | 2.91% | 4.53% | 6.10% | 7.28% | 9.91% | 2.10% | −5.85% | 0.00% | 1.02% | 19% | 33% | |
| Net Margin | 6.34% | 5.32% | 3.58% | 3.10% | 2.89% | 4.62% | 6.47% | 7.69% | 10.08% | 2.19% | −7.15% | −0.19% | 1.44% | 19% | 42% | |
| FCF Margin | 4.27% | — | — | 3.36% | 4.47% | 4.53% | 8.44% | 13.06% | 10.07% | −2.71% | −0.64% | 0.64% | 4.57% | 68% | 55% | |
| OCF Margin | 9.24% | — | — | 5.79% | 7.07% | 6.68% | 10.26% | 13.97% | 11.40% | −0.04% | 1.69% | 2.33% | 5.76% | 32% | 44% | |
| Gross Profitability | 59.03% | 58.15% | 64.78% | 64.45% | 62.04% | 62.89% | 40.09% | 35.06% | 52.98% | 43.41% | 42.29% | 47.73% | 51.62% | 42% | 70% | |
| Capex Intensity | 4.97% | 4.41% | 4.33% | 2.44% | 2.59% | 2.15% | 1.82% | 0.91% | 1.33% | 2.67% | 2.32% | 1.69% | 1.19% | 12% | 27% | |
| ▸Returns on Capital · 3 ratios | ||||||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | ||||||||||||||||
| ▸Earnings quality · 6 ratios | ||||||||||||||||
| ▸Liquidity & coverage · 6 ratios | ||||||||||||||||
| ▸Leverage · 9 ratios | ||||||||||||||||
| ▸Working capital · 8 ratios | ||||||||||||||||
| ▸Capital allocation · 2 ratios | ||||||||||||||||
| ▸Per share · 6 ratios | ||||||||||||||||
| ▸Other · 1 ratios | ||||||||||||||||
The five drivers multiply to 4.2% vs reported ROE 4.1%. 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↗ | 2026↗ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $724.3M | $811.6M | $804.2M | $836.3M | $927.4M | $978.6M | $1.03B | $990.7M | $1.18B | $958.4M | $875.5M | $889.2M | $929.1M |
| YoY % | +12.0% | -0.9% | +4.0% | +10.9% | +5.5% | +5.7% | -4.2% | +19.5% | -19.0% | -8.6% | +1.6% | +4.5% | |
| Cost of Revenue | — | — | — | $561.3M | $617.5M | $642.7M | $667.6M | $640.6M | $727.1M | $633.7M | $594.6M | $586.2M | $596.5M |
| YoY % | +10.0% | +4.1% | +3.9% | -4.0% | +13.5% | -12.8% | -6.2% | -1.4% | +1.8% | ||||
| Gross Profit | $261.8M | $287.1M | $268.6M | $275.0M | $309.9M | $335.9M | $366.6M | $350.0M | $456.7M | $324.7M | $280.9M | $303.0M | $332.5M |
| YoY % | +9.7% | -6.4% | +2.4% | +12.7% | +8.4% | +9.1% | -4.5% | +30.5% | -28.9% | -13.5% | +7.9% | +9.7% | |
| SG&A Expense | $188.9M | $215.5M | $222.5M | $235.3M | $261.1M | $274.9M | $280.8M | $253.1M | $298.9M | $293.6M | $345.7M | $301.1M | $315.5M |
| YoY % | +14.1% | +3.2% | +5.8% | +11.0% | +5.3% | +2.1% | -9.9% | +18.1% | -1.8% | +17.7% | -12.9% | +4.8% | |
| Operating Income | $72.8M | $71.6M | $46.2M | $39.7M | $48.8M | $61.1M | $85.8M | $96.9M | $157.8M | $31.1M | -$64.8M | $1.9M | $17.0M |
| YoY % | -1.7% | -35.5% | -13.9% | +22.7% | +25.3% | +40.5% | +13.0% | +62.8% | -80.3% | +773.9% | |||
| Other Non-Operating Income | -$1.6M | -$557,000 | -$833,000 | $449,000 | -$852,000 | -$440,000 | $1.5M | $2.0M | -$891,000 | -$557,000 | -$611,000 | -$2.1M | $2.3M |
| YoY % | +30.6% | ||||||||||||
| Impairment of Real Estate | — | — | — | — | — | — | — | — | $2.2M | $2.1M | $43.9M | $1.5M | $1.9M |
| YoY % | -6.6% | +2009.8% | -96.6% | +25.6% | |||||||||
| Pretax Income | $72.0M | $71.7M | $45.9M | $40.2M | $48.4M | $62.3M | $91.0M | $102.5M | $160.5M | $32.5M | -$61.9M | $4.1M | $24.1M |
| YoY % | -0.4% | -36.0% | -12.3% | +20.3% | +28.8% | +46.0% | +12.6% | +56.7% | -79.8% | +490.2% | |||
| Income Tax | $26.0M | $28.5M | $17.1M | $14.3M | $21.6M | $17.1M | $24.1M | $26.2M | $41.2M | $11.4M | $732,000 | $5.8M | $10.7M |
| YoY % | +9.4% | -40.0% | -16.1% | +50.8% | -20.7% | +40.8% | +8.8% | +57.2% | -72.3% | -93.6% | +691.0% | +84.6% | |
| Net Income | $45.9M | $43.2M | $28.8M | $25.9M | $26.8M | $45.2M | $66.9M | $76.2M | $119.3M | $21.0M | -$62.6M | -$1.7M | $13.4M |
| YoY % | -6.0% | -33.4% | -10.0% | +3.5% | +68.7% | +48.0% | +14.0% | +56.5% | -82.4% | ||||
| EPS (Basic) | $1.54 | $1.50 | $1.05 | $1.05 | $1.09 | $1.81 | $2.65 | $3.06 | $4.93 | $1.10 | -$3.25 | -$0.09 | $0.80 |
| YoY % | -2.6% | -30.0% | 0.0% | +3.8% | +66.1% | +46.4% | +15.5% | +61.1% | -77.7% | ||||
| EPS (Diluted) | $1.52 | $1.47 | $1.04 | $1.04 | $1.08 | $1.79 | $2.62 | $3.00 | $4.85 | $1.08 | -$3.25 | -$0.09 | $0.78 |
| YoY % | -3.3% | -29.3% | 0.0% | +3.8% | +65.7% | +46.4% | +14.5% | +61.7% | -77.7% | ||||
| Weighted Avg Shares (Basic) | 29.8M | 28.9M | 27.5M | 24.7M | 24.7M | 24.9M | 25.2M | 24.9M | 24.2M | 19.2M | 19.3M | 18.9M | 16.8M |
| YoY % | -3.1% | -4.8% | -10.1% | -0.2% | +1.0% | +1.1% | -1.0% | -3.0% | -20.6% | +0.4% | -1.9% | -11.3% | |
| Weighted Avg Shares (Diluted) | 30.2M | 29.3M | 27.7M | 24.9M | 24.9M | 25.2M | 25.5M | 25.4M | 24.6M | 19.4M | 19.3M | 18.9M | 17.2M |
| YoY % | -3.0% | -5.5% | -10.0% | -0.1% | +1.3% | +1.3% | -0.5% | -3.2% | -21.0% | -0.7% | -1.9% | -8.8% |
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.