The Moat Index
Compare moats, side by side.
Two to four companies, scored on the same five investor questions from their SEC filings — so the comparison is apples to apples. The method is fully public.
VRRM · Industrials · Shallow moat
On the watchlist
The pricingPower component abstained: Not enough years of gross-margin data to score pricing power. The other four 20% weights were renormalized over the scored 80%.
| Measure | HDSN | SPRS | VRRM | NWPX |
|---|---|---|---|---|
| Moat Score (0–100) | 50 (highest) | 50 (highest) | 50 (highest) | 50 (highest) |
| Methodology version | moat-index@3.0.0 | moat-index@3.0.0 | moat-index@3.0.0 | moat-index@3.0.0 |
| Business trend | 38 | 20 | 90 | 95 (highest) |
| Pricing power | 19 (highest) | 19 (highest) | — | 3 |
| Returns on capital | 38 | 67 (highest) | 8 | 10 |
| Balance-sheet safety | 100 (highest) | 100 (highest) | 22 | 96 |
| Capital allocation | 55 | 44 | 80 (highest) | 44 |
| 30% below value if growth stopped today | 74% above value if growth stopped today | 58% below value if growth stopped today (largest discount to value if growth stopped today) | 258% above value if growth stopped today | |
| Market cap | $264M | $22M | $622M | $1.2B |
| Moat tier | Shallow moat | Shallow moat | Shallow moat | Shallow moat |
| Filing date | FY2025 | FY2025 | FY2025 | FY2025 |