| Market Cap | $1.85B | |
| Enterprise Value | — | |
| Revenue | $666.1M | +13.6% |
| Gross Profit | $443.7M | +11.8% |
| EBITDA | $53.3M | +426.6% |
| Net Income | $40.6M | +1159.2% |
| Diluted EPS | $0.19 | +850.0% |
| Free Cash Flow | $39.4M | −17.4% |
| Ratio | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 7y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | ||||||||||
| Gross Margin | 71.80% | 72.30% | 71.79% | 70.07% | 69.09% | 67.61% | 66.53% | 7% | 91% | |
| Operating Margin | −0.31% | 22.02% | 2.62% | 7.45% | 6.24% | 0.41% | 6.04% | 50% | 60% | |
| EBITDA Margin | 0.15% | 22.38% | 2.96% | 7.83% | 6.78% | 1.61% | 7.48% | 64% | 47% | |
| NOPAT Margin | −0.31% | 18.87% | 0.00% | 4.07% | 3.46% | 0.08% | 4.39% | 79% | 58% | |
| Net Margin | 0.10% | 18.91% | −2.28% | 4.19% | 4.15% | 0.49% | 5.43% | 79% | 69% | |
| FCF Margin | — | 7.41% | 15.19% | −8.04% | 15.50% | 11.55% | 8.40% | 42% | 76% | |
| OCF Margin | 5.91% | 8.27% | 15.83% | −6.98% | 18.49% | 14.61% | 9.69% | 50% | 63% | |
| Gross Profitability | — | 142.11% | 96.62% | 89.72% | 79.66% | 73.68% | 72.39% | 8% | 86% | |
| Capex Intensity | — | 0.86% | 0.65% | 1.06% | 3.00% | 3.06% | 1.29% | 58% | 30% | |
| ▸Returns on Capital · 3 ratios | ||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | ||||||||||
| ▸Earnings quality · 6 ratios | ||||||||||
| ▸Liquidity & coverage · 3 ratios | ||||||||||
| ▸Leverage · 2 ratios | ||||||||||
| ▸Working capital · 8 ratios | ||||||||||
| ▸Capital allocation · 2 ratios | ||||||||||
| ▸Per share · 6 ratios | ||||||||||
| ▸Other · 1 ratios | ||||||||||
The five drivers multiply to 8.3% vs reported ROE 8.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 | $110.5M | $263.1M | $419.6M | $505.8M | $545.6M | $555.6M | $631.1M |
| YoY % | +138.1% | +59.5% | +20.6% | +7.9% | +1.8% | +13.6% | |
| Cost of Revenue | $31.2M | $72.9M | $118.4M | $151.4M | $168.7M | $179.9M | $211.3M |
| YoY % | +133.9% | +62.4% | +27.9% | +11.4% | +6.7% | +17.4% | |
| Gross Profit | $79.3M | $190.2M | $301.2M | $354.5M | $377.0M | $375.6M | $419.8M |
| YoY % | +139.8% | +58.4% | +17.7% | +6.3% | -0.4% | +11.8% | |
| Selling & Marketing Expense | $33.2M | $38.9M | $58.7M | $77.7M | $77.1M | $88.6M | $93.1M |
| YoY % | +17.0% | +51.1% | +32.3% | -0.8% | +14.9% | +5.1% | |
| SG&A Expense | $21.6M | $41.5M | $149.6M | $120.7M | $140.7M | $142.9M | $142.7M |
| YoY % | +91.9% | +260.2% | -19.4% | +16.6% | +1.6% | -0.1% | |
| Total Operating Expenses | $79.7M | $132.3M | $290.2M | $316.8M | $342.9M | $373.4M | $381.7M |
| YoY % | +66.0% | +119.4% | +9.1% | +8.2% | +8.9% | +2.2% | |
| Operating Income | -$347,000 | $57.9M | $11.0M | $37.7M | $34.0M | $2.3M | $38.1M |
| YoY % | -81.0% | +242.9% | -9.6% | -93.3% | +1584.2% | ||
| Other Non-Operating Income | — | $0 | -$885,000 | -$647,000 | -$13,000 | $833,000 | $312,000 |
| YoY % | -62.5% | ||||||
| Impairment of Real Estate | — | $0 | $0 | $0 | $0 | $0 | $0 |
| Pretax Income | $112,000 | $58.1M | $9.9M | $38.7M | $40.8M | $14.3M | $47.2M |
| YoY % | +51753.6% | -83.0% | +292.8% | +5.4% | -64.9% | +229.2% | |
| Income Tax | $0 | $8.3M | $19.4M | $17.5M | $18.2M | $11.6M | $13.0M |
| YoY % | +133.4% | -9.7% | +3.6% | -36.0% | +11.5% | ||
| Net Income (incl. NCI) | $112,000 | $49.8M | -$9.6M | $21.2M | $22.6M | $2.7M | $34.3M |
| YoY % | +44326.8% | +6.8% | -88.0% | +1159.2% | |||
| Net Income | $112,000 | $49.8M | -$9.6M | $21.2M | $22.6M | $2.7M | $34.3M |
| YoY % | +44326.8% | +6.8% | -88.0% | +1159.2% | |||
| EPS (Basic) | $0.00 | $0.32 | -$0.06 | $0.13 | $0.13 | $0.02 | $0.21 |
| YoY % | 0.0% | -84.6% | +950.0% | ||||
| EPS (Diluted) | $0.00 | $0.30 | -$0.06 | $0.11 | $0.12 | $0.02 | $0.19 |
| YoY % | +9.1% | -83.3% | +850.0% | ||||
| Weighted Avg Shares (Basic) | 153.1M | 153.3M | 159.2M | 165.3M | 168.1M | 169.2M | 163.5M |
| YoY % | +0.2% | +3.8% | +3.8% | +1.7% | +0.7% | -3.4% | |
| Weighted Avg Shares (Diluted) | 153.6M | 163.3M | 159.2M | 187.5M | 182.4M | 180.1M | 179.5M |
| YoY % | +6.3% | -2.5% | +17.8% | -2.7% | -1.3% | -0.3% |
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.