| Market Cap | $625.7M | |
| Enterprise Value | $550.7M | |
| Revenue | $343.5M | +12.5% |
| Gross Profit | $262.4M | +15.4% |
| EBITDA | $38.8M | +24.0% |
| Net Income | $20.3M | +12.5% |
| Diluted EPS | $0.82 | +17.1% |
| Free Cash Flow | $39.2M | +5.7% |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 12y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||||||
| Gross Margin | 73.36% | 73.11% | 72.87% | 73.45% | 71.41% | 71.59% | 70.97% | 71.24% | 71.31% | 71.11% | 73.96% | 75.91% | 96% | 73% | |
| Operating Margin | 7.96% | 5.49% | 5.05% | 3.57% | 2.06% | 5.40% | −1.94% | −0.85% | −5.17% | 6.57% | 7.57% | 8.89% | 96% | 78% | |
| EBITDA Margin | 9.44% | 6.80% | 6.00% | 5.21% | 4.63% | 7.22% | −0.45% | 0.92% | −2.63% | 8.96% | 9.89% | 10.90% | 96% | 73% | |
| NOPAT Margin | 4.34% | 2.35% | 3.38% | 3.57% | 2.06% | 5.32% | −1.53% | −0.67% | −4.08% | 6.57% | 5.47% | 5.41% | 79% | 70% | |
| Net Margin | 4.34% | 2.22% | 3.41% | 5.36% | 4.56% | 5.64% | −0.33% | −5.68% | −7.24% | 10.39% | 5.79% | 5.79% | 88% | 75% | |
| FCF Margin | — | 2.87% | 7.40% | 0.41% | 3.31% | −1.51% | 0.39% | 0.25% | 1.39% | 12.22% | 13.06% | 12.27% | 86% | 79% | |
| FCFF Margin | — | — | — | — | — | — | — | — | — | 13.73% | 13.57% | 12.46% | 17% | 37% | |
| OCF Margin | — | 3.82% | 8.32% | 3.84% | 6.21% | 1.29% | 1.49% | 1.26% | 2.11% | 13.07% | 13.88% | 12.99% | 77% | 77% | |
| Gross Profitability | — | 124.32% | 83.32% | 90.75% | 95.50% | 88.46% | 76.29% | 60.68% | 69.01% | 69.33% | 72.73% | 91.31% | 77% | 96% | |
| Capex Intensity | 0.74% | 0.94% | 0.92% | 3.43% | 2.89% | 2.80% | 1.10% | 1.01% | 0.72% | 0.85% | 0.82% | 0.72% | 13% | 23% | |
| ▸Returns on Capital · 3 ratios | |||||||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||||||||
| ▸Earnings quality · 6 ratios | |||||||||||||||
| ▸Liquidity & coverage · 9 ratios | |||||||||||||||
| ▸Leverage · 9 ratios | |||||||||||||||
| ▸Working capital · 8 ratios | |||||||||||||||
| ▸Capital allocation · 2 ratios | |||||||||||||||
| ▸Per share · 6 ratios | |||||||||||||||
| ▸Other · 1 ratios | |||||||||||||||
The five drivers multiply to 8.4% vs reported ROE 8.8%. High ROE from margin and turnover is earned; from the equity multiplier it is borrowed.
| Line | 2014↗ | 2015↗ | 2016↗ | 2017↗ | 2018↗ | 2019↗ | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $47.7M | $62.9M | $84.5M | $109.3M | $145.2M | $194.5M | $187.1M | $208.1M | $246.8M | $274.4M | $293.0M | $329.5M |
| YoY % | +31.7% | +34.5% | +29.3% | +32.8% | +34.0% | -3.8% | +11.2% | +18.6% | +11.2% | +6.8% | +12.5% | |
| Cost of Revenue | $12.7M | $16.9M | $22.9M | $29.0M | $41.5M | $55.3M | $54.3M | $59.8M | $70.8M | $79.3M | $76.3M | $79.4M |
| YoY % | +33.0% | +35.7% | +26.5% | +43.0% | +33.2% | -1.7% | +10.2% | +18.3% | +12.0% | -3.8% | +4.0% | |
| Gross Profit | $35.0M | $46.0M | $61.6M | $80.3M | $102.3M | $134.2M | $132.8M | $148.2M | $176.0M | $195.1M | $216.7M | $250.1M |
| YoY % | +31.2% | +34.0% | +30.3% | +27.4% | +31.3% | -1.1% | +11.6% | +18.7% | +10.9% | +11.0% | +15.4% | |
| R&D Expense | $2.8M | $4.3M | $4.5M | $5.1M | $5.3M | $5.2M | $5.3M | $5.7M | $7.1M | $7.8M | $8.8M | $8.5M |
| YoY % | +51.7% | +3.8% | +13.0% | +4.5% | -2.2% | +1.7% | +7.5% | +25.3% | +10.4% | +12.9% | -4.0% | |
| Selling & Marketing Expense | $18.2M | $24.5M | $33.8M | $44.4M | $60.4M | $78.9M | $79.6M | $86.8M | $106.4M | $107.1M | $112.0M | $121.2M |
| YoY % | +34.9% | +38.0% | +31.4% | +36.0% | +30.7% | +0.9% | +9.0% | +22.6% | +0.7% | +4.6% | +8.2% | |
| SG&A Expense | $10.2M | $13.7M | $19.1M | $26.9M | $33.6M | $39.5M | $51.3M | $56.8M | $60.8M | $62.1M | $71.1M | $88.7M |
| YoY % | +34.1% | +39.0% | +41.2% | +24.9% | +17.4% | +30.1% | +10.6% | +7.0% | +2.1% | +14.6% | +24.7% | |
| Total Operating Expenses | $31.2M | $42.5M | $57.3M | $76.4M | $99.3M | $123.7M | $136.4M | $150.0M | $188.7M | $177.1M | $194.5M | $220.9M |
| YoY % | +36.2% | +34.9% | +33.2% | +30.0% | +24.7% | +10.3% | +9.9% | +25.8% | -6.2% | +9.8% | +13.6% | |
| Operating Income | $3.8M | $3.5M | $4.3M | $3.9M | $3.0M | $10.5M | -$3.6M | -$1.8M | -$12.8M | $18.0M | $22.2M | $29.3M |
| YoY % | -9.2% | +23.8% | -8.8% | -23.3% | +251.1% | +22.9% | +32.0% | |||||
| Interest Expense | — | — | — | — | — | — | — | — | $2.8M | $4.1M | $2.1M | $1.0M |
| YoY % | +48.7% | -49.7% | -50.2% | |||||||||
| Interest & Investment Income | — | — | — | — | — | — | — | — | $60,000 | $1.9M | $3.4M | $3.1M |
| YoY % | +3023.3% | +80.6% | -8.5% | |||||||||
| Other Non-Operating Income | -$4,000 | -$194,000 | $38,000 | $292,000 | $486,000 | $631,000 | $1.4M | -$531,000 | -$2.7M | -$2.3M | — | — |
| YoY % | +668.4% | +66.4% | +29.8% | +116.6% | ||||||||
| Impairment of Real Estate | — | — | — | — | — | — | $4.0M | — | — | — | — | — |
| Pretax Income | $3.8M | $3.3M | $4.3M | $4.2M | $3.5M | $11.1M | -$2.3M | -$2.3M | -$15.5M | $15.8M | $23.5M | $31.3M |
| YoY % | -14.2% | +32.3% | -2.8% | -17.0% | +220.2% | +48.9% | +33.4% | |||||
| Income Tax | $1.7M | $1.9M | $1.4M | -$1.7M | -$3.1M | $158,000 | -$1.6M | $9.5M | $2.4M | -$12.7M | $6.5M | $12.3M |
| YoY % | +8.1% | -23.2% | -74.9% | +87.7% | ||||||||
| Net Income (incl. NCI) | — | $1.4M | $2.9M | $5.9M | $6.6M | $11.0M | -$620,000 | -$11.8M | -$17.9M | $28.5M | $17.0M | $19.1M |
| YoY % | +106.7% | +103.4% | +13.1% | +65.7% | -40.5% | +12.5% | ||||||
| Net Income | $2.1M | $1.4M | $2.9M | $5.9M | $6.6M | $11.0M | -$620,000 | -$11.8M | -$17.9M | $28.5M | $17.0M | $19.1M |
| YoY % | -32.7% | +106.7% | +103.4% | +13.1% | +65.7% | -40.5% | +12.5% | |||||
| Net Income to Common | $93,000 | -$452,000 | $1.6M | $5.9M | $6.6M | $11.0M | -$620,000 | -$11.8M | -$17.9M | — | — | — |
| YoY % | +258.8% | +13.1% | +65.7% | |||||||||
| Preferred Dividends | $1.8M | $1.8M | $1.2M | — | — | — | — | — | — | — | — | — |
| YoY % | +4.8% | -32.4% | ||||||||||
| EPS (Basic) | $0.04 | -$0.15 | $0.18 | $0.34 | $0.36 | $0.58 | -$0.03 | -$0.60 | -$0.89 | $1.24 | $0.71 | $0.83 |
| YoY % | +88.9% | +5.9% | +61.1% | -42.7% | +16.9% | |||||||
| EPS (Diluted) | $0.02 | -$0.15 | $0.15 | $0.31 | $0.34 | $0.56 | -$0.03 | -$0.60 | -$0.89 | $1.23 | $0.70 | $0.82 |
| YoY % | +106.7% | +9.7% | +64.7% | -43.1% | +17.1% | |||||||
| Weighted Avg Shares (Basic) | 2.5M | 2.9M | 8.9M | 17.4M | 18.3M | 18.9M | 19.3M | 19.7M | 20.1M | 22.9M | 23.9M | 22.9M |
| YoY % | +17.6% | +204.3% | +94.7% | +5.2% | +3.7% | +2.3% | +1.9% | +1.8% | +14.2% | +4.2% | -4.2% | |
| Weighted Avg Shares (Diluted) | 3.8M | 2.9M | 10.8M | 18.9M | 19.3M | 19.6M | 19.3M | 19.7M | 20.1M | 23.2M | 24.1M | 23.3M |
| YoY % | -22.9% | +267.3% | +75.5% | +2.5% | +1.5% | -1.5% | +1.9% | +1.8% | +15.5% | +4.2% | -3.5% |
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.