Skip to content

BRRRR score

Buy–rehab–rent–refinance. What it measures: gross yield, taxes, price momentum, and market liquidity. Weights below are the engine’s current public stop-loss configuration (model p5v4-2026.07).

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
Halo / adjacent-price momentum 20% assessor/market price geometry
Renovation + business momentum 12% Chicago permits (18 mo) + licenses (12 mo)
Market heat (sale-to-list) 8% Redfin, latest quarter, by ZIP

Weights are renormalized across available allowed factors. Applicant/household income and the current capital-flow composite are withheld from public scoring pending an income-free rebuild and review.

  • 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 below 70 is damped by 0.5 points per missing coverage point. All-null inputs become unscored, not zero. This coverage field is a source-completeness control; restricted income/crime fields do not improve public score coverage.

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.

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).