| Market Cap | $598.3M | |
| Enterprise Value | — | |
| Revenue | $251.9M | +29.2% |
| Gross Profit | — | — |
| EBITDA | — | — |
| Net Income | $88.3M | +51.2% |
| Diluted EPS | $2.11 | +15.3% |
| Free Cash Flow | $24.7M | +121.4% |
| DPS (FY2025) | $0.10 |
| Trailing yield | 0.58% |
| Payout ratio | 3.9% |
| Growth streak | 0 yrs |
| 5y DPS growth | — |
| Fiscal year | DPS | YoY | Basis |
|---|---|---|---|
| FY20252025-12-31 | $0.10 | +0.0% | reported |
| FY20242024-12-31 | $0.10 | +0.0% | reported |
| FY20232023-12-31 | $0.10 | — | reported |
| Ex-date | Amount | Pay date | Freq | Source |
|---|
| Ratio | 2023 | 2024 | 2025 | Trend · 3y | vs own | vs sector |
|---|---|---|---|---|---|---|
| ▾Margins | ||||||
| Net Margin | 17.20% | 29.48% | 34.51% | 83% | 84% | |
| FCF Margin | 255.42% | 10.02% | 17.18% | 50% | 38% | |
| OCF Margin | 256.85% | 10.59% | 18.32% | 50% | 38% | |
| Capex Intensity | 1.43% | 0.56% | 1.14% | 50% | 40% | |
| ▸Returns on Capital · 2 ratios | ||||||
| ▸DuPont factors (ROE drivers) · 3 ratios | ||||||
| ▸Earnings quality · 4 ratios | ||||||
| ▸Leverage · 2 ratios | ||||||
| ▸Capital allocation · 5 ratios | ||||||
| ▸Per share · 6 ratios | ||||||
| Line | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|
| Revenue | $196.3M | $187.1M | $241.7M |
| YoY % | -4.7% | +29.2% | |
| Pretax Income | $44.7M | $72.9M | $110.4M |
| YoY % | +63.1% | +51.5% | |
| Income Tax | $10.9M | $17.7M | $27.0M |
| YoY % | +62.2% | +52.3% | |
| Net Income | $33.8M | $55.2M | $83.4M |
| YoY % | +63.4% | +51.2% | |
| Net Income to Common | $24.1M | $47.2M | $71.6M |
| YoY % | +95.6% | +51.9% | |
| EPS (Basic) | $0.94 | $1.83 | $2.14 |
| YoY % | +94.7% | +16.9% | |
| EPS (Diluted) | $0.93 | $1.83 | $2.11 |
| YoY % | +96.8% | +15.3% | |
| Weighted Avg Shares (Basic) | 25.7M | 25.8M | 33.4M |
| YoY % | +0.1% | +29.8% | |
| Weighted Avg Shares (Diluted) | 25.8M | 25.8M | 33.9M |
| YoY % | +0.1% | +31.1% | |
| Dividends Declared per Share | $0 | $0 | $0 |
| YoY % | 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.
| 2026-07-15 | $0.0300 | 2026-08-04 | quarterly | licensed |
| 2026-04-15 | $0.0300 | — | quarterly | licensed |
| 2026-01-15 | $0.0300 | — | quarterly | licensed |
| 2025-10-15 | $0.0300 | 2025-11-03 | quarterly | licensed |
| 2025-07-15 | $0.0300 | — | quarterly | licensed |
| 2025-04-15 | $0.0300 | 2025-05-02 | quarterly | licensed |