| Market Cap | $77.6M | |
| Enterprise Value | $106.0M | |
| Revenue | $306.1M | +2.2% |
| Gross Profit | $152.4M | +2.7% |
| EBITDA | $13.8M | — |
| Net Income | $9.1M | — |
| Diluted EPS | $0.49 | — |
| Free Cash Flow | $2.8M | −107.3% |
| Ratio | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 | Trend · 7y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | ||||||||||
| Gross Margin | 47.56% | 40.30% | 45.42% | 38.60% | 45.51% | 49.47% | 49.71% | 93% | 76% | |
| Operating Margin | −5.43% | −27.78% | 0.15% | −7.11% | 10.80% | −5.85% | 3.08% | 79% | 42% | |
| EBITDA Margin | −2.88% | −24.64% | 2.16% | −4.78% | 12.48% | −4.49% | 4.05% | 79% | 33% | |
| NOPAT Margin | — | — | — | −5.62% | 10.80% | −4.62% | 2.00% | 63% | 39% | |
| Net Margin | 8.10% | −29.86% | −3.94% | −10.73% | 8.69% | −6.49% | 2.13% | 64% | 48% | |
| FCF Margin | 3.28% | −12.99% | −1.64% | −6.17% | 0.06% | 6.07% | −0.43% | 50% | 22% | |
| FCFF Margin | — | — | — | — | 3.86% | — | 0.31% | 25% | 10% | |
| FCFE Margin | — | — | — | — | — | 0.96% | −0.43% | 25% | 23% | |
| OCF Margin | 4.48% | −11.40% | −0.07% | −5.39% | 0.56% | 7.52% | 1.00% | 64% | 20% | |
| Gross Profitability | 49.25% | 26.61% | 43.46% | 45.48% | 59.20% | 65.18% | 66.27% | 93% | 83% | |
| Capex Intensity | 1.21% | 1.59% | 1.57% | 0.78% | 0.50% | 1.44% | 1.43% | 50% | 33% | |
| ▸Returns on Capital · 6 ratios | ||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | ||||||||||
| ▸Earnings quality · 7 ratios | ||||||||||
| ▸Liquidity & coverage · 9 ratios | ||||||||||
| ▸Leverage · 7 ratios | ||||||||||
| ▸Working capital · 8 ratios | ||||||||||
| ▸Capital allocation · 1 ratios | ||||||||||
| ▸Per share · 6 ratios | ||||||||||
| ▸Other · 1 ratios | ||||||||||
The five drivers multiply to 12.8% vs reported ROE 13.9%. High ROE from margin and turnover is earned; from the equity multiplier it is borrowed.
| Line | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ | 2026↗ |
|---|---|---|---|---|---|---|---|
| Revenue | $375.2M | $219.9M | $322.7M | $357.4M | $292.9M | $293.5M | $300.0M |
| YoY % | -41.4% | +46.8% | +10.8% | -18.1% | +0.2% | +2.2% | |
| Cost of Revenue | $196.8M | $131.3M | $176.1M | $219.5M | $159.6M | $148.3M | $150.9M |
| YoY % | -33.3% | +34.2% | +24.6% | -27.3% | -7.1% | +1.7% | |
| Gross Profit | $178.4M | $88.6M | $146.6M | $138.0M | $133.3M | $145.2M | $149.1M |
| YoY % | -50.3% | +65.4% | -5.9% | -3.4% | +8.9% | +2.7% | |
| SG&A Expense | $178.5M | $122.8M | $146.1M | $161.4M | $134.5M | $138.0M | $139.9M |
| YoY % | -31.2% | +19.0% | +10.5% | -16.7% | +2.6% | +1.4% | |
| Operating Income | -$20.4M | -$61.1M | $483,000 | -$25.4M | $31.6M | -$17.2M | $9.2M |
| Interest Expense | $5.0M | $5.0M | $8.6M | $9.9M | $11.1M | $6.6M | $3.4M |
| YoY % | +1.0% | +71.9% | +14.9% | +12.5% | -40.9% | -47.8% | |
| Other Non-Operating Income | $55.8M | $2.3M | — | — | — | — | — |
| YoY % | -95.9% | ||||||
| Equity Method Income | — | — | — | — | $1.5M | $712,000 | $1.6M |
| YoY % | -51.3% | +123.3% | |||||
| Gains on Sale of Real Estate | -$128,000 | — | -$12,000 | -$121,000 | -$260,000 | -$88,000 | -$71,000 |
| Impairment of Real Estate | $818,000 | $13.0M | — | $1.9M | $0 | $0 | $0 |
| YoY % | +1492.4% | -100.0% | |||||
| Pretax Income | — | — | — | -$35.3M | $20.5M | -$23.4M | $7.4M |
| Income Tax | $98,000 | $1.9M | $4.6M | $3.0M | -$3.5M | -$3.6M | $2.6M |
| YoY % | +1804.1% | +145.5% | -33.7% | ||||
| Net Income (incl. NCI) | $30.4M | -$65.6M | -$12.7M | -$38.3M | $25.4M | -$19.0M | $6.4M |
| Net Income | $30.4M | -$65.6M | -$12.7M | -$38.3M | $25.4M | -$19.0M | $6.4M |
| EPS (Basic) | $2.60 | -$5.58 | -$1.07 | -$3.14 | $2.05 | -$1.51 | $0.49 |
| EPS (Diluted) | $2.55 | -$5.58 | -$1.07 | -$3.14 | $2.04 | -$1.51 | $0.49 |
| Weighted Avg Shares (Basic) | 11.8M | 11.8M | 11.9M | 12.2M | 12.4M | 12.6M | 13.0M |
| YoY % | 0.0% | +1.1% | +2.7% | +1.8% | +1.1% | +3.2% | |
| Weighted Avg Shares (Diluted) | 11.8M | 11.8M | 11.9M | 12.2M | 12.5M | 12.6M | 13.1M |
| YoY % | 0.0% | +1.1% | +2.7% | +2.1% | +0.8% | +3.9% |
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.