| Market Cap | $32.3M | |
| Enterprise Value | — | |
| Revenue | $24.3M | −14.3% |
| Gross Profit | $6.0M | −0.7% |
| EBITDA | $2.5M | −9.4% |
| Net Income | $1.9M | −6.2% |
| Diluted EPS | $0.38 | −7.3% |
| Free Cash Flow | $2.3M | +22.7% |
| Ratio | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 6y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||
| Gross Margin | 20.18% | 26.24% | 20.40% | 18.77% | 22.16% | 25.66% | 75% | 21% | |
| Operating Margin | 4.74% | 13.22% | 10.57% | 8.91% | 8.94% | 9.33% | 58% | 71% | |
| EBITDA Margin | 8.89% | 16.41% | 12.38% | 10.58% | 10.99% | 11.62% | 58% | 64% | |
| NOPAT Margin | 4.74% | 10.72% | 8.28% | 7.03% | 6.83% | 7.15% | 58% | 68% | |
| Net Margin | 13.78% | 12.48% | 8.34% | 7.84% | 8.14% | 8.90% | 58% | 72% | |
| FCF Margin | 8.37% | 14.16% | 7.93% | 6.53% | 8.18% | 11.70% | 75% | 59% | |
| OCF Margin | 9.10% | 19.41% | 10.22% | 8.15% | 10.36% | 16.83% | 75% | 65% | |
| Gross Profitability | 27.31% | 36.73% | 40.46% | 30.03% | 32.63% | 29.13% | 25% | 55% | |
| Capex Intensity | 0.72% | 5.25% | 2.29% | 1.62% | 2.19% | 5.13% | 75% | 76% | |
| ▸Returns on Capital · 3 ratios | |||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||
| ▸Earnings quality · 6 ratios | |||||||||
| ▸Liquidity & coverage · 3 ratios | |||||||||
| ▸Leverage · 2 ratios | |||||||||
| ▸Working capital · 8 ratios | |||||||||
| ▸Capital allocation · 2 ratios | |||||||||
| ▸Per share · 6 ratios | |||||||||
| ▸Other · 1 ratios | |||||||||
The five drivers multiply to 13.0% vs reported ROE 12.9%. High ROE from margin and turnover is earned; from the equity multiplier it is borrowed.
| Line | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|
| Revenue | $10.9M | $13.4M | $23.5M | $28.0M | $22.9M | $19.6M |
| YoY % | +23.4% | +74.5% | +19.2% | -18.3% | -14.3% | |
| Cost of Revenue | $8.7M | $9.9M | $18.7M | $22.7M | $17.8M | $14.6M |
| YoY % | +14.0% | +88.3% | +21.7% | -21.7% | -18.1% | |
| Gross Profit | $2.2M | $3.5M | $4.8M | $5.3M | $5.1M | $5.0M |
| YoY % | +60.5% | +35.6% | +9.7% | -3.5% | -0.7% | |
| R&D Expense | $337,823 | $235,679 | $375,728 | $501,937 | $564,576 | $434,436 |
| YoY % | -30.2% | +59.4% | +33.6% | +12.5% | -23.1% | |
| Selling & Marketing Expense | $195,505 | $235,091 | $381,313 | $484,185 | $519,064 | $600,581 |
| YoY % | +20.2% | +62.2% | +27.0% | +7.2% | +15.7% | |
| SG&A Expense | $1.1M | $1.3M | $1.5M | $1.8M | $1.9M | $2.2M |
| YoY % | +11.5% | +21.0% | +14.3% | +9.5% | +11.7% | |
| Operating Income | $516,347 | $1.8M | $2.5M | $2.5M | $2.0M | $1.8M |
| YoY % | +244.3% | +39.5% | +0.6% | -18.0% | -10.5% | |
| Impairment of Real Estate | $0 | $62,166 | $83.6M | $22.5M | $17,138 | $54,613 |
| YoY % | +134372.2% | -73.1% | -99.9% | +218.7% | ||
| Pretax Income | $484,260 | $2.1M | $2.5M | $2.8M | $2.4M | $2.3M |
| YoY % | +327.7% | +20.7% | +11.3% | -12.3% | -6.5% | |
| Income Tax | -$1.0M | $392,242 | $542,395 | $586,710 | $576,818 | $533,853 |
| YoY % | +38.3% | +8.2% | -1.7% | -7.4% | ||
| Net Income (incl. NCI) | — | $1.7M | $2.0M | $2.2M | $1.9M | $1.7M |
| YoY % | +16.6% | +12.1% | -15.2% | -6.2% | ||
| Net Income | $1.5M | $1.7M | $2.0M | $2.2M | $1.9M | $1.7M |
| YoY % | +11.8% | +16.6% | +12.1% | -15.2% | -6.2% | |
| Net Income to Common | $1.5M | $1.7M | $2.0M | — | — | — |
| YoY % | +12.0% | +18.3% | ||||
| EPS (Basic) | $0.33 | $0.37 | $0.43 | $0.48 | $0.41 | $0.38 |
| YoY % | +12.1% | +16.2% | +11.6% | -14.6% | -7.3% | |
| EPS (Diluted) | $0.33 | $0.37 | $0.43 | $0.48 | $0.41 | $0.38 |
| YoY % | +12.1% | +16.2% | +11.6% | -14.6% | -7.3% | |
| Weighted Avg Shares (Basic) | 4.4M | 4.5M | 4.5M | 4.5M | 4.6M | 4.6M |
| YoY % | +1.6% | +0.4% | +0.3% | +0.5% | +0.4% | |
| Weighted Avg Shares (Diluted) | 4.4M | 4.5M | 4.5M | 4.6M | 4.6M | 4.6M |
| YoY % | +2.0% | +0.4% | +0.4% | -0.1% | +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.