| Market Cap | $360.4M | |
| Enterprise Value | — | |
| Revenue | — | — |
| Gross Profit | — | — |
| EBITDA | — | — |
| Net Income | — | — |
| Diluted EPS | — | — |
| Free Cash Flow | — | — |
| DPS (FY2024) | $0.72derived |
| Trailing yield | 3.84% |
| Payout ratio | 77.0% |
| Growth streak | 1 yr |
| 5y DPS growth | — |
| Fiscal year | DPS | YoY | Basis |
|---|---|---|---|
| FY20242024-12-31 | $0.72 | +30.2% | derived (paid ÷ diluted shares) |
| FY20232023-12-31 | $0.55 | — | derived (paid ÷ diluted shares) |
| Ex-date | Amount | Pay date | Freq | Source |
|---|---|---|---|---|
| 2026-05-22 | $0.1400 |
| Ratio | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | Trend · 10y |
|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||
| Gross Margin | 38.71% | 48.24% | 48.14% | 42.52% | 52.00% | 56.29% | 56.21% | 55.66% | 43.47% | 55.88% | |
| Operating Margin | 17.34% | 30.61% | 29.55% | 31.32% | 48.54% | 35.88% | 29.79% | 21.25% | 7.49% | 23.86% | |
| EBITDA Margin | — | — | — | — | — | 40.51% | 36.42% | 28.38% | 17.39% | 32.62% | |
| NOPAT Margin | 12.18% | 18.05% | 17.08% | 20.32% | 34.05% | 23.24% | 18.30% | 10.92% | 0.00% | 13.57% | |
| Net Margin | 9.76% | 13.75% | 13.45% | 15.74% | 28.10% | 18.86% | 14.34% | 7.91% | −5.37% | 9.78% | |
| FCF Margin | −19.80% | 5.04% | 4.12% | −3.69% | −2.36% | 5.88% | −1.00% | 0.79% | −9.42% | 7.91% | |
| FCFF Margin | −19.03% | 5.23% | 4.18% | −3.43% | −2.05% | 6.12% | −0.81% | 1.03% | −9.42% | 8.89% | |
| FCFE Margin | — | — | 1.97% | −5.88% | −2.36% | 5.31% | −1.29% | 0.79% | −9.42% | 9.55% | |
| OCF Margin | 14.02% | 37.12% | 35.14% | 25.83% | 23.82% | 30.96% | 25.47% | 29.99% | 10.09% | 22.92% | |
| Gross Profitability | — | 25.90% | 23.92% | 17.17% | 21.69% | 26.22% | 25.64% | 26.28% | 12.64% | 22.10% | |
| Capex Intensity | 33.83% | 32.08% | 31.02% | 29.52% | 26.18% | 25.08% | 26.47% | 29.20% | 19.52% | 15.01% | |
| ▸Returns on Capital · 6 ratios | |||||||||||
| ▸DuPont factors (ROE drivers) · 4 ratios | |||||||||||
| ▸Earnings quality · 7 ratios | |||||||||||
| ▸Liquidity & coverage · 9 ratios | |||||||||||
| ▸Leverage · 9 ratios | |||||||||||
| ▸Working capital · 8 ratios | |||||||||||
| ▸Capital allocation · 5 ratios | |||||||||||
| ▸Per share · 3 ratios | |||||||||||
| ▸Other · 1 ratios | |||||||||||
The five drivers multiply to 8.6% vs reported ROE 8.5%. High ROE from margin and turnover is earned; from the equity multiplier it is borrowed.
| Line | 2015↗ | 2016↗ | 2017↗ | 2018↗ | 2019↗ | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $49.0M | $62.0M | $69.8M | $68.4M | $75.8M | $100.0M | $121.3M | $142.1M | $146.3M | $183.0M | — |
| YoY % | +26.6% | +12.5% | -2.0% | +10.9% | +31.9% | +21.3% | +17.1% | +3.0% | +25.1% | ||
| Cost of Revenue | $30.0M | $32.1M | $36.2M | $39.3M | $36.4M | $43.7M | $53.1M | $63.0M | $82.7M | $80.7M | — |
| YoY % | +6.9% | +12.8% | +8.7% | -7.4% | +20.1% | +21.5% | +18.6% | +31.3% | -2.4% | ||
| Gross Profit | $13.2M | $23.5M | $26.3M | $21.6M | $31.1M | $46.7M | $54.1M | $61.8M | $41.5M | $77.0M | — |
| YoY % | +78.2% | +12.0% | -18.0% | +44.2% | +49.8% | +15.9% | +14.3% | -32.9% | +85.6% | ||
| SG&A Expense | $7.6M | $7.3M | $5.9M | $6.5M | $5.6M | $8.0M | $9.1M | $11.9M | $17.4M | $15.7M | — |
| YoY % | -4.7% | -18.6% | +9.4% | -12.8% | +41.9% | +13.7% | +31.3% | +46.0% | -10.2% | ||
| Operating Income | $8.5M | $19.0M | $20.6M | $21.4M | $36.8M | $35.9M | $36.1M | $30.2M | $11.0M | $43.7M | — |
| YoY % | +123.4% | +8.6% | +3.9% | +71.8% | -2.5% | +0.7% | -16.5% | -63.7% | +298.7% | ||
| Interest Expense | $536,000 | $192,000 | $69,000 | $273,000 | $344,000 | $367,000 | $375,000 | $657,000 | $3.0M | $3.2M | — |
| YoY % | -64.2% | -64.1% | +295.7% | +26.0% | +6.7% | +2.2% | +75.2% | +360.3% | +4.4% | ||
| Interest & Investment Income | $1,000 | $16,000 | $38,000 | $53,000 | $146,000 | $62,000 | $14,000 | $17,000 | $39,000 | $26,000 | — |
| YoY % | +1500.0% | +137.5% | +39.5% | +175.5% | -57.5% | -77.4% | +21.4% | +129.4% | -33.3% | ||
| Pretax Income | $8.0M | $18.8M | $20.6M | $21.2M | $36.6M | $35.6M | $35.8M | $29.5M | $8.0M | $40.5M | — |
| YoY % | +136.2% | +9.5% | +3.0% | +72.7% | -2.8% | +0.6% | -17.4% | -73.0% | +408.7% | ||
| Income Tax | $2.4M | $7.7M | $8.7M | $7.4M | $10.9M | $12.5M | $13.8M | $14.4M | $12.8M | $17.5M | — |
| YoY % | +225.6% | +12.6% | -14.3% | +46.8% | +14.7% | +10.2% | +4.0% | -10.8% | +36.5% | ||
| Net Income (incl. NCI) | $5.6M | $11.1M | $11.9M | $13.8M | $25.7M | $23.0M | $22.0M | $15.2M | -$4.8M | $23.1M | — |
| YoY % | +98.3% | +7.3% | +15.6% | +86.7% | -10.3% | -4.6% | -30.9% | ||||
| Minority Interest (P&L) | $811,000 | $2.6M | $2.5M | $3.0M | $4.4M | $4.2M | $4.6M | $4.0M | $3.0M | $5.2M | — |
| YoY % | +215.5% | -1.8% | +19.0% | +46.4% | -4.4% | +9.5% | -13.8% | -23.5% | +70.6% | ||
| Net Income | $4.8M | $8.5M | $9.4M | $10.8M | $21.3M | $18.9M | $17.4M | $11.2M | -$7.9M | $17.9M | — |
| YoY % | +78.4% | +10.1% | +14.7% | +97.9% | -11.5% | -7.8% | -35.4% | ||||
| EPS (Basic) | $0.45 | $0.79 | $0.86 | $0.99 | $1.94 | $1.57 | $1.40 | $0.85 | -$0.44 | $0.91 | — |
| YoY % | +75.6% | +8.9% | +15.1% | +96.0% | -19.1% | -10.8% | -39.3% | ||||
| EPS (Diluted) | $0.45 | $0.79 | $0.86 | $0.99 | $1.94 | $1.57 | $1.40 | $0.85 | -$0.44 | $0.91 | — |
| YoY % | +75.6% | +8.9% | +15.1% | +96.0% | -19.1% | -10.8% | -39.3% | ||||
| Weighted Avg Shares (Basic) | 10.4M | 10.5M | 10.6M | 10.6M | 10.7M | 11.7M | 12.2M | 12.8M | 18.6M | 19.2M | — |
| YoY % | +0.4% | +1.4% | -0.0% | +1.3% | +9.0% | +4.0% | +5.4% | +45.2% | +3.1% | ||
| Weighted Avg Shares (Diluted) | 10.4M | 10.5M | 10.6M | 10.6M | 10.7M | 11.7M | 12.2M | 12.8M | 18.6M | 19.2M | — |
| YoY % | +0.4% | +1.3% | -0.1% | +1.4% | +9.0% | +3.9% | +5.4% | +45.1% | +3.1% | ||
| Dividends Declared per Share | — | — | $69 | — | $7 | $10 | $0 | $0 | $0 | $0 | $0 |
| YoY % | +45.5% | -98.6% | 0.0% | 0.0% | 0.0% | 0.0% |
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.
| — |
| quarterly |
| licensed |
| 2026-04-02 | $0.1400 | — | quarterly | licensed |
| 2025-11-21 | $0.1400 | — | quarterly | licensed |
| 2025-08-22 | $0.1400 | — | quarterly | licensed |
| 2025-05-23 | $0.1400 | — | quarterly | licensed |
| 2025-04-04 | $0.1400 | — | quarterly | licensed |
| 2024-11-22 | $0.1400 | — | quarterly | licensed |
| 2024-07-12 | $0.1400 | — | quarterly | licensed |