BRRRR score
BRRRR score
Section titled “BRRRR score”Buy–rehab–rent–refinance. What it measures: gross yield you can actually hold, taxes that don’t eat the hold, and appreciation to refinance against. Weights below are the engine’s (model p0a-2026.07).
What feeds it
Section titled “What feeds it”All inputs are county-relative percentiles (50 = median tract).
| Factor | Weight | Source |
|---|---|---|
| Gross yield | 30% | ZORI rent ÷ ZHVI price, by ZIP |
| Low effective tax | 22% | 2023 Cook municipal effective rates, inverted |
| Appreciation block | 20% | capital flow (HMDA 2022→2024) 50% + halo frontier 50% |
| Renovation + business momentum | 12% | Chicago permits (18 mo) + licenses (12 mo) |
| Buyer income | 8% | HMDA 2024 |
| Market heat (sale-to-list) | 8% | Redfin, latest quarter, by ZIP |
What it penalizes
Section titled “What it penalizes”- Within 1.5 mi of a financially distressed municipality: −26 (−11 within 3 mi). Heavier than the flip penalty because you hold through it.
- Effective tax rate ≥ 5%: −12, on top of the low-tax weight. High yields in 5%+ tax towns are usually mirages; the tax-trap penalty says so twice on purpose.
Coverage damping
Section titled “Coverage damping”Same rule as flip: coverage = share of five universal signals present; below 70%, −0.5 points per missing point. All-null inputs → unscored, not zero.
Known failure, fix planned
Section titled “Known failure, fix planned”Confirmed live 2026-07: a Glencoe tract ranked top BRRRR at 88 with a $1.6M median price and null rent — the yield input was simply missing, and the composite renormalized around it. Coverage damping did not catch it (4 of 5 universal signals were present, so no damping applied). The P3 fix is a hard gate: rent/yield is strategy-critical for BRRRR, so a null-rent tract becomes “Unscored (insufficient data)” for BRRRR entirely, reason stated. Grey is the honest color for a tract we cannot underwrite as a rental.
Caveats
Section titled “Caveats”Yield is ZIP-blended and ZORI covers ~288 IL ZIPs. Lake County effective tax is unavailable (portal down), so Lake tracts carry no tax signal. Weights are hand-set until P3 weight learning (labels: achieved yield and refinance feasibility).