| Market Cap | $4.45B | |
| Enterprise Value | — | |
| Revenue | $541.7M | +16.0% |
| Gross Profit | $384.2M | +21.6% |
| EBITDA | $99.0M | +100.0% |
| Net Income | $88.0M | +174.9% |
| Diluted EPS | $0.82 | +164.5% |
| Free Cash Flow | $155.3M | +98.5% |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 12y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||||||
| Gross Margin | 56.52% | 56.57% | 60.88% | 60.81% | 64.05% | 70.03% | — | — | — | — | — | — | — | — | |
| Operating Margin | −75.95% | −67.60% | −44.25% | −36.88% | −24.16% | −12.57% | −30.12% | −37.31% | −13.85% | −23.76% | 3.62% | 11.17% | 96% | 81% | |
| EBITDA Margin | −72.88% | −63.05% | −38.86% | −31.54% | −19.90% | −9.15% | −23.36% | −28.39% | −5.11% | −16.23% | 8.88% | 15.31% | 96% | 80% | |
| NOPAT Margin | −60.00% | −53.41% | −34.96% | −29.14% | −19.09% | −9.93% | −23.80% | −29.48% | −10.94% | −18.77% | 3.40% | 10.87% | 96% | 80% | |
| Net Margin | — | — | — | — | −25.00% | −10.47% | −29.71% | −34.42% | −12.33% | −20.61% | 5.41% | 12.83% | 94% | 84% | |
| FCF Margin | — | −66.93% | −49.46% | −35.68% | −16.73% | −4.97% | −10.68% | −16.85% | −0.34% | 9.49% | 14.31% | 24.49% | 95% | 93% | |
| FCFE Margin | — | −66.93% | −19.57% | −36.38% | −16.73% | −25.66% | −10.77% | −16.85% | −0.77% | 9.49% | 14.31% | — | — | — | |
| OCF Margin | — | −54.47% | −42.99% | −33.24% | −14.70% | −2.69% | −8.27% | −14.41% | 2.54% | 12.25% | 16.85% | 26.36% | 95% | 92% | |
| Gross Profitability | 33.29% | 37.22% | 39.22% | 55.62% | 48.85% | 30.63% | — | — | 15.19% | 20.60% | 22.93% | 25.78% | 35% | 47% | |
| Capex Intensity | 5.30% | 12.45% | 6.47% | 2.44% | 2.04% | 2.29% | 2.41% | 2.45% | 2.88% | 2.76% | 2.53% | 1.87% | 4% | 41% | |
| ▸Returns on Capital · 6 ratios | |||||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||||||||
| ▸Earnings quality · 7 ratios | |||||||||||||||
| ▸Liquidity & coverage · 8 ratios | |||||||||||||||
| ▸Leverage · 8 ratios | |||||||||||||||
| ▸Working capital · 8 ratios | |||||||||||||||
| ▸Capital allocation · 1 ratios | |||||||||||||||
| ▸Per share · 6 ratios | |||||||||||||||
| ▸Other · 1 ratios | |||||||||||||||
The five drivers multiply to 5.3% vs reported ROE 5.3%. 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 | $38.2M | $49.5M | $65.1M | $72.0M | $92.0M | $120.4M | $117.5M | $219.5M | $296.5M | $361.1M | $445.8M | $517.1M |
| YoY % | +29.6% | +31.5% | +10.6% | +27.9% | +30.8% | -2.4% | +86.8% | +35.1% | +21.8% | +23.5% | +16.0% | |
| Cost of Revenue | $16.6M | $21.5M | $25.5M | $28.2M | $33.1M | $36.1M | — | — | — | — | — | — |
| YoY % | +29.5% | +18.4% | +10.7% | +17.3% | +9.1% | |||||||
| Gross Profit | — | — | — | — | — | — | — | — | $175.7M | $229.7M | $298.1M | $362.5M |
| YoY % | +30.7% | +29.8% | +21.6% | |||||||||
| R&D Expense | $9.8M | $12.8M | $15.3M | $13.9M | $14.8M | $14.9M | $17.2M | $29.8M | $40.6M | $57.3M | $69.3M | $70.8M |
| YoY % | +30.5% | +19.8% | -9.4% | +6.8% | +0.2% | +15.8% | +73.5% | +36.1% | +41.1% | +20.9% | +2.2% | |
| Selling & Marketing Expense | $21.9M | $25.3M | $28.2M | $32.3M | $41.3M | $53.7M | $52.4M | $79.8M | $97.6M | $101.5M | $95.4M | $100.2M |
| YoY % | +15.3% | +11.7% | +14.2% | +28.1% | +30.0% | -2.4% | +52.4% | +22.2% | +4.0% | -6.0% | +5.0% | |
| SG&A Expense | $18.9M | $22.6M | $23.8M | $23.1M | $24.0M | $29.0M | $36.7M | $101.4M | $73.2M | $86.2M | $110.6M | $110.8M |
| YoY % | +19.8% | +5.3% | -2.9% | +3.8% | +21.1% | +26.5% | +175.9% | -27.8% | +17.8% | +28.3% | +0.2% | |
| Total Operating Expenses | — | — | — | $98.5M | $114.2M | $135.5M | $152.9M | $301.4M | $216.8M | $315.5M | $282.0M | $304.8M |
| YoY % | +16.0% | +18.6% | +12.8% | +97.2% | -28.1% | +45.5% | -10.6% | +8.1% | ||||
| Operating Income | -$29.0M | -$33.5M | -$28.8M | -$26.5M | -$22.2M | -$15.1M | -$35.4M | -$81.9M | -$41.1M | -$85.8M | $16.1M | $57.8M |
| YoY % | +257.9% | |||||||||||
| Interest Expense | $439,000 | $378,000 | $2.8M | $4.9M | $2.0M | $677,000 | $229,000 | — | — | — | — | — |
| YoY % | -13.9% | +629.4% | +79.2% | -60.3% | -65.5% | -66.2% | ||||||
| Other Non-Operating Income | $72,000 | $140,000 | $202,000 | $476,000 | $1.2M | $2.5M | $480,000 | $254,000 | $4.7M | $9.2M | $9.6M | $10.4M |
| YoY % | +94.4% | +44.3% | +135.6% | +151.5% | +111.2% | -81.0% | -47.1% | +1732.3% | +97.3% | +4.6% | +8.6% | |
| Impairment of Real Estate | — | — | — | — | — | — | — | — | — | $0 | $600,000 | $20.5M |
| YoY % | +3316.7% | |||||||||||
| Pretax Income | -$29.4M | -$33.7M | -$31.4M | -$31.0M | -$23.0M | -$12.6M | -$34.9M | -$81.6M | -$36.4M | -$76.6M | $25.7M | $68.2M |
| YoY % | +164.9% | |||||||||||
| Income Tax | $0 | $0 | $0 | $0 | $0 | $0 | $0 | -$6.1M | $133,000 | -$2.2M | $1.6M | $1.8M |
| YoY % | +15.1% | |||||||||||
| Net Income | — | — | — | — | -$23.0M | -$12.6M | -$34.9M | -$75.6M | -$36.6M | -$74.4M | $24.1M | $66.4M |
| YoY % | +174.9% | |||||||||||
| Net Income to Common | -$29.4M | -$33.7M | -$31.4M | -$31.0M | -$23.0M | -$12.6M | — | — | -$36.6M | -$74.4M | $24.1M | $66.4M |
| YoY % | +174.9% | |||||||||||
| EPS (Basic) | — | — | — | — | — | -$0.27 | -$0.66 | -$1.11 | -$0.51 | -$1.02 | $0.32 | $0.84 |
| YoY % | +162.5% | |||||||||||
| EPS (Diluted) | — | — | — | — | — | -$0.27 | -$0.66 | -$1.11 | -$0.51 | -$1.02 | $0.31 | $0.82 |
| YoY % | +164.5% | |||||||||||
| Weighted Avg Shares (Basic) | — | — | — | — | — | 46.1M | 53.2M | 67.9M | 71.5M | 72.6M | 76.5M | 78.6M |
| YoY % | +15.4% | +27.5% | +5.4% | +1.5% | +5.3% | +2.7% | ||||||
| Weighted Avg Shares (Diluted) | — | — | — | — | — | 46.1M | 53.2M | 67.9M | 71.5M | 72.6M | 78.2M | 80.6M |
| YoY % | +15.4% | +27.5% | +5.4% | +1.5% | +7.6% | +3.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.