| Market Cap | $118.9M | |
| Enterprise Value | — | |
| Revenue | $56.6M | +5.2% |
| Gross Profit | $45.7M | +7.4% |
| EBITDA | $2.4M | −71.8% |
| Net Income | $3.2M | — |
| Diluted EPS | $0.23 | — |
| Free Cash Flow | $2.7M | −95.9% |
| Ratio | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 6y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||
| Gross Margin | 88.91% | 90.42% | 88.63% | 91.10% | 77.92% | 79.55% | 25% | 60% | |
| Operating Margin | 9.36% | 7.66% | −1.87% | 0.27% | −3.62% | −1.66% | 42% | 38% | |
| EBITDA Margin | 14.02% | 12.56% | 4.70% | 7.56% | 5.43% | 1.46% | 8% | 23% | |
| NOPAT Margin | 9.36% | 7.66% | −1.47% | 0.00% | −2.86% | −1.31% | 42% | 21% | |
| Net Margin | 22.44% | 9.46% | 0.62% | −8.29% | — | — | — | — | |
| FCF Margin | 13.68% | 8.57% | 2.28% | 8.22% | 15.78% | 0.61% | 8% | 18% | |
| OCF Margin | 19.06% | 17.30% | 8.11% | 12.47% | 18.05% | 3.35% | 8% | 21% | |
| Gross Profitability | 79.20% | 83.10% | 95.98% | 122.94% | 48.88% | 71.63% | 25% | 86% | |
| Capex Intensity | 5.38% | 8.74% | 5.83% | 4.25% | 2.27% | 2.74% | 25% | 74% | |
| ▸Returns on Capital · 3 ratios | |||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||
| ▸Earnings quality · 6 ratios | |||||||||
| ▸Liquidity & coverage · 2 ratios | |||||||||
| ▸Leverage · 2 ratios | |||||||||
| ▸Working capital · 5 ratios | |||||||||
| ▸Capital allocation · 2 ratios | |||||||||
| ▸Per share · 6 ratios | |||||||||
| ▸Other · 1 ratios | |||||||||
The five drivers multiply to -38.0% vs reported ROE -34.0%. High ROE from margin and turnover is earned; from the equity multiplier it is borrowed.
| Line | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|
| Revenue | $58.7M | $80.0M | $101.3M | $117.7M | $52.2M | $54.9M |
| YoY % | +36.3% | +26.5% | +16.2% | -55.7% | +5.2% | |
| Cost of Revenue | $6.5M | $7.7M | $11.5M | $10.5M | $11.5M | $11.2M |
| YoY % | +17.8% | +50.2% | -9.0% | +9.9% | -2.5% | |
| Selling & Marketing Expense | $7.8M | $11.4M | $11.0M | $8.7M | $11.0M | $13.3M |
| YoY % | +46.4% | -3.9% | -20.8% | +26.3% | +21.2% | |
| SG&A Expense | $46.7M | $66.2M | $42.5M | $36.2M | $42.5M | $44.6M |
| YoY % | +41.6% | -35.8% | -14.8% | +17.3% | +5.0% | |
| Operating Income | $5.5M | $6.1M | -$1.9M | $318,299 | -$1.9M | -$913,376 |
| YoY % | +11.5% | |||||
| Other Non-Operating Income | -$79,478 | -$69,878 | -$133,101 | -$64,293 | $280,287 | $683,872 |
| YoY % | +144.0% | |||||
| Impairment of Real Estate | $0 | $100,000 | — | $0 | $66,019 | — |
| Pretax Income | $5.4M | $6.1M | -$1.6M | $254,006 | -$1.6M | -$229,504 |
| YoY % | +11.9% | |||||
| Income Tax | -$7.8M | -$1.5M | $5,606 | $11.0M | $5,606 | $38,653 |
| YoY % | +196535.9% | -99.9% | +589.5% | |||
| Income from Discontinued Operations | — | — | -$4.2M | $1.0M | -$4.2M | $3.2M |
| Net Income (incl. NCI) | $13.2M | $7.6M | -$5.8M | -$9.8M | -$5.8M | $2.9M |
| YoY % | -42.5% | |||||
| Minority Interest (P&L) | $0 | — | — | — | — | — |
| Net Income | $13.2M | $7.6M | $626,705 | -$9.8M | — | — |
| YoY % | -42.5% | -91.7% | ||||
| EPS (Basic) | $0.94 | $0.53 | -$0.39 | -$0.66 | -$0.39 | $0.19 |
| YoY % | -43.6% | |||||
| EPS (Diluted) | $0.90 | $0.51 | -$0.38 | -$0.65 | -$0.38 | $0.19 |
| YoY % | -43.3% | |||||
| Weighted Avg Shares (Basic) | 14.0M | 14.3M | 14.5M | 14.7M | 14.9M | 15.1M |
| YoY % | +2.3% | +1.2% | +1.4% | +1.6% | +1.4% | |
| Weighted Avg Shares (Diluted) | 14.6M | 14.9M | 14.9M | 14.9M | 15.1M | 15.2M |
| YoY % | +2.4% | -0.5% | +0.5% | +1.4% | +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.