Skip to content

Data dictionary

Generated at build time from packages/spec/data-dictionary.json (version 1.0, as-of 2026-07-09; page built 2026-07-10). The map app reads the same file — one source of truth, no drift.

Every tract-level signal on the map. Percentile fields are county-relative, 0–100.

Key Fields Name Definition
flip flip_score SFH Flip Score Buy-rehab-sell: resale liquidity (sale-to-list, days-on-market, sold-above-list) + appreciation + value entry. Light tax weight (short hold); penalizes point-of-sale-inspection towns. Low-coverage tracts are damped.
brrrr brrrr_score MFH BRRRR Score Buy-rehab-rent-refi: gross yield + low effective tax (you hold) + capital/halo appreciation for the refi-out. Heavier distress & tax-trap penalty. Low-coverage tracts are damped.
best best_strategy Best strategy per area Teal = flips win here · gold = BRRRR wins · grey = neither scores well. Color intensity = how strong the winner is.
dealscore deal_score_custom Deal Score (weighted) Blend of the components in the sliders, 0–100. Tune weights or pick a profile.
capital cap_pct Capital-flow momentum HMDA mortgage vol + loan size + buyer income 2022→2024. Grey = too few loans.
yield gyield/yield_pct Indicative gross yield Zillow ZORI rent ÷ ZHVI price, by ZIP. A relative screen — high yields in cheap/high-tax areas are often traps.
tax eff_rate Effective property tax 2023 Cook municipal effective rate. Lake / unincorporated not shaded.
shock reass.shock/shock_pct Reassessment shock Median 2-4-flat AV change at the township’s most recent triennial reassessment (Assessor mailed values). South triad is being reassessed NOW (2026) — shaded townships there show fresh 2026 shocks. High shock = next tax bill jumps.
halo halo_pct Halo frontier How much pricier the neighbors are (loan size). High = cheap tract bordering expensive — convergence play.
income inc_pct Mortgage applicant income Median income of home-purchase borrowers (HMDA 2024).
permits mom_pct Renovation + business momentum Chicago permits (18mo) + new licenses (12mo). Grey = no city data (suburbs).
crime crime_yoy Crime trend (YoY) Trailing 12 months vs prior 12, by Chicago community area. Green = crime falling (repricing up before buyers notice).
heat mt_s2l/s2l_pct Market heat (sale-to-list) Redfin avg sale-to-list, latest quarter, by ZIP, county-wide. Hot = seller’s market; cool = buyer leverage.
biv cap_pct x lowtax_pct Sweet spot · Capital × Low-tax X = capital flow →, Y = low tax ↑. Dark corner = high capital + low tax.
saf saf_gap/saf2 Section 8 arbitrage (SAFMR − rent) HUD FY2026 Small Area FMR (2BR voucher ceiling) minus Zillow market rent, by ZIP. Green = the voucher pays MORE than market — guaranteed-rent arbitrage. Most of the county is negative; hunt the green tail.
crmix crmix_pct Crime mix (gentrification pains) Property-crime share + falling violent trend, trailing 12mo by community area. Green = crime is mostly theft/burglary and violence is falling — classic early-upswing texture. Chicago only.
commd commd_pct Commercial investment $ Reported cost of $100k+ renovation permits (18mo), summed per tract. Where institutional/commercial money is renovating. Chicago only.
pp pp_pct Paws & Pours index Specialty coffee, breweries, pet shops/daycare, organic grocers (OpenStreetMap). Disposable-income businesses cluster 12-24mo ahead of price moves. Coverage is OSM-dependent.
commute hq_min Commute to major employers Free-flow drive time ×1.25 rush factor (OSRM) to nearest of: Abbott/AbbVie, Baxter/Walgreens, Discover, the Loop, O’Hare. Renter/buyer demand anchor.
wib wib3y Basement flooding (311, 3y) “Water in basement” 311 complaints, 3 years, per tract. Dark blue = rule out garden/basement units & duplex-downs. Chicago only.
distress distress_pct Distress density (motivated sellers) Vacant-building complaints (1y, ×2) + open building violations per tract. High = motivated sellers & wholesale pricing, but verify block-by-block. Chicago only.
ride ride_tr/ride_pct CTA ridership trend Recent monthly L-station entries (≥2025-04) vs the 2019 pre-COVID baseline, nearest station within ~0.75mi. System-wide is still below 2019, so this ranks which station areas recovered best — real foot-traffic, not hype. Tracts far from the L are grey.
gov gov311/gov311_pct 311 governance burden Street-light-out + rat-baiting + sanitation + building-violation 311 calls (last 12mo) per community area; info-only call-center calls excluded. A behavioral read on neighborhood management/decay. Chicago only.
old oldstk/old_pct/old40 Old-stock / lead risk Share of housing units built before 1980 (Census ACS B25034) — a proxy for lead paint, knob-and-tube, porch/masonry, and tenant-safety burden. High = budget more rehab + operating risk. Covers Cook + Lake.
jobs jobs_g/jobs_pct Job growth (workplace) Workplace jobs in-tract 2019→2022 (Census LEHD/LODES, block-level aggregated). Green = jobs growing = daily-spending + rental-demand tailwind. County-wide post-COVID median is slightly negative, so green tracts are genuinely outperforming.
fha fha_sh/fha_pct FHA buyer depth Share of home-purchase mortgages that are FHA (HMDA 2023). Higher = a deeper entry-level financed buyer pool, so renovated entry-level product finds buyers faster. Caveat: FHA appraisals are STRICTER (minimum property standards — paint, handrails, roof life), so budget for FHA repair conditions on exit. A flip exit-liquidity read, not an easier-appraisal read.

Fields on scored listings (/api/listings/{metro}, search_deals).

Field Definition
deal_score 0-100; max(flip,brrrr) x economics_factor x coverage + motivation kicker. NULL = unscored (no valuation basis) — never a fake 0.
arv After-repair value, model p0a: max(comp approach [tract median x 1.22 or gated live comps], income approach capped at 1.5x tract anchor). NOT an appraisal.
offer max(flip solver: ARV x 0.75 - rehab; BRRRR solver: ARV x LTV - rehab).
discount_pct % below ask the suggested offer sits. Negative = at/above ask.
ask_vs_model ask / tract median price (ZIP-blended screen, not truth).
motivation JSON array: PRE-MARKET, PRICE CUT -X%, remark-derived distress keywords.
status active | gone (unseen in a fully-successful fetch partition).
first_seen/last_seen ISO timestamps from our runs; listed_at falls back to first-seen (true DOM arrives with MLS, P7).
query_key internal: which fetch partition produced the row (stale-marking safety).
model_version engine version that scored the row (rescore refreshes stale rows).
addr_key normalized address+zip for cross-source dedupe.
source redfin | zillow

Fields on underwrite responses (/api/underwrite, underwrite MCP tool).

Field Definition
arv_source ‘real comps (N sales, conf C)’ when gated comps clear confidence>=55, else ‘tract heuristic’.
comp_arv base/conservative/aggressive from comp distribution + confidence + best comps. Absent when comps refused (dispersion/similarity/count gates).
arv_note warning when comp ARV detaches >1.75x from tract norm.
risk 0-100 + band + flags[] (severity, reason) — scored SEPARATELY from opportunity.
economics_factor 0.35-1.0 multiplicative gate; terrible deal math collapses any tract score.
dscr NOI at renovated rents / annual debt service (30yr at input rate).
unscored/unscored_reason present when no valuation basis exists — the honest no-answer.

Automated valuations are not appraisals; error rates are published on Accuracy.