| Market Cap | $612.5M | |
| Enterprise Value | — | |
| Revenue | $281.7M | −2.9% |
| Gross Profit | $178.1M | −5.5% |
| EBITDA | -$3.9M | −93.9% |
| Net Income | -$17.5M | −215.7% |
| Diluted EPS | -$0.31 | −234.8% |
| Free Cash Flow | $69.8M | +19.5% |
| Ratio | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 7y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | ||||||||||
| Gross Margin | 68.29% | 72.31% | 74.30% | 68.21% | 62.84% | 65.31% | 63.56% | 21% | 68% | |
| Operating Margin | 7.47% | 21.35% | 25.91% | 15.80% | 0.76% | 1.35% | −6.10% | 7% | 38% | |
| EBITDA Margin | 13.53% | 31.90% | 32.83% | 25.01% | 11.44% | 9.86% | 0.62% | 7% | 42% | |
| NOPAT Margin | 5.38% | 17.99% | 22.63% | 12.11% | 0.64% | 0.95% | −4.82% | 7% | 34% | |
| Net Margin | 5.83% | 17.89% | 24.95% | 11.20% | 3.33% | 4.29% | −5.11% | 7% | 39% | |
| FCF Margin | 22.46% | 0.10% | 25.67% | 20.03% | 26.41% | 19.17% | 23.58% | 64% | 83% | |
| OCF Margin | 30.85% | 16.36% | 39.08% | 34.02% | 30.38% | 25.21% | 28.65% | 36% | 85% | |
| Gross Profitability | — | 28.97% | 30.64% | 27.23% | 24.13% | 25.72% | 26.44% | 42% | 49% | |
| Capex Intensity | 8.39% | 16.25% | 13.41% | 13.99% | 3.97% | 6.04% | 5.07% | 21% | 76% | |
| ▸Returns on Capital · 3 ratios | ||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | ||||||||||
| ▸Earnings quality · 6 ratios | ||||||||||
| ▸Liquidity & coverage · 2 ratios | ||||||||||
| ▸Leverage · 2 ratios | ||||||||||
| ▸Working capital · 5 ratios | ||||||||||
| ▸Capital allocation · 2 ratios | ||||||||||
| ▸Per share · 3 ratios | ||||||||||
The five drivers multiply to 4.6% vs reported ROE 4.4%. High ROE from margin and turnover is earned; from the equity multiplier it is borrowed.
| Line | 2019↗ | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|---|
| Revenue | $113.9M | $148.7M | $226.9M | $256.4M | $267.0M | $291.3M | $282.9M |
| YoY % | +30.6% | +52.5% | +13.0% | +4.1% | +9.1% | -2.9% | |
| Cost of Revenue | $36.1M | $41.2M | $58.3M | $81.5M | $99.2M | $101.0M | $103.1M |
| YoY % | +14.1% | +41.6% | +39.8% | +21.7% | +1.8% | +2.0% | |
| Gross Profit | $77.8M | $107.6M | $168.6M | $174.9M | $167.8M | $190.2M | $179.8M |
| YoY % | +38.3% | +56.7% | +3.7% | -4.1% | +13.4% | -5.5% | |
| R&D Expense | $12.5M | $12.3M | $15.9M | $20.8M | $26.7M | $33.3M | $33.8M |
| YoY % | -1.6% | +29.7% | +31.2% | +28.2% | +24.5% | +1.7% | |
| Selling & Marketing Expense | $36.5M | $43.3M | $58.2M | $68.6M | $82.8M | $95.4M | $102.9M |
| YoY % | +18.6% | +34.3% | +17.9% | +20.8% | +15.2% | +7.9% | |
| SG&A Expense | $20.3M | $20.3M | $35.8M | $44.9M | $56.2M | $57.7M | $60.3M |
| YoY % | -0.2% | +76.5% | +25.7% | +25.1% | +2.6% | +4.6% | |
| Total Operating Expenses | $69.3M | $75.8M | $109.8M | $134.3M | $165.7M | $186.3M | $197.1M |
| YoY % | +9.5% | +44.8% | +22.4% | +23.4% | +12.4% | +5.8% | |
| Operating Income | $8.5M | $31.8M | $58.8M | $40.5M | $2.0M | $3.9M | -$17.3M |
| YoY % | +273.2% | +85.1% | -31.1% | -95.0% | +92.9% | ||
| Interest & Investment Income | $1.3M | $537,000 | $300,000 | $2.2M | — | — | — |
| YoY % | -58.4% | -44.1% | +638.0% | ||||
| Other Non-Operating Income | -$577,000 | -$712,000 | $281,000 | $681,000 | -$359,000 | $5.4M | -$4.2M |
| YoY % | +142.3% | ||||||
| Pretax Income | $9.2M | $31.6M | $64.8M | $37.5M | $10.5M | $17.8M | -$16.0M |
| YoY % | +242.4% | +105.2% | -42.2% | -72.0% | +69.2% | ||
| Income Tax | $2.6M | $5.0M | $8.2M | $8.8M | $1.6M | $5.3M | -$1.5M |
| YoY % | +92.6% | +65.1% | +6.9% | -81.5% | +224.5% | ||
| Net Income | $6.6M | $26.6M | $56.6M | $28.7M | $8.9M | $12.5M | -$14.5M |
| YoY % | +300.6% | +112.7% | -49.3% | -69.1% | +40.8% | ||
| Net Income to Common | $439,000 | $6.4M | $56.6M | $28.7M | $8.9M | $12.5M | -$14.5M |
| YoY % | +1363.8% | +780.9% | -49.3% | -69.1% | +40.8% | ||
| EPS (Basic) | $0.04 | $0.51 | $1.13 | $0.55 | $0.17 | $0.25 | -$0.31 |
| YoY % | +1175.0% | +121.6% | -51.3% | -69.1% | +47.1% | ||
| EPS (Diluted) | $0.04 | $0.46 | $1.00 | $0.50 | $0.16 | $0.23 | -$0.31 |
| YoY % | +1050.0% | +117.4% | -50.0% | -68.0% | +43.8% | ||
| Weighted Avg Shares (Basic) | 10.0M | 12.6M | 50.2M | 52.3M | 51.8M | 49.2M | 47.0M |
| YoY % | +26.0% | +297.0% | +4.2% | -1.0% | -4.9% | -4.5% | |
| Weighted Avg Shares (Diluted) | 12.2M | 17.1M | 56.6M | 56.9M | 56.0M | 54.3M | 47.0M |
| YoY % | +40.7% | +230.7% | +0.5% | -1.5% | -3.1% | -13.4% |
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.