Local Housing Affordability Map: Can Locals Afford to Buy?
What percentage of local households can afford to buy a home in their own area? This map uses Census income distributions and real housing costs for every U.S. ZIP code to answer that question.
How to read this map
The map colors each ZIP code by the percentage of local households that can afford to buy a home there. “Afford” means spending no more than 33% of gross income on all housing costs—mortgage, property taxes, insurance, and maintenance.
The color scale is anchored to what housing economists consider a healthy market. The NAHB/Wells Fargo Housing Opportunity Index—the standard benchmark for local housing affordability—considers a market “affordable” when roughly 50–60% of homes sold are within reach of a family earning the local median income. The national HOI has historically averaged around 60%, dropping to ~40% during housing bubbles. We use 60% as the boundary into green, so the colors immediately tell you whether a local market is healthy or strained.
- Green areas (60%+) are healthy housing markets—a majority of local households earn enough to buy.
- Yellow areas (~50%) are borderline—about half of local households are priced out of buying.
- Orange areas (25–40%) are strained—housing costs have outpaced most local incomes.
- Red areas (<25%) are in crisis—very few local households can afford to buy at current prices.
- Gray areas don't have enough data (typically rural ZIPs without Zillow home value estimates or Census income data).
What “can afford” means
For each ZIP code, we compute the minimum annual income needed so that total monthly housing costs stay at or below 33% of gross income. Then we walk the Census income distribution for that same ZIP and count how many households meet or exceed that threshold. The result is the percentage shown on the map.
The 33% threshold comes from the standard lending guideline of 28% for PITI (principal, interest, taxes, and insurance), plus the ~5 percentage points that maintenance adds. This is the same threshold used in our Housing Affordability Map.
How local income is measured
Income data comes from the American Community Survey (ACS) 5-Year Estimates, which provides the distribution of household incomes across 16 brackets for each ZIP code. Rather than using just the median, this map uses the full distribution to count exactly how many households fall above the affordability threshold.
This means the map accounts for income inequality within each ZIP. A ZIP with a high median income but extreme inequality might still show a low affordability percentage if housing costs are very high relative to what most (not just the median) households earn.
One challenge with Census data is that the top income bracket is open-ended: “$200,000 or more.” In high-cost areas like Park City or Manhattan where you need $300K+ to afford a home, a naive count would show 0% since we can't see above $200K. To fix this, we model the $200K+ bracket using a Pareto distribution—a power-law model widely used in economics to describe income tails. We estimate the shape parameter from the ratio of the last two Census brackets for each ZIP, then compute what fraction of $200K+ earners exceed the affordability threshold. This produces realistic estimates even for areas where most buyers earn well above $200K.
How this differs from the Housing Affordability Map
Our Housing Affordability Map answers: “Where can I afford to buy?” It takes your income and shows cost burden by ZIP. This map answers a different question: “Can locals afford to buy here?” It uses each ZIP's own income distribution—no user input needed.
Together, the two maps paint a fuller picture. An area might look affordable on the personal map (green for your income) but unaffordable for locals (red on this map)—meaning you'd be moving to an area where most residents are priced out. Or an area might look expensive on the personal map but green here, indicating that local incomes are high enough to support local housing prices.
Assumptions
- 6.5% mortgage rate on a 30-year fixed-rate loan with 20% down payment. The rate is fixed (not adjustable by the user) because this map measures local conditions, not personal scenarios.
- 33% cost burden threshold—equivalent to the lender guideline of 28% for PITI plus maintenance.
- County-level property tax rates from Census ACS, with state-level fallback for unmatched counties.
- State-level insurance premiums from MoneyGeek, scaled proportionally to home value.
- Maintenance at 1% of home value annually—a standard rule of thumb.
- Linear interpolation within closed Census income brackets to estimate the fraction of households above the threshold when it falls within a bracket.
- Pareto distribution for the $200K+ bracket. The Census top bracket is open-ended. We estimate the Pareto shape parameter from the ratio of the $150K–$200K bracket to the $200K+ bracket for each ZIP, then use it to model the income tail. This avoids showing 0% for high-cost areas where many residents earn well above $200K.
Data sources
- Home values: Zillow Home Value Index (ZHVI) by ZIP code—entry-level (5th–35th percentile), typical (35th–65th), and move-up (65th–95th) tiers.
- Income distributions: U.S. Census Bureau American Community Survey (ACS) 5-Year Estimates—household income by 16 brackets for each ZIP code.
- Property tax rates: Census ACS county-level effective rates.
- Insurance costs: MoneyGeek state-level average annual premiums.
Frequently asked questions
Why can't I enter my own income?
This map measures local affordability—whether residents of each area can afford to buy there. Your personal income is irrelevant to that question. If you want to see where you can afford to buy, use our Housing Affordability Map, which lets you enter your income and mortgage rate.
Why is the mortgage rate fixed at 6.5%?
This map measures a snapshot of local market conditions, not personal scenarios. Using a fixed rate keeps the comparison consistent across all ZIPs and reflects current prevailing rates. Rate sensitivity is handled by the personal affordability map, which has an adjustable rate input.
What does “33% can afford” actually mean?
It means 33% of households in that ZIP code earn enough that total monthly housing costs (mortgage, taxes, insurance, maintenance) would be 33% or less of their gross income. The other 67% would be spending more than the recommended guideline, making homeownership in that area a financial stretch.
Why do expensive areas sometimes show moderate percentages?
Because local incomes in wealthy areas can be very high. An area with $1M+ home values might still show 30–40% affordability if many local households earn $250K+. This is why using local income distributions instead of just the median gives a more nuanced picture.
How is the income distribution used?
The Census provides household counts in 16 income brackets (under $10K, $10–15K, ..., $200K+) for each ZIP. We compute the minimum income needed to afford a home, then count how many households across all brackets meet that threshold. For the bracket where the threshold falls, we linearly interpolate to estimate the fraction above the line.
What are the home tier options?
Entry-Level (5th–35th percentile), Typical (35th–65th percentile, the default), and Move-Up (65th–95th percentile). Switching tiers changes both the home value used and the income threshold. Entry-level naturally shows higher affordability percentages since the homes cost less.
Why do some ZIP codes show gray?
Gray means we don't have either a Zillow Home Value Index or Census income distribution for that ZIP. This is common in rural areas with low population or transaction volume.
How often is the data updated?
Housing data (Zillow ZHVI) is updated monthly. Census income distributions are updated annually with each ACS release. We rebuild this map periodically to incorporate the latest available data from both sources.