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.
TCRX · Healthcare · No moat
Doesn't clear the bar
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%.
CATX · Healthcare · No moat
Doesn't clear the bar
The businessTrend component abstained: Only one aligned fiscal year of revenue and diluted EPS is available; a trend needs at least two observations. The other four 20% weights were renormalized over the scored 80%.
PTGX · Healthcare · No moat
Doesn't clear the bar
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%.
HCIL · Healthcare · No moat
Doesn't clear the bar
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 | TCRX | CATX | PTGX | HCIL |
|---|---|---|---|---|
| Moat Score (0–100) | 35 (highest) | 35 (highest) | 35 (highest) | 35 (highest) |
| Methodology version | moat-index@2.0.0 | moat-index@2.0.0 | moat-index@2.0.0 | moat-index@2.0.0 |
| Business trend | 41 | — | 58 (highest) | 43 |
| Pricing power | — | 41 | — | 53 (highest) |
| Returns on capital | 0 | 0 | 4 (highest) | 0 |
| Balance-sheet safety | 55 (highest) | 55 (highest) | 55 (highest) | — |
| Capital discipline | 44 (highest) | 44 (highest) | 24 | 44 (highest) |
| Price vs. high estimate | No price data | No price data | No price data | No price data |
| Market cap | — | $217.1M | $8.4B | — |
| Moat tier | No moat | No moat | No moat | No moat |
| Filings as of | FY2025 | FY2025 | FY2025 | FY2025 |