| Market Cap | $2.58B | |
| Enterprise Value | — | |
| Revenue | $947.1M | +39.8% |
| Gross Profit | $466.9M | +100.1% |
| EBITDA | $599.4M | +80.7% |
| Net Income | $287.5M | +123.3% |
| Diluted EPS | $0.90 | +119.5% |
| Free Cash Flow | — | — |
| Ratio | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 6y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||
| Gross Margin | 39.51% | 34.25% | 21.54% | 22.56% | 34.46% | 49.30% | 92% | 70% | |
| Operating Margin | 20.52% | 22.82% | −16.66% | −0.05% | 23.06% | 43.12% | 92% | 94% | |
| EBITDA Margin | 36.80% | 43.20% | 8.70% | 26.03% | 48.97% | 63.29% | 92% | 86% | |
| NOPAT Margin | 7.50% | 12.65% | −13.16% | −0.04% | 14.69% | 31.12% | 92% | 90% | |
| Net Margin | 7.73% | 9.65% | −18.80% | −6.03% | 19.01% | 30.35% | 92% | 93% | |
| OCF Margin | — | — | — | — | 34.80% | 48.08% | 75% | 80% | |
| Gross Profitability | 10.44% | 10.16% | 7.82% | 9.66% | 11.03% | 19.78% | 92% | 69% | |
| ▸Returns on Capital · 3 ratios | |||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||
| ▸Earnings quality · 4 ratios | |||||||||
| ▸Liquidity & coverage · 5 ratios | |||||||||
| ▸Leverage · 9 ratios | |||||||||
| ▸Working capital · 8 ratios | |||||||||
| ▸Capital allocation · 1 ratios | |||||||||
| ▸Per share · 2 ratios | |||||||||
| ▸Other · 1 ratios | |||||||||
The five drivers multiply to 18.1% vs reported ROE 18.7%. High ROE from margin and turnover is earned; from the equity multiplier it is borrowed.
| Line | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|
| Revenue | $279.0M | $599.9M | $681.5M | $842.4M | $677.2M | $947.1M |
| YoY % | +115.0% | +13.6% | +23.6% | -19.6% | +39.8% | |
| Cost of Revenue | $168.7M | $394.4M | $534.7M | $652.4M | $443.9M | $480.2M |
| YoY % | +133.7% | +35.6% | +22.0% | -32.0% | +8.2% | |
| Gross Profit | $110.2M | $205.5M | $146.8M | $190.0M | $233.4M | $466.9M |
| YoY % | +86.4% | -28.6% | +29.4% | +22.8% | +100.1% | |
| SG&A Expense | $35.1M | $45.4M | $61.5M | $64.1M | $68.1M | $97.7M |
| YoY % | +29.3% | +35.5% | +4.3% | +6.3% | +43.6% | |
| Operating Income | $57.2M | $136.9M | -$113.6M | -$407,000 | $156.1M | $408.4M |
| YoY % | +139.1% | +161.5% | ||||
| Interest Expense | $1.5M | $10.2M | $8.9M | $18.4M | — | — |
| YoY % | +578.5% | -13.3% | +106.7% | |||
| Interest & Investment Income | $1.2M | $1.8M | $1.9M | $3.7M | $3.7M | $14.5M |
| YoY % | +51.7% | +0.3% | +97.4% | +0.8% | +294.8% | |
| Equity Method Income | -$76,000 | — | — | — | — | — |
| Pretax Income | $59.0M | $107.2M | -$125.1M | -$11.1M | $141.7M | $400.2M |
| YoY % | +81.8% | +182.3% | ||||
| Income Tax | $37.4M | $47.8M | $10.8M | $32.6M | $51.4M | $111.4M |
| YoY % | +27.7% | -77.4% | +201.7% | +57.8% | +116.7% | |
| Income from Continuing Operations | — | — | — | — | $90.3M | $288.8M |
| YoY % | +219.7% | |||||
| Income from Discontinued Operations | — | — | — | — | $51.6M | $22.3M |
| YoY % | -56.8% | |||||
| Net Income (incl. NCI) | $21.6M | $59.4M | -$135.9M | -$43.6M | $141.9M | $311.1M |
| YoY % | +175.6% | +119.2% | ||||
| Minority Interest (P&L) | — | $1.5M | -$7.8M | $7.2M | $13.2M | $23.6M |
| YoY % | +82.8% | +79.1% | ||||
| Net Income | $21.6M | $57.9M | -$128.1M | -$50.8M | $128.7M | $287.5M |
| YoY % | +168.5% | +123.3% | ||||
| Net Income to Common | — | — | — | — | $128.7M | $287.5M |
| YoY % | +123.3% | |||||
| EPS (Basic) | $0.12 | $0.24 | -$0.44 | -$0.17 | $0.42 | $0.94 |
| YoY % | +100.0% | +123.8% | ||||
| EPS (Diluted) | $0.12 | $0.23 | -$0.44 | -$0.17 | $0.41 | $0.90 |
| YoY % | +91.7% | +119.5% | ||||
| Weighted Avg Shares (Basic) | 175.0M | 238.0M | 291.3M | 295.1M | 308.9M | 306.9M |
| YoY % | +36.0% | +22.4% | +1.3% | +4.7% | -0.7% | |
| Weighted Avg Shares (Diluted) | 186.1M | 249.4M | 291.3M | 295.1M | 310.7M | 334.9M |
| YoY % | +34.1% | +16.8% | +1.3% | +5.3% | +7.8% |
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.