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.
OTIS · Industrials · Narrow 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%.
GRBK · Industrials · Narrow moat
On the watchlist
The balanceSheet component abstained: Insufficient leverage/coverage inputs to score the balance sheet. The other four 20% weights were renormalized over the scored 80%.
| Measure | OTIS | GRBK | TAYD | VMI |
|---|---|---|---|---|
| Moat Score (0–100) | 62 | 63 (highest) | 63 (highest) | 62 |
| Methodology version | moat-index@3.0.0 | moat-index@3.0.0 | moat-index@3.0.0 | moat-index@3.0.0 |
| Business trend | 65 | 95 | 100 (highest) | 83 |
| Pricing power | — | 33 | 26 | 40 (highest) |
| Returns on capital | 100 (highest) | 24 | 45 | 47 |
| Balance-sheet safety | 34 | — | 100 (highest) | 59 |
| Capital allocation | 49 | 100 (highest) | 43 | 80 |
| No price data | 4% below value if growth stopped today (largest discount to value if growth stopped today) | 226% above value if growth stopped today | 236% above value if growth stopped today | |
| Market cap | Not reported | $3.1B | $228M | $9.5B |
| Moat tier | Narrow moat | Narrow moat | Narrow moat | Narrow moat |
| Filing date | FY2025 | FY2025 | FY2025 | FY2025 |