| Market Cap | $1.34B | |
| Enterprise Value | — | |
| Revenue | $266.4M | +8.8% |
| Gross Profit | $251.9M | — |
| EBITDA | — | — |
| Net Income | $11.5M | +22.5% |
| Diluted EPS | $0.07 | +133.3% |
| Free Cash Flow | — | — |
| DPS (FY2025) | $0.84derived |
| Trailing yield | 5.34% |
| Payout ratio | — |
| Growth streak | 6 yrs |
| 5y DPS growth | 5.5% |
| Fiscal year | DPS | YoY | Basis |
|---|---|---|---|
| FY20252025-12-31 | $0.84 | +6.6% | derived (paid ÷ diluted shares) |
| FY20242024-12-31 | $0.79 | +2.3% | derived (paid ÷ diluted shares) |
| Ratio | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | Trend · 12y | vs own | vs sector |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ▾Margins | |||||||||||||||
| Gross Margin | — | — | 93.48% | 92.48% | 90.96% | 91.17% | 91.19% | — | — | — | — | — | — | — | |
| Net Margin | 6.63% | 2.87% | 11.63% | 11.25% | −27.95% | 18.93% | 3.09% | 27.45% | −2.48% | 3.63% | 8.99% | 10.12% | 63% | 51% | |
| FCF Margin | — | — | — | — | — | — | — | — | — | 48.69% | — | — | — | — | — |
| OCF Margin | 38.08% | 34.39% | 29.43% | 36.27% | 31.00% | 26.27% | 40.85% | 35.02% | −3.69% | 54.35% | 33.92% | 31.32% | 38% | 51% | |
| Gross Profitability | — | — | 13.63% | 12.64% | 13.38% | 13.03% | 13.69% | — | — | — | — | — | — | — | |
| Capex Intensity | — | — | — | — | — | — | — | — | — | 5.66% | — | — | — | — | — |
| ▸Returns on Capital · 2 ratios | |||||||||||||||
| ▸DuPont factors (ROE drivers) · 2 ratios | |||||||||||||||
| ▸Earnings quality · 4 ratios | |||||||||||||||
| ▸Liquidity & coverage · 1 ratios | |||||||||||||||
| ▸Leverage · 8 ratios | |||||||||||||||
| ▸Capital allocation · 5 ratios | |||||||||||||||
| ▸Per share · 6 ratios | |||||||||||||||
| Line | 2014↗ | 2015↗ | 2016↗ | 2017↗ | 2018↗ | 2019↗ | 2020↗ | 2021↗ | 2022↗ | 2023↗ | 2024↗ | 2025↗ |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $63.9M | $74.8M | $99.2M | $112.6M | $129.6M | $146.6M | $163.6M | $186.1M | $195.8M | $220.9M | $240.6M | $261.8M |
| YoY % | +17.0% | +32.7% | +13.5% | +15.0% | +13.1% | +11.6% | +13.8% | +5.2% | +12.8% | +8.9% | +8.8% | |
| Cost of Revenue | — | — | $6.5M | $8.5M | $11.7M | $12.9M | $14.4M | — | — | — | — | — |
| YoY % | +31.0% | +38.3% | +10.4% | +11.4% | ||||||||
| SG&A Expense | $6.5M | $7.3M | $8.0M | $9.6M | $10.9M | $10.0M | $11.1M | $14.1M | $19.0M | $19.7M | $21.8M | $21.5M |
| YoY % | +13.6% | +9.0% | +20.5% | +12.8% | -7.7% | +10.1% | +27.5% | +34.7% | +3.8% | +10.5% | -1.1% | |
| Total Operating Expenses | $64.5M | $72.1M | $83.3M | $96.6M | $111.0M | $126.6M | $135.3M | $152.2M | $166.3M | $184.8M | $198.1M | $213.9M |
| YoY % | +11.7% | +15.5% | +16.0% | +14.9% | +14.0% | +6.9% | +12.5% | +9.3% | +11.2% | +7.2% | +8.0% | |
| Interest Expense | $10.2M | $13.2M | — | — | — | — | — | — | — | — | — | — |
| YoY % | +29.9% | |||||||||||
| Other Non-Operating Income | -$2.7M | -$7.2M | -$4.4M | -$3.3M | -$54.7M | $7.9M | -$23.0M | $17.3M | -$34.3M | -$28.3M | -$20.9M | -$21.5M |
| Gains on Sale of Real Estate | — | — | — | — | — | — | -$216,000 | -$170,000 | -$169,000 | $0 | -$113,000 | -$64,000 |
| Impairment of Real Estate | — | — | — | — | — | — | — | — | — | — | $0 | $0 |
| Net Income (incl. NCI) | — | — | — | — | -$36.2M | $27.8M | $5.1M | $51.1M | -$5.0M | $7.9M | $21.4M | $26.3M |
| YoY % | -81.8% | +910.6% | +173.1% | +22.5% | ||||||||
| Minority Interest (P&L) | — | — | — | — | — | — | $0 | $0 | -$118,000 | -$158,000 | -$194,000 | -$224,000 |
| Net Income | $4.2M | $2.1M | $11.5M | $12.7M | -$36.2M | $27.8M | $5.1M | $51.1M | — | — | — | — |
| YoY % | -49.4% | +437.9% | +9.8% | -81.8% | +910.6% | |||||||
| Net Income to Common | -$3.3M | -$6.1M | -$2.6M | -$7.7M | -$56.5M | $2.6M | -$29.8M | $21.2M | -$36.3M | -$8.7M | $2.5M | $6.0M |
| YoY % | +141.3% | |||||||||||
| EPS (Basic) | -$0.15 | -$0.24 | — | $0.39 | -$0.98 | $0.70 | -$0.72 | $0.46 | -$0.67 | -$0.15 | $0.03 | $0.07 |
| YoY % | +133.3% | |||||||||||
| EPS (Diluted) | -$0.15 | -$0.24 | — | $0.39 | -$0.98 | $0.69 | -$0.72 | $0.45 | -$0.67 | -$0.15 | $0.03 | $0.07 |
| YoY % | +133.3% | |||||||||||
| Weighted Avg Shares (Basic) | 22.5M | 25.9M | — | 32.7M | 36.9M | 39.9M | 41.4M | 46.3M | 54.4M | 63.1M | 74.1M | 84.1M |
| YoY % | +15.3% | +12.8% | +8.2% | +3.7% | +11.9% | +17.4% | +16.0% | +17.5% | +13.4% | |||
| Weighted Avg Shares (Diluted) | 22.5M | 26.0M | — | 32.7M | 36.9M | 40.2M | 41.4M | 47.4M | 55.3M | 63.7M | 74.9M | 84.7M |
| YoY % | +15.2% | +12.8% | +9.0% | +3.0% | +14.6% | +16.6% | +15.1% | +17.6% | +13.1% |
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.
| FY20232023-12-31 | $0.77 | +4.9% | derived (paid ÷ diluted shares) |
| FY20222022-12-31 | $0.73 | +10.5% | derived (paid ÷ diluted shares) |
| FY20212021-12-31 | $0.66 | +3.2% | derived (paid ÷ diluted shares) |
| FY20202020-12-31 | $0.64 | +22.6% | derived (paid ÷ diluted shares) |
| FY20192019-12-31 | $0.53 | −10.1% | derived (paid ÷ diluted shares) |
| FY20182018-12-31 | $0.58 | −8.2% | derived (paid ÷ diluted shares) |
| FY20172017-12-31 | $0.64 | — | derived (paid ÷ diluted shares) |
| FY20162016-12-31 | — | — | reported |
| Ex-date | Amount | Pay date | Freq | Source |
|---|---|---|---|---|
| 2026-05-15 | $0.2250 | — | quarterly | licensed |
| 2026-02-17 | $0.2250 | 2026-03-16 | quarterly | licensed |
| 2025-11-17 | $0.2250 | 2025-12-15 | quarterly | licensed |
| 2025-08-15 | $0.2250 | 2025-09-15 | quarterly | licensed |
| 2025-05-15 | $0.2250 | — | quarterly | licensed |
| 2025-02-18 | $0.2150 | — | quarterly | licensed |
| 2024-11-15 | $0.2150 | — | quarterly | licensed |
| 2024-08-15 | $0.2150 | — | quarterly | licensed |