| Market Cap | $247.7M | |
| Enterprise Value | — | |
| Revenue | $259.7M | +4.3% |
| Gross Profit | — | — |
| EBITDA | — | — |
| Net Income | $18.5M | −2.2% |
| Diluted EPS | — | — |
| Free Cash Flow | $16.2M | −43.9% |
| Ratio | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 6y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||
| Net Margin | −4.60% | 29.02% | 11.18% | 10.15% | 6.09% | 5.71% | 25% | 25% | |
| FCF Margin | 20.35% | 15.74% | 24.44% | 8.98% | 12.76% | 6.86% | 8% | 25% | |
| OCF Margin | 20.44% | 16.15% | 24.48% | 9.16% | 13.03% | 7.04% | 8% | 24% | |
| Capex Intensity | 0.09% | 0.40% | 0.04% | 0.18% | 0.27% | 0.17% | 42% | 10% | |
| ▸Returns on Capital · 2 ratios | |||||||||
| ▸DuPont factors (ROE drivers) · 3 ratios | |||||||||
| ▸Earnings quality · 4 ratios | |||||||||
| ▸Leverage · 2 ratios | |||||||||
| ▸Capital allocation · 1 ratios | |||||||||
| ▸Per share · 3 ratios | |||||||||
| Line | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|
| Revenue | $238.9M | $250.5M | $232.5M | $240.7M | $245.0M | $255.6M |
| YoY % | +4.9% | -7.2% | +3.5% | +1.8% | +4.3% | |
| Gains on Sale of Real Estate | $0 | $981,000 | $0 | $0 | — | — |
| YoY % | -100.0% | |||||
| Pretax Income | -$12.3M | $30.5M | $27.4M | $26.2M | $15.0M | $17.5M |
| YoY % | -10.3% | -4.4% | -42.8% | +16.6% | ||
| Income Tax | -$1.3M | -$42.2M | $1.4M | $1.7M | $68,000 | $2.9M |
| YoY % | +26.8% | -96.1% | +4133.8% | |||
| Net Income | -$11.0M | $72.7M | $26.0M | $24.4M | $14.9M | $14.6M |
| YoY % | -64.2% | -6.0% | -39.0% | -2.2% | ||
| Weighted Avg Shares (Basic) | 50.4M | 50.0M | 50.1M | 49.7M | — | — |
| YoY % | -0.9% | +0.3% | -0.9% | |||
| Weighted Avg Shares (Diluted) | 50.9M | 50.6M | 50.9M | 50.7M | — | — |
| YoY % | -0.6% | +0.4% | -0.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.