| Market Cap | $5.04B | |
| Enterprise Value | $4.90B | |
| Revenue | $1.00B | +3.3% |
| Gross Profit | $444.5M | +3.3% |
| EBITDA | $151.7M | −6.1% |
| Net Income | $53.7M | −16.0% |
| Diluted EPS | $1.47 | −16.9% |
| Free Cash Flow | $68.5M | −65.7% |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 12y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||||||
| Gross Margin | — | — | 42.22% | 42.30% | 42.57% | 41.86% | 41.40% | 42.49% | 43.96% | 45.36% | 44.41% | 44.39% | 75% | 44% | |
| Operating Margin | −4.61% | 7.74% | 8.57% | 11.04% | 11.56% | 8.83% | 9.46% | 9.06% | 11.97% | 12.53% | 11.65% | 9.59% | 54% | 72% | |
| EBITDA Margin | 2.09% | 13.15% | 14.02% | 16.94% | 17.59% | 14.94% | 15.95% | 15.20% | 18.15% | 17.82% | 17.50% | 15.90% | 46% | 71% | |
| NOPAT Margin | −3.64% | 6.00% | 5.79% | 9.04% | 9.63% | 7.87% | 8.70% | 8.12% | 10.17% | 10.91% | 9.44% | 7.41% | 29% | 69% | |
| Net Margin | −6.65% | 9.53% | 5.72% | 11.52% | 7.99% | 6.51% | 7.54% | 7.12% | 8.60% | 8.27% | 6.75% | 5.49% | 13% | 64% | |
| FCF Margin | 10.11% | 7.46% | 10.22% | 10.41% | 12.21% | 8.39% | 21.96% | 10.56% | 8.26% | 11.36% | 14.89% | 4.94% | 4% | 41% | |
| OCF Margin | 11.60% | 8.94% | 12.42% | 12.16% | 14.59% | 10.10% | 23.74% | 13.39% | 10.54% | 13.62% | 16.70% | 6.53% | 4% | 41% | |
| Gross Profitability | 37.89% | 37.95% | 38.17% | 30.35% | 36.34% | 30.13% | 28.26% | 24.46% | 30.49% | 32.62% | 30.36% | 24.09% | 4% | 42% | |
| Capex Intensity | 1.48% | 1.49% | 2.20% | 1.74% | 2.39% | 1.72% | 1.78% | 2.83% | 2.28% | 2.26% | 1.81% | 1.59% | 21% | 45% | |
| ▸Returns on Capital · 6 ratios | |||||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||||||||
| ▸Earnings quality · 7 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.6% vs reported ROE 5.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 | $364.7M | $373.6M | $384.8M | $521.3M | $614.3M | $626.1M | $590.6M | $706.8M | $860.9M | $881.7M | $949.2M | $980.6M |
| YoY % | +2.4% | +3.0% | +35.5% | +17.8% | +1.9% | -5.7% | +19.7% | +21.8% | +2.4% | +7.7% | +3.3% | |
| Cost of Revenue | — | — | $222.3M | $300.8M | $352.8M | $364.0M | $346.1M | $406.5M | $482.4M | $481.8M | $527.7M | $545.3M |
| YoY % | +35.3% | +17.3% | +3.2% | -4.9% | +17.4% | +18.7% | -0.1% | +9.5% | +3.3% | |||
| Gross Profit | $150.2M | $157.9M | $162.5M | $220.5M | $261.5M | $262.1M | $244.5M | $300.3M | $378.5M | $399.9M | $421.5M | $435.3M |
| YoY % | +5.1% | +2.9% | +35.8% | +18.6% | +0.2% | -6.7% | +22.8% | +26.0% | +5.7% | +5.4% | +3.3% | |
| R&D Expense | $29.0M | $31.0M | $32.0M | $41.7M | $51.0M | $56.0M | $61.0M | $72.5M | $85.8M | $91.7M | $95.5M | $95.5M |
| YoY % | +7.2% | +3.1% | +30.2% | +22.4% | +9.7% | +9.0% | +18.9% | +18.3% | +6.9% | +4.2% | -0.0% | |
| SG&A Expense | $84.4M | $82.0M | $81.3M | $101.7M | $115.9M | $118.4M | $109.9M | $129.2M | $158.9M | $164.5M | $175.9M | $195.7M |
| YoY % | -2.8% | -0.9% | +25.0% | +14.0% | +2.2% | -7.2% | +17.6% | +23.0% | +3.5% | +7.0% | +11.2% | |
| Total Operating Expenses | $167.0M | $129.0M | $129.5M | $163.0M | $190.5M | $206.8M | $188.6M | $236.3M | $275.4M | $289.4M | $311.0M | $341.3M |
| YoY % | -22.8% | +0.4% | +25.8% | +16.9% | +8.5% | -8.8% | +25.3% | +16.6% | +5.1% | +7.4% | +9.7% | |
| Operating Income | -$16.8M | $28.9M | $33.0M | $57.6M | $71.0M | $55.3M | $55.9M | $64.1M | $103.1M | $110.5M | $110.6M | $94.0M |
| YoY % | +13.9% | +74.7% | +23.4% | -22.2% | +1.1% | +14.6% | +60.9% | +7.2% | +0.1% | -15.0% | ||
| Other Non-Operating Income | $2.7M | $2.7M | $1.8M | -$229,000 | -$44,000 | -$243,000 | $21,000 | -$368,000 | -$371,000 | -$675,000 | -$442,000 | -$708,000 |
| YoY % | -1.6% | -32.1% | ||||||||||
| Equity Method Income | $2.7M | $2.7M | $2.2M | $104,000 | — | — | — | — | — | — | — | — |
| YoY % | -1.6% | -17.5% | -95.3% | |||||||||
| Impairment of Real Estate | — | — | — | — | — | — | — | — | — | $2.5M | — | — |
| Pretax Income | -$17.9M | $46.0M | $32.5M | $76.1M | $61.3M | $45.8M | $48.4M | $56.2M | $87.2M | $83.7M | $79.1M | $69.6M |
| YoY % | -29.3% | +134.1% | -19.5% | -25.3% | +5.8% | +16.1% | +55.2% | -3.9% | -5.6% | -11.9% | ||
| Income Tax | -$1.0M | $10.4M | $10.5M | $13.8M | $10.2M | $5.0M | $3.9M | $5.8M | $13.1M | $10.9M | $15.0M | $15.8M |
| YoY % | +1.2% | +31.4% | -26.2% | -51.1% | -22.3% | +50.5% | +124.4% | -17.1% | +37.8% | +5.6% | ||
| Income from Continuing Operations | -$16.9M | $35.6M | $22.0M | $60.1M | — | — | — | — | — | — | — | — |
| YoY % | -38.2% | +172.9% | ||||||||||
| Income from Discontinued Operations | -$7.3M | -$13,000 | — | — | — | — | — | — | — | — | — | — |
| Net Income (incl. NCI) | -$24.2M | $35.6M | $22.0M | $62.3M | $51.1M | $40.8M | $44.5M | $50.3M | $74.1M | $72.9M | $64.1M | $53.8M |
| YoY % | -38.2% | +183.2% | -18.0% | -20.2% | +9.2% | +13.1% | +47.1% | -1.6% | -12.1% | -16.0% | ||
| Net Income | -$24.3M | $35.6M | $22.0M | $60.1M | $49.1M | $40.8M | $44.5M | $50.3M | $74.1M | $72.9M | $64.1M | $53.8M |
| YoY % | -38.2% | +172.9% | -18.2% | -17.0% | +9.2% | +13.1% | +47.1% | -1.6% | -12.1% | -16.0% | ||
| EPS (Basic) | -$0.70 | $1.03 | $0.63 | $1.14 | $1.46 | $1.16 | $1.27 | $1.42 | $2.08 | $2.03 | $1.78 | $1.47 |
| YoY % | -38.8% | +81.0% | +28.1% | -20.5% | +9.5% | +11.8% | +46.5% | -2.4% | -12.3% | -17.4% | ||
| EPS (Diluted) | -$0.70 | $1.02 | $0.63 | $1.13 | $1.43 | $1.15 | $1.25 | $1.41 | $2.06 | $2.02 | $1.77 | $1.47 |
| YoY % | -38.2% | +79.4% | +26.5% | -19.6% | +8.7% | +12.8% | +46.1% | -1.9% | -12.4% | -16.9% | ||
| Weighted Avg Shares (Basic) | 34.4M | 34.6M | 34.7M | 34.8M | 34.9M | 35.0M | 35.1M | 35.4M | 35.7M | 35.8M | 36.0M | 36.6M |
| YoY % | +0.7% | +0.3% | +0.4% | +0.3% | +0.3% | +0.3% | +0.7% | +0.7% | +0.5% | +0.3% | +1.8% | |
| Weighted Avg Shares (Diluted) | 34.4M | 34.8M | 34.9M | 35.3M | 35.5M | 35.5M | 35.7M | 35.8M | 35.9M | 36.0M | 36.1M | 36.7M |
| YoY % | +1.4% | +0.2% | +1.0% | +0.5% | +0.2% | +0.3% | +0.4% | +0.4% | +0.3% | +0.3% | +1.6% |
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.