| Market Cap | $643.1M | |
| Enterprise Value | $604.9M | |
| Revenue | $715.6M | +51.8% |
| Gross Profit | $174.0M | +31.6% |
| EBITDA | $102.3M | +32.5% |
| Net Income | $102.2M | +64.5% |
| Diluted EPS | $4.94 | +64.1% |
| Free Cash Flow | — | — |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 12y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||||||
| Gross Margin | 18.42% | 14.14% | 8.60% | 12.24% | 11.85% | 18.29% | 13.99% | 9.05% | 18.40% | 23.07% | 29.53% | 25.59% | 88% | 39% | |
| Operating Margin | 6.94% | −4.81% | −7.46% | −4.33% | −7.40% | 3.15% | −5.20% | −9.11% | 5.11% | 9.65% | 17.15% | 15.19% | 88% | 81% | |
| EBITDA Margin | 7.95% | −2.43% | −4.43% | −2.06% | −5.34% | 4.76% | −3.24% | −7.49% | 6.50% | 10.87% | 18.25% | 15.93% | 88% | 67% | |
| NOPAT Margin | 5.10% | −3.80% | −5.90% | −3.42% | −5.85% | 3.00% | −4.11% | −7.20% | 4.98% | 9.33% | 16.93% | 15.19% | 88% | 87% | |
| Net Margin | 6.18% | −0.80% | −13.98% | −11.43% | −11.03% | 1.51% | −5.50% | −10.62% | 2.34% | 5.73% | 14.56% | 15.78% | 96% | 88% | |
| FCF Margin | −6.43% | −8.55% | — | — | — | — | — | — | — | — | — | — | — | — | |
| FCFE Margin | −5.27% | 5.51% | — | — | — | — | — | — | — | — | — | — | — | — | |
| OCF Margin | −4.34% | −6.30% | 9.51% | −1.85% | −1.24% | 3.32% | −1.82% | −13.47% | −1.84% | 15.36% | 13.11% | 3.34% | 71% | 26% | |
| Gross Profitability | 23.99% | 14.48% | 11.03% | 20.64% | 20.27% | 31.84% | 20.58% | 13.73% | 27.68% | 37.24% | 42.82% | 43.53% | 96% | 85% | |
| Capex Intensity | 2.08% | 2.26% | — | — | — | — | — | — | — | — | — | — | — | — | |
| ▸Returns on Capital · 6 ratios | |||||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||||||||
| ▸Earnings quality · 7 ratios | |||||||||||||||
| ▸Liquidity & coverage · 7 ratios | |||||||||||||||
| ▸Leverage · 9 ratios | |||||||||||||||
| ▸Working capital · 8 ratios | |||||||||||||||
| ▸Per share · 6 ratios | |||||||||||||||
| ▸Other · 1 ratios | |||||||||||||||
The five drivers multiply to 72.0% vs reported ROE 93.5%. 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 | $347.6M | $362.4M | $339.5M | $416.6M | $496.0M | $546.1M | $417.6M | $456.3M | $481.3M | $459.0M | $476.0M | $722.4M |
| YoY % | +4.3% | -6.3% | +22.7% | +19.1% | +10.1% | -23.5% | +9.2% | +5.5% | -4.6% | +3.7% | +51.8% | |
| Cost of Revenue | $283.5M | $311.1M | $310.3M | $365.6M | $437.3M | $446.2M | $359.2M | $415.0M | $392.8M | $353.1M | $335.4M | $537.5M |
| YoY % | +9.7% | -0.3% | +17.8% | +19.6% | +2.0% | -19.5% | +15.5% | -5.4% | -10.1% | -5.0% | +60.2% | |
| Gross Profit | $64.0M | $51.2M | $29.2M | $51.0M | $58.8M | $99.9M | $58.4M | $41.3M | $88.6M | $105.9M | $140.5M | $184.9M |
| YoY % | -20.0% | -43.0% | +74.7% | +15.2% | +70.0% | -41.5% | -29.4% | +114.6% | +19.5% | +32.8% | +31.6% | |
| R&D Expense | $19.3M | $23.6M | $19.0M | $19.9M | $28.6M | $24.9M | $25.4M | $22.4M | $18.9M | $19.5M | $20.1M | $18.2M |
| YoY % | +22.1% | -19.6% | +5.2% | +43.4% | -12.8% | +1.8% | -11.6% | -15.8% | +3.0% | +3.1% | -9.4% | |
| Selling & Marketing Expense | $23.1M | $28.8M | $28.5M | $44.3M | $59.6M | $54.1M | $51.7M | $57.9M | $42.9M | $40.4M | $37.4M | $55.8M |
| YoY % | +24.6% | -1.1% | +55.2% | +34.7% | -9.3% | -4.4% | +11.8% | -25.8% | -6.0% | -7.4% | +49.3% | |
| SG&A Expense | $13.4M | $15.7M | — | — | — | — | — | — | — | — | — | — |
| YoY % | +17.3% | |||||||||||
| Total Operating Expenses | $39.9M | $68.7M | $54.5M | $69.0M | $95.5M | $82.7M | $80.2M | $82.8M | $64.0M | $61.6M | $58.9M | $75.2M |
| YoY % | +71.9% | -20.6% | +26.6% | +38.3% | -13.4% | -3.0% | +3.3% | -22.8% | -3.7% | -4.4% | +27.7% | |
| Operating Income | $24.1M | -$17.4M | -$25.3M | -$18.0M | -$36.7M | $17.2M | -$21.7M | -$41.6M | $24.6M | $44.3M | $81.6M | $109.7M |
| YoY % | +80.0% | +84.4% | +34.4% | |||||||||
| Interest Expense | — | — | — | — | — | — | — | — | — | $17.1M | $11.4M | $6.7M |
| YoY % | -33.0% | -41.4% | ||||||||||
| Other Non-Operating Income | $283,000 | -$144,000 | -$359,000 | -$2.4M | $176,000 | — | $1.2M | -$1,000 | $0 | — | $0 | $352,000 |
| Equity Method Income | -$209,000 | -$229,000 | — | — | — | — | — | — | — | — | — | — |
| Impairment of Real Estate | — | — | — | — | — | — | — | — | $0 | $0 | $0 | $0 |
| Pretax Income | $29.2M | -$12.6M | -$35.9M | -$47.2M | -$54.6M | $8.7M | -$26.7M | -$48.9M | $11.6M | $27.2M | $70.2M | $103.4M |
| YoY % | +135.1% | +158.0% | +47.2% | |||||||||
| Income Tax | $7.7M | -$9.7M | $11.6M | $443,000 | $169,000 | $409,000 | -$3.7M | -$406,000 | $304,000 | $900,000 | $922,000 | -$10.6M |
| YoY % | -96.2% | -61.9% | +142.0% | +196.1% | +2.4% | |||||||
| Net Income | $21.5M | -$2.9M | -$47.5M | -$47.6M | -$54.7M | $8.2M | -$23.0M | -$48.5M | $11.3M | $26.3M | $69.3M | $114.0M |
| YoY % | +133.4% | +163.4% | +64.5% | |||||||||
| Net Income to Common | $21.5M | -$2.9M | -$47.5M | -$85.5M | -$54.7M | — | — | — | — | — | — | — |
| Preferred Dividends | $0 | $0 | $0 | $37.9M | $0 | — | — | — | — | — | — | — |
| YoY % | -100.0% | |||||||||||
| EPS (Basic) | $2.01 | -$0.27 | -$4.34 | -$6.20 | -$2.94 | $0.38 | -$1.00 | -$2.12 | $0.49 | $1.15 | $3.01 | $4.95 |
| YoY % | +134.7% | +161.7% | +64.5% | |||||||||
| EPS (Diluted) | $1.38 | -$1.11 | -$4.47 | -$6.20 | -$2.94 | $0.38 | -$1.00 | -$2.12 | $0.49 | $1.15 | $3.01 | $4.94 |
| YoY % | +134.7% | +161.7% | +64.1% | |||||||||
| Weighted Avg Shares (Basic) | 10.7M | 10.8M | 10.9M | 13.8M | 18.6M | 21.5M | 22.9M | 22.9M | 22.9M | 23.0M | 23.0M | 23.0M |
| YoY % | +1.0% | +1.1% | +26.1% | +34.8% | +15.7% | +6.3% | +0.2% | +0.1% | +0.1% | +0.1% | +0.2% | |
| Weighted Avg Shares (Diluted) | 11.1M | 11.0M | 10.9M | 13.8M | 18.6M | 21.5M | 22.9M | 22.9M | 22.9M | 23.0M | 23.0M | 23.1M |
| YoY % | -1.3% | -0.5% | +26.1% | +34.8% | +15.8% | +6.2% | +0.2% | +0.2% | +0.1% | +0.2% | +0.2% |
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.