Under the hood
Methodology & data
Building a ZIP-level wildfire exposure metric
The hazard data arrives as polygons that ignore ZIP boundaries; the housing and income data are organized by ZIP. To make them comparable we built one derived measure.
- 1Filter Zillow's ZIP-level ZHVI to Los Angeles County; that ZIP list defines the study area.
- 2Pull the matching Census ZCTA boundary polygons.
- 3Reproject both the ZIP boundaries and the CAL FIRE hazard polygons to California Albers (EPSG:3310) so areas are measured accurately.
- 4Spatially intersect the two layers and sum the intersected area falling in High and Very High hazard classes for each ZIP.
- 5Divide by the ZIP's total land area to get wildfire exposure as a percentage. ZIPs with no overlap are treated as 0% exposure, not missing.
The Investment Opportunity Score
Each ZIP is scored as its percentile rank on 10-year home price appreciation minus its percentile rank on wildfire exposure, weighted equally.
An earlier version divided appreciation by (1 + wildfire%). That divisor only spanned 1 to ~1.94 across our data while appreciation spanned a far wider range, so growth alone explained 96% of the variance and wildfire risk barely moved the result - caught when a reviewer noticed one ZIP's score matched its raw appreciation figure exactly. Percentile ranks give both components comparable influence by construction.
The 50/50 weighting is still a judgment call, not something validated against how lenders or insurers actually price wildfire risk. It is an illustrative screening metric for further due diligence - not underwriting, and not investment advice.
Known limitations
- Hazard coverage is a modeled land-area share, not a parcel-level rating. Two homes in the same ZIP can face very different real risk.
- The SRA hazard layer covers State Responsibility Areas; hazard inside Local Responsibility Areas is mapped separately and is not included here, so dense incorporated areas can read as 0% exposure.
- Zillow labels many distinct neighborhoods - West Hills, Chatsworth - simply as "Los Angeles," which flattens real differences in exposure.
- Insurance availability and cost, the single biggest financial consequence of wildfire risk for a homeowner, is absent entirely.
- ZCTAs are statistical approximations of postal ZIP codes and don't perfectly match mailing boundaries.
Data sources
Zillow Home Value Index (ZHVI), ZIP level ↗
Typical home value, smoothed & seasonally adjusted. Current month and May 2015.
U.S. Census ACS - median household income by ZCTA ↗
Table B19013, 2024 inflation-adjusted dollars (HouseholdIncome.csv in the repo).
CAL FIRE Fire Hazard Severity Zones (SRA, 23_3) ↗
Moderate / High / Very High hazard polygons for the State Responsibility Area.
CAL FIRE FRAP historical fire perimeters ↗
Every recorded California fire perimeter; filtered to ≥3,000 acres near LA County.
U.S. Census TIGER/Line ZCTA boundaries ↗
ZIP Code Tabulation Area polygons used for the spatial join and the choropleth.
Reproducing it
The notebook is self-contained: the first cell installs its dependencies and the second fetches the two committed data files if they aren't already alongside it. Everything on this site is generated from the same pipeline, refreshed against the live Zillow and CAL FIRE feeds, and served as static JSON so the map runs entirely in your browser.