Methodology — how the momentum score is calculated

Home·Methodology

A transparent explanation of every number on this site — where it comes from and how it’s combined.

Data sources

Everything on this site is built from publicly available, citable sources. We do not collect proprietary data.

SourceWhat it providesRefresh
Zillow ZHVI (Home Value Index)Monthly median home value by city, going back to 2000Monthly
Zillow ZORI (Observed Rent Index)Monthly median rent by city, going back to 2015Monthly
US Census place population2020 Decennial Census + annual Vintage population estimatesAnnual
US Census TIGER geographyPlace / county / state boundaries and identifiersAnnual
State DOT, Emergency Management portalsLinked from state hub pages — not used for scoringContinuous

Each city profile cites the date of its most recent data point. When a source publishes a revision, the next build picks it up.

The momentum score (0–100)

The composite momentum score is a weighted average of six normalized signals. Higher = more positive direction. It is not a recommendation — it is a measurement of recent direction.

score = 0.22 × home_yoy
+ 0.22 × home_5yr_CAGR
+ 0.10 × home_10yr_CAGR
+ 0.18 × distance_from_5yr_peak
+ 0.16 × population_CAGR_2020_to_2024  (if available)
+ 0.12 × rent_yoy  (if available)

weights re-normalize when population or rent signals are missing.

How each input is normalized

Each raw signal is mapped to a 0–100 scale using piecewise-linear breakpoints. The composite is then a weighted average.

SignalMaps to score 90+Maps to score 10–
1-year home value change+10%−10%
5-year home value CAGR+10%−5%
10-year home value CAGR+12%0%
Distance from 5-year peak0% off (at peak)−30% off peak
Population CAGR (2020–24)+3% / yr−2% / yr
Rent year-over-year+6%−5%

Classification thresholds

Score rangeLabelPlain-English read
78–100HotMultiple signals pointing up; tight inventory, limited buyer leverage.
62–77RisingHealthy market; prices supported by underlying demand.
48–61StableSideways; local fit matters more than market timing.
33–47CoolingPrices off recent highs; buyers gaining negotiating room.
0–32DecliningWell off recent highs; resale liquidity reduced.

What’s included, what’s excluded

A city appears on this site only if:

  • It exists in the US Census place spine (incorporated place or Census Designated Place with population ≥ 3,500 in the 2020 Census), AND
  • Zillow ZHVI tracks it with at least 5 years of monthly data, AND
  • Its 2024 population estimate is at least 5,000.

About 5,400 US cities meet all three criteria — roughly the cities for which a momentum score is statistically meaningful.

What’s not measured (yet)

  • Schools (NCES Common Core of Data is on the roadmap)
  • Crime (FBI UCR is on the roadmap)
  • Local job market (BLS LAUS is on the roadmap)
  • Income and education (US Census ACS, pending API key)
  • Climate and natural hazard data (FEMA NFHL, NOAA — on the roadmap)
  • School zoning, neighborhood-level data (much harder to ingest consistently)

None of these are factored into the current momentum score.

Limitations to keep in mind

  • City-level data smooths over neighborhood differences. Two homes in the same city can have very different fundamentals.
  • The momentum score is backward-looking. Recent direction does not predict future direction.
  • “Hot” is not the same as “good investment.” Hot markets often have less buyer leverage.
  • “Declining” is not the same as “bad investment.” Some declining markets are at the start of a longer slide; others are near a bottom.
  • The composite score is a summary. Individual signals on each city page tell a more nuanced story.

Reproducibility

The full build pipeline is open Python. Anyone with the source data files can rebuild this site end-to-end on a laptop in about three minutes.