| Market Cap | $2.08B | |
| Enterprise Value | — | |
| Revenue | $1.17B | +10.3% |
| Gross Profit | $649.6M | +12.1% |
| EBITDA | $117.9M | +5556.3% |
| Net Income | $57.3M | — |
| Diluted EPS | $0.66 | — |
| Free Cash Flow | $216.2M | +99.7% |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 12y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||||||
| Gross Margin | 46.98% | 53.83% | 58.71% | 58.49% | 59.62% | 58.99% | 58.55% | 55.53% | 52.81% | 52.48% | 54.17% | 55.07% | 46% | 58% | |
| Operating Margin | −34.46% | −16.41% | −4.04% | −2.86% | 2.72% | 1.00% | −2.83% | −9.23% | −11.25% | −10.83% | −4.92% | 2.51% | 88% | 54% | |
| EBITDA Margin | −28.19% | −10.68% | 1.14% | 1.30% | 6.71% | 5.38% | 2.94% | −2.87% | −5.51% | −5.50% | 0.15% | 7.89% | 96% | 56% | |
| NOPAT Margin | −27.22% | −12.97% | −3.19% | −2.26% | 0.00% | 0.79% | −2.24% | −7.29% | −8.88% | −8.55% | −3.89% | 2.20% | 96% | 53% | |
| Net Margin | −36.65% | −20.05% | −7.32% | −4.48% | −0.09% | −1.39% | −9.69% | −8.69% | −12.15% | −8.98% | −1.23% | 3.43% | 96% | 58% | |
| FCF Margin | −24.54% | −10.91% | 3.52% | 4.22% | 11.40% | 9.75% | 8.48% | −2.17% | 4.70% | 10.72% | 9.67% | 17.51% | 96% | 71% | |
| FCFF Margin | — | — | — | — | — | — | — | — | — | — | — | 18.59% | — | 50% | 55% |
| OCF Margin | −23.55% | −10.04% | 4.22% | 5.55% | 14.99% | 15.62% | 15.47% | 4.76% | 11.41% | 14.15% | 13.74% | 19.69% | 96% | 71% | |
| Gross Profitability | 41.43% | 69.91% | 90.42% | 91.36% | 38.93% | 40.11% | 23.94% | 28.37% | 33.05% | 31.97% | 27.52% | 35.35% | 46% | 65% | |
| Capex Intensity | 0.99% | 0.87% | 0.70% | 1.32% | 3.59% | 5.86% | 7.00% | 6.93% | 6.71% | 3.43% | 4.07% | 2.17% | 38% | 53% | |
| ▸Returns on Capital · 6 ratios | |||||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||||||||
| ▸Earnings quality · 7 ratios | |||||||||||||||
| ▸Liquidity & coverage · 8 ratios | |||||||||||||||
| ▸Leverage · 9 ratios | |||||||||||||||
| ▸Working capital · 5 ratios | |||||||||||||||
| ▸Capital allocation · 2 ratios | |||||||||||||||
| ▸Per share · 6 ratios | |||||||||||||||
| ▸Other · 1 ratios | |||||||||||||||
The five drivers multiply to 4.7% vs reported ROE 5.6%. 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 | $103.1M | $128.9M | $162.1M | $200.2M | $257.7M | $328.0M | $434.9M | $609.6M | $778.8M | $910.5M | $1.04B | $1.15B |
| YoY % | +25.0% | +25.8% | +23.5% | +28.7% | +27.3% | +32.6% | +40.2% | +27.8% | +16.9% | +14.4% | +10.3% | |
| Cost of Revenue | $54.7M | $59.5M | $66.9M | $83.1M | $104.0M | $134.5M | $180.3M | $271.1M | $367.5M | $432.7M | $477.5M | $516.2M |
| YoY % | +8.8% | +12.5% | +24.2% | +25.2% | +29.3% | +34.0% | +50.4% | +35.6% | +17.7% | +10.4% | +8.1% | |
| Gross Profit | $48.4M | $69.4M | $95.2M | $117.1M | $153.6M | $193.5M | $254.6M | $338.5M | $411.3M | $477.8M | $564.4M | $632.9M |
| YoY % | +43.2% | +37.2% | +23.1% | +31.2% | +25.9% | +31.6% | +32.9% | +21.5% | +16.2% | +18.1% | +12.1% | |
| R&D Expense | $22.1M | $22.7M | $23.9M | $27.1M | $34.2M | $45.2M | $68.7M | $106.9M | $141.8M | $156.6M | $166.2M | $152.3M |
| YoY % | +2.5% | +5.4% | +13.6% | +26.0% | +32.2% | +52.1% | +55.5% | +32.6% | +10.4% | +6.1% | -8.3% | |
| Selling & Marketing Expense | $37.4M | $42.0M | $52.7M | $66.6M | $72.0M | $95.6M | $132.4M | $193.9M | $262.0M | $296.7M | $312.0M | $311.8M |
| YoY % | +12.3% | +25.5% | +26.2% | +8.2% | +32.8% | +38.5% | +46.5% | +35.1% | +13.3% | +5.1% | -0.0% | |
| SG&A Expense | $24.4M | $25.8M | $25.1M | $29.2M | $40.4M | $49.4M | $65.8M | $93.9M | $95.1M | $123.1M | $137.6M | $139.9M |
| YoY % | +5.8% | -2.9% | +16.3% | +38.8% | +22.2% | +33.0% | +42.8% | +1.3% | +29.4% | +11.8% | +1.7% | |
| Total Operating Expenses | $84.0M | $90.5M | $101.7M | $122.8M | $146.6M | $190.2M | $266.9M | $394.7M | $498.9M | $576.4M | $615.7M | $604.0M |
| YoY % | +7.8% | +12.3% | +20.8% | +19.4% | +29.7% | +40.3% | +47.9% | +26.4% | +15.5% | +6.8% | -1.9% | |
| Operating Income | -$35.5M | -$21.1M | -$6.5M | -$5.7M | $7.0M | $3.3M | -$12.3M | -$56.3M | -$87.6M | -$98.6M | -$51.3M | $28.9M |
| YoY % | -53.4% | |||||||||||
| Interest Expense | — | — | — | — | — | — | — | — | $7.5M | $7.6M | $14.8M | $14.1M |
| YoY % | +2.0% | +93.7% | -5.0% | |||||||||
| Other Non-Operating Income | $245,000 | $100,000 | -$12,000 | $490,000 | $3.3M | $6.1M | $3.0M | -$8,000 | $4.8M | $26.8M | $46.7M | $30.2M |
| YoY % | -59.2% | +576.5% | +83.4% | -50.1% | +456.8% | +74.4% | -35.5% | |||||
| Impairment of Real Estate | — | — | — | — | — | — | — | — | $0 | $0 | $2.2M | $835,000 |
| YoY % | -62.1% | |||||||||||
| Pretax Income | -$37.7M | -$25.8M | -$11.8M | -$8.7M | $79,000 | -$4.4M | -$44.6M | -$64.3M | -$90.3M | -$79.4M | -$12.8M | $44.9M |
| Income Tax | $85,000 | $61,000 | $54,000 | $268,000 | $300,000 | $104,000 | -$2.5M | -$11.3M | $4.4M | $2.3M | $40,000 | $5.5M |
| YoY % | -28.2% | -11.5% | +396.3% | +11.9% | -65.3% | -46.6% | -98.3% | +13715.0% | ||||
| Net Income | -$37.8M | -$25.8M | -$11.9M | -$9.0M | -$221,000 | -$4.6M | -$42.1M | -$53.0M | -$94.7M | -$81.8M | -$12.8M | $39.4M |
| EPS (Basic) | — | — | — | — | — | -$0.08 | -$0.66 | -$0.79 | -$1.35 | -$1.13 | -$0.17 | $0.51 |
| EPS (Diluted) | — | — | — | — | — | -$0.08 | -$0.66 | -$0.79 | -$1.35 | -$1.13 | -$0.17 | $0.45 |
| Weighted Avg Shares (Basic) | — | — | — | — | — | 60.4M | 64.2M | 67.5M | 69.9M | 72.0M | 74.5M | 76.9M |
| YoY % | +6.3% | +5.2% | +3.6% | +3.0% | +3.4% | +3.2% | ||||||
| Weighted Avg Shares (Diluted) | — | — | — | — | — | 60.4M | 64.2M | 67.5M | 69.9M | 72.0M | 74.5M | 88.0M |
| YoY % | +6.3% | +5.2% | +3.6% | +3.0% | +3.4% | +18.1% |
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.