| Market Cap | $569.9M | |
| Enterprise Value | — | |
| Revenue | $555.7M | −6.0% |
| Gross Profit | $49.6M | −24.0% |
| EBITDA | $29.6M | −54.4% |
| Net Income | -$16.3M | −131.2% |
| Diluted EPS | -$0.40 | −132.3% |
| Free Cash Flow | $14.6M | −65.4% |
| Ratio | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 6y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||
| Gross Margin | 8.81% | 11.30% | 11.32% | 11.85% | 12.22% | 9.88% | 25% | 8% | |
| Operating Margin | −1.82% | −1.63% | 4.78% | 3.43% | 7.66% | −0.70% | 42% | 24% | |
| EBITDA Margin | 7.16% | 5.36% | 10.21% | 9.39% | 14.12% | 6.85% | 25% | 34% | |
| NOPAT Margin | −1.44% | −1.28% | 4.00% | 3.03% | 5.93% | −0.56% | 42% | 21% | |
| Net Margin | −1.98% | −1.64% | 3.47% | 1.33% | 4.46% | −1.48% | 42% | 24% | |
| FCF Margin | 8.03% | −5.46% | −1.15% | 4.04% | 13.36% | 4.92% | 58% | 46% | |
| FCFF Margin | — | — | −0.62% | 5.70% | 14.82% | — | — | — | |
| FCFE Margin | — | −5.52% | −1.35% | 2.90% | 13.22% | 4.83% | 70% | 46% | |
| OCF Margin | 10.21% | 3.18% | 9.72% | 6.86% | 15.44% | 7.06% | 42% | 39% | |
| Gross Profitability | 9.31% | 13.54% | 13.86% | 14.03% | 15.96% | 9.58% | 25% | 17% | |
| Capex Intensity | 2.18% | 8.64% | 10.87% | 2.82% | 2.08% | 2.13% | 25% | 47% | |
| ▸Returns on Capital · 3 ratios | |||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||
| ▸Earnings quality · 6 ratios | |||||||||
| ▸Liquidity & coverage · 6 ratios | |||||||||
| ▸Leverage · 2 ratios | |||||||||
| ▸Working capital · 8 ratios | |||||||||
| ▸Capital allocation · 2 ratios | |||||||||
| ▸Per share · 6 ratios | |||||||||
| ▸Other · 1 ratios | |||||||||
The five drivers multiply to 9.8% vs reported ROE 10.8%. High ROE from margin and turnover is earned; from the equity multiplier it is borrowed.
| Line | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|
| Revenue | $357.6M | $454.8M | $539.4M | $588.4M | $581.6M | $546.5M |
| YoY % | +27.2% | +18.6% | +9.1% | -1.2% | -6.0% | |
| Cost of Revenue | $326.1M | $403.5M | $478.3M | $518.7M | $510.5M | $492.5M |
| YoY % | +23.7% | +18.6% | +8.4% | -1.6% | -3.5% | |
| Operating Income | -$6.5M | -$7.4M | $25.8M | $20.2M | $44.6M | -$3.8M |
| YoY % | -21.7% | +120.7% | ||||
| Interest Expense | — | — | $3.4M | $11.1M | $11.0M | $10.2M |
| YoY % | +228.2% | -0.9% | -7.0% | |||
| Impairment of Real Estate | — | — | — | $0 | $0 | $0 |
| Pretax Income | -$9.2M | -$9.4M | $22.4M | $8.9M | $33.6M | -$14.1M |
| YoY % | -60.3% | +277.8% | ||||
| Income Tax | -$2.1M | -$1.9M | $3.7M | $1.0M | $7.6M | -$5.9M |
| YoY % | -71.7% | +631.1% | ||||
| Net Income (incl. NCI) | -$7.1M | -$7.5M | $18.7M | $7.8M | $26.0M | -$8.1M |
| YoY % | -58.1% | +231.1% | ||||
| Net Income | -$7.1M | -$7.5M | $18.7M | $7.8M | $26.0M | -$8.1M |
| YoY % | -58.1% | +231.1% | ||||
| EPS (Basic) | -$0.36 | -$0.37 | $0.92 | $0.38 | $1.26 | -$0.40 |
| YoY % | -58.7% | +231.6% | ||||
| EPS (Diluted) | -$0.36 | -$0.36 | $0.91 | $0.38 | $1.24 | -$0.40 |
| YoY % | -58.2% | +226.3% | ||||
| Weighted Avg Shares (Basic) | 19.9M | 20.4M | 20.4M | 20.4M | 20.6M | 20.5M |
| YoY % | +2.5% | -0.0% | +0.1% | +1.0% | -0.7% | |
| Weighted Avg Shares (Diluted) | 19.9M | 20.8M | 20.7M | 20.7M | 21.0M | 20.5M |
| YoY % | +4.7% | -0.7% | +0.1% | +1.3% | -2.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.