kvlak limn

Housing & Weather · FHFA HPI

How Far Prices Ran

Home-price index growth by metro, nominal against real - how far prices pulled away from the dollars, and the paychecks, underneath them.

8.8x Nominal, since 1975
but only
1.4x Real, after inflation

The sticker number is a story about the dollar as much as the house. Take 6.1x of consumer inflation back out and the run shrinks to about 1.4x - less than half again - across 51 years.

410 metros priced 1975-2025 Full
No. 01

The map of the run

Real growth since 2000, by state

Even after inflation is stripped out, the gains are wildly uneven. The mountain west and the Sun Belt ran the hardest; the industrial Midwest and parts of the Northeast barely cleared the cost of living. Deeper brass means a larger real gain.

Alabama: 35% real growth since 2000 Alaska: 48% real growth since 2000 Arizona: 81% real growth since 2000 Colorado: 72% real growth since 2000 Florida: 106% real growth since 2000 Georgia: 48% real growth since 2000 Indiana: 32% real growth since 2000 Kansas: 35% real growth since 2000 Maine: 90% real growth since 2000 Massachusetts: 66% real growth since 2000 Minnesota: 39% real growth since 2000 New Jersey: 70% real growth since 2000 North Carolina: 55% real growth since 2000 North Dakota: 82% real growth since 2000 Oklahoma: 41% real growth since 2000 Pennsylvania: 51% real growth since 2000 South Dakota: 71% real growth since 2000 Texas: 75% real growth since 2000 Wyoming: 76% real growth since 2000 Connecticut: 40% real growth since 2000 Missouri: 42% real growth since 2000 West Virginia: 28% real growth since 2000 Illinois: 15% real growth since 2000 New Mexico: 46% real growth since 2000 Arkansas: 36% real growth since 2000 California: 78% real growth since 2000 Delaware: 51% real growth since 2000 District of Columbia: 129% real growth since 2000 Hawaii: 116% real growth since 2000 Iowa: 31% real growth since 2000 Kentucky: 38% real growth since 2000 Maryland: 56% real growth since 2000 Michigan: 21% real growth since 2000 Mississippi: 22% real growth since 2000 Montana: 116% real growth since 2000 New Hampshire: 82% real growth since 2000 New York: 70% real growth since 2000 Ohio: 23% real growth since 2000 Oregon: 79% real growth since 2000 Tennessee: 71% real growth since 2000 Utah: 90% real growth since 2000 Virginia: 64% real growth since 2000 Washington: 96% real growth since 2000 Wisconsin: 43% real growth since 2000 Nebraska: 45% real growth since 2000 South Carolina: 55% real growth since 2000 Idaho: 113% real growth since 2000 Nevada: 72% real growth since 2000 Vermont: 80% real growth since 2000 Louisiana: 25% real growth since 2000 Rhode Island: 88% real growth since 2000
Real growth since 2000
  • < 40%
  • 40-60%
  • 60-85%
  • 85-110%
  • 110%+

Hottest: District of Columbia (129%). Coldest: Illinois (15%). US baseline 23%.

All 51 states as a table
StateReal growth, 2000Nominal growth, 2000
District of Columbia DC 129% 329%
Hawaii HI 116% 305%
Montana MT 116% 305%
Idaho ID 113% 299%
Florida FL 106% 286%
Washington WA 96% 268%
Maine ME 90% 255%
Utah UT 90% 256%
Rhode Island RI 88% 251%
North Dakota ND 82% 241%
New Hampshire NH 82% 240%
Arizona AZ 81% 240%
Vermont VT 80% 237%
Oregon OR 79% 236%
California CA 78% 233%
Wyoming WY 76% 230%
Texas TX 75% 228%
Colorado CO 72% 222%
Nevada NV 72% 222%
South Dakota SD 71% 220%
Tennessee TN 71% 220%
New Jersey NJ 70% 219%
New York NY 70% 219%
Massachusetts MA 66% 210%
Virginia VA 64% 207%
Maryland MD 56% 191%
North Carolina NC 55% 191%
South Carolina SC 55% 190%
Delaware DE 51% 183%
Pennsylvania PA 51% 183%
Alaska AK 48% 177%
Georgia GA 48% 178%
New Mexico NM 46% 173%
Nebraska NE 45% 172%
Wisconsin WI 43% 168%
Missouri MO 42% 166%
Oklahoma OK 41% 165%
Connecticut CT 40% 161%
Minnesota MN 39% 161%
Kentucky KY 38% 158%
Arkansas AR 36% 155%
Alabama AL 35% 153%
Kansas KS 35% 153%
Indiana IN 32% 147%
Iowa IA 31% 145%
West Virginia WV 28% 140%
Louisiana LA 25% 135%
Ohio OH 23% 130%
Mississippi MS 22% 129%
Michigan MI 21% 127%
Illinois IL 15% 116%
No. 02

Nominal ran. Real walked.

US index, 1975 = 100

The brass line is the price on the listing. The blue line is that same price measured in constant dollars. The wedge between them is pure inflation - the part of the run that bought no extra house at all.

100 300 500 700 900 197519851995200520152026 1975: nominal 100 (1.0x) 1975: real 100 (1.0x) 1990: nominal 236.3 (2.4x) 1990: real 97.2 (1.0x) 2000: nominal 373.3 (3.7x) 2000: real 116.6 (1.2x) 2007: nominal 477.9 (4.8x) 2007: real 124 (1.2x) 2012: nominal 403.3 (4.0x) 2012: real 94.5 (0.9x) 2021: nominal 619.1 (6.2x) 2021: real 122.9 (1.2x) 2026: nominal 880.4 (8.8x) 2026: real 143.5 (1.4x) Nominal 8.8x Real 1.4x
Nominal price index Real (CPI-deflated) Inflation wedge

Nominal prices multiplied 8.8x since 1975; in constant dollars the same houses grew barely 1.4x. The two lines only truly part after 2000 - before that, for a quarter century, real prices simply tread water.

Index values by year
YearNominalCPIReal
1975 100 100 100
1980 158.6 153.2 103.5
1985 173.7 200 86.9
1990 236.3 242.9 97.2
1995 293.5 283.3 103.6
2000 373.3 320.1 116.6
2005 472.8 363 130.2
2010 420.6 405.4 103.8
2015 441.3 440.5 100.2
2020 553.4 481 115
2025 858.9 599.4 143.3
2026 880.4 613.4 143.5
No. 03

Fifty years, one honest decade

Growth within each decade

Break the run into decades and the illusion falls apart. Nominal prices gained double digits in every era - but adjusted for inflation, houses went essentially nowhere until the 2010s.

-10% 0% 20% 40% 60% +59% +4% Late 1970s +49% -6% 1980s +58% +20% 1990s +13% -11% 2000s +32% +11% 2010s +55% +25% 2020s so far
Nominal growth Real growth (after inflation)

Only the the 2020s so far delivered a real gain worth the name - +25%. In the 1980s, real values actually fell while sticker prices rose by half. The gap between the two bars in every decade is the part of the run that was purely the dollar losing weight.

Decade figures as a table
DecadeRealNominal
Late 1970s +4% +59%
The 1980s -6% +49%
The 1990s +20% +58%
The 2000s -11% +13%
The 2010s +11% +32%
The 2020s so far +25% +55%
No. 04

The metros that actually ran

Real growth since 2000, ranked

Ranked by real gain - what a house bought over and above inflation since 2000. The brass bar is the real run; the faint figure at its tip is the nominal headline, the number that made the news.

0% 50% 100% 150% 200% 01 Miami-Miami Beach-Kendall, FL FL Miami-Miami Beach-Kendall, FL: +180% real, +425% nominal since 2000 +180% (425% nom) 02 Bozeman, MT MT Bozeman, MT: +163% real, +392% nominal since 2000 +163% (392% nom) 03 Coeur d'Alene, ID ID Coeur d'Alene, ID: +148% real, +364% nominal since 2000 +148% (364% nom) 04 West Palm Beach-Boca Raton-Delray Beach, FL FL West Palm Beach-Boca Raton-Delray Beach, FL: +144% real, +356% nominal since 2000 +144% (356% nom) 05 St. Petersburg-Clearwater-Largo, FL FL St. Petersburg-Clearwater-Largo, FL: +138% real, +346% nominal since 2000 +138% (346% nom) 06 Fort Lauderdale-Pompano Beach-Sunrise, FL FL Fort Lauderdale-Pompano Beach-Sunrise, FL: +136% real, +341% nominal since 2000 +136% (341% nom) 07 Kahului-Wailuku, HI HI Kahului-Wailuku, HI: +135% real, +340% nominal since 2000 +135% (340% nom) 08 Bellingham, WA WA Bellingham, WA: +132% real, +334% nominal since 2000 +132% (334% nom) 09 Los Angeles-Long Beach-Glendale, CA CA Los Angeles-Long Beach-Glendale, CA: +127% real, +326% nominal since 2000 +127% (326% nom) 10 Bend, OR OR Bend, OR: +126% real, +322% nominal since 2000 +126% (322% nom) 11 Boise City, ID ID Boise City, ID: +126% real, +323% nominal since 2000 +126% (323% nom) 12 Missoula, MT MT Missoula, MT: +125% real, +321% nominal since 2000 +125% (321% nom) 13 Midland, TX TX Midland, TX: +122% real, +316% nominal since 2000 +122% (316% nom) 14 Port St. Lucie, FL FL Port St. Lucie, FL: +120% real, +313% nominal since 2000 +120% (313% nom) 15 Anaheim-Santa Ana-Irvine, CA CA Anaheim-Santa Ana-Irvine, CA: +118% real, +309% nominal since 2000 +118% (309% nom) 16 Naples-Marco Island, FL FL Naples-Marco Island, FL: +117% real, +307% nominal since 2000 +117% (307% nom) 17 Helena, MT MT Helena, MT: +115% real, +302% nominal since 2000 +115% (302% nom) 18 Charleston-North Charleston, SC SC Charleston-North Charleston, SC: +114% real, +302% nominal since 2000 +114% (302% nom) 19 Tampa, FL FL Tampa, FL: +114% real, +301% nominal since 2000 +114% (301% nom) 20 Riverside-San Bernardino-Ontario, CA CA Riverside-San Bernardino-Ontario, CA: +113% real, +298% nominal since 2000 +113% (298% nom) 21 San Diego-Chula Vista-Carlsbad, CA CA San Diego-Chula Vista-Carlsbad, CA: +110% real, +294% nominal since 2000 +110% (294% nom) 22 Flagstaff, AZ AZ Flagstaff, AZ: +109% real, +291% nominal since 2000 +109% (291% nom) 23 Palm Bay-Melbourne-Titusville, FL FL Palm Bay-Melbourne-Titusville, FL: +108% real, +289% nominal since 2000 +108% (289% nom) 24 Urban Honolulu, HI HI Urban Honolulu, HI: +107% real, +287% nominal since 2000 +107% (287% nom) 25 Spokane-Spokane Valley, WA WA Spokane-Spokane Valley, WA: +106% real, +286% nominal since 2000 +106% (286% nom) 26 Wenatchee-East Wenatchee, WA WA Wenatchee-East Wenatchee, WA: +105% real, +284% nominal since 2000 +105% (284% nom) 27 Everett, WA WA Everett, WA: +103% real, +281% nominal since 2000 +103% (281% nom) 28 Tacoma-Lakewood, WA WA Tacoma-Lakewood, WA: +103% real, +281% nominal since 2000 +103% (281% nom) 29 Walla Walla, WA WA Walla Walla, WA: +102% real, +279% nominal since 2000 +102% (279% nom) 30 Mount Vernon-Anacortes, WA WA Mount Vernon-Anacortes, WA: +101% real, +277% nominal since 2000 +101% (277% nom)

Miami-Miami Beach-Kendall, FL tops the list at +180% real - yet its nominal headline was +425%. The gap between those two numbers, repeated down the whole board, is how much of the American housing story is really a story about the dollar.

No. 05

The boom was broad, but uneven

410 metros by real price growth, since 2000

The blockbuster metros are a tail, not the whole story. Sort every metro by how far its prices ran past inflation since 2000 and the crowd sits in a solid middle - real gains everywhere, but far short of the coastal headlines.

Barely kept pace under 25% Barely kept pace (under 25%): 67 metros, 16% 67 a thin margin over inflation Modest real gain 25 - 50% Modest real gain (25 - 50%): 129 metros, 31% 129 the lower middle Solid real gain 50 - 80% Solid real gain (50 - 80%): 129 metros, 31% 129 the broad middle Big real gain 80 - 120% Big real gain (80 - 120%): 71 metros, 17% 71 clear outperformance Ran off the chart over 120% Ran off the chart (over 120%): 14 metros, 3% 14 the coastal + sun-belt names

Only 14 metros - the coastal and sun-belt names you already know - ran off the chart above 120% real. But not one metro lost ground to inflation: even the weakest 67 still gained under 25% real. The typical American metro sits in that broad, unglamorous middle band.

No. 06

Four ways a price can move

Real index, 2000 = 100

A national average hides four completely different rides. Each panel is one metro's real price path since 2000, on a shared scale - the runaway, the crash, the flatline, and the late bloomer.

metro Miami-Miami Beach-Kendall, FL, FL
100 200 200020132026 280

real index, 2000 = 100

metro Bozeman, MT, MT
100 200 200020132026 263

real index, 2000 = 100

metro Coeur d'Alene, ID, ID
100 200 200020132026 248

real index, 2000 = 100

metro West Palm Beach-Boca Raton-Delray Beach, FL, FL
100 200 200020132026 244

real index, 2000 = 100

All four begin at 100 in 2000 and share one vertical scale, so a taller line genuinely ran further. The thin rule marks even-with-2000; every dip below it is a stretch of years when a home lost real value. Boise and San Jose more than doubled; Cleveland never left the runway.

No. 07

Prices went one way, paychecks another

Real price vs real income growth, 2015 to 2023

If houses and wages had climbed together, every metro would sit on the diagonal. Instead 319 of the 335 metros shown fall below it - real prices outran real incomes. Nationally, prices rose 33% against a 13% income gain over the same window.

-20% -20% 0% 0% 20% 20% 40% 40% 60% 60% 80% 80% 100% 100% prices track incomes Real price growth → Real income growth → Miami-Miami Beach-Kendall, FL: prices +73%, incomes +24% (gap 49 pts) Bozeman, MT: prices +82%, incomes +22% (gap 60 pts) Coeur d'Alene, ID: prices +96%, incomes +21% (gap 75 pts) West Palm Beach-Boca Raton-Delray Beach, FL: prices +76%, incomes +18% (gap 58 pts) Fort Lauderdale-Pompano Beach-Sunrise, FL: prices +66%, incomes +12% (gap 54 pts) Kahului-Wailuku, HI: prices +45%, incomes +11% (gap 34 pts) Bellingham, WA: prices +59%, incomes +19% (gap 40 pts) Los Angeles-Long Beach-Glendale, CA: prices +36%, incomes +21% (gap 15 pts) Bend, OR: prices +70%, incomes +30% (gap 40 pts) Boise City, ID: prices +96%, incomes +26% (gap 70 pts) Missoula, MT: prices +65%, incomes +19% (gap 46 pts) Midland, TX: prices +12%, incomes +6% (gap 6 pts) Port St. Lucie, FL: prices +89%, incomes +22% (gap 67 pts) Anaheim-Santa Ana-Irvine, CA: prices +30%, incomes +16% (gap 14 pts) Naples-Marco Island, FL: prices +72%, incomes +17% (gap 55 pts) Helena, MT: prices +56%, incomes +1% (gap 55 pts) Charleston-North Charleston, SC: prices +64%, incomes +20% (gap 44 pts) Riverside-San Bernardino-Ontario, CA: prices +49%, incomes +21% (gap 28 pts) San Diego-Chula Vista-Carlsbad, CA: prices +44%, incomes +24% (gap 20 pts) Flagstaff, AZ: prices +60%, incomes +8% (gap 52 pts) Palm Bay-Melbourne-Titusville, FL: prices +85%, incomes +21% (gap 64 pts) Urban Honolulu, HI: prices +17%, incomes +9% (gap 8 pts) Spokane-Spokane Valley, WA: prices +76%, incomes +16% (gap 60 pts) Wenatchee-East Wenatchee, WA: prices +57%, incomes +17% (gap 40 pts) Tacoma-Lakewood, WA: prices +72%, incomes +25% (gap 47 pts) Walla Walla, WA: prices +55%, incomes +19% (gap 36 pts) Mount Vernon-Anacortes, WA: prices +66%, incomes +23% (gap 43 pts) Phoenix-Mesa-Chandler, AZ: prices +70%, incomes +23% (gap 47 pts) Seattle-Bellevue-Kent, WA: prices +50%, incomes +28% (gap 22 pts) Lake Havasu City-Kingman, AZ: prices +67%, incomes +13% (gap 54 pts) North Port-Bradenton-Sarasota, FL: prices +78%, incomes +20% (gap 58 pts) Asheville, NC: prices +58%, incomes +20% (gap 38 pts) Bremerton-Silverdale-Port Orchard, WA: prices +58%, incomes +22% (gap 36 pts) Salt Lake City-Murray, UT: prices +65%, incomes +19% (gap 46 pts) Austin-Round Rock-San Marcos, TX: prices +55%, incomes +20% (gap 35 pts) Kingston, NY: prices +48%, incomes +8% (gap 40 pts) Nashville-Davidson--Murfreesboro--Franklin, TN: prices +70%, incomes +19% (gap 51 pts) Portland-South Portland, ME: prices +54%, incomes +18% (gap 36 pts) Sebastian-Vero Beach-West Vero Corridor, FL: prices +82%, incomes +21% (gap 61 pts) Idaho Falls, ID: prices +86%, incomes +19% (gap 67 pts) Deltona-Daytona Beach-Ormond Beach, FL: prices +81%, incomes +25% (gap 56 pts) Odessa, TX: prices +5%, incomes -3% (gap 8 pts) Sebring, FL: prices +91%, incomes +23% (gap 68 pts) Orlando-Kissimmee-Sanford, FL: prices +69%, incomes +21% (gap 48 pts) Twin Falls, ID: prices +77%, incomes +19% (gap 58 pts) Homosassa Springs, FL: prices +97%, incomes +12% (gap 85 pts) Olympia-Lacey-Tumwater, WA: prices +64%, incomes +19% (gap 45 pts) Atlantic City-Hammonton, NJ: prices +41%, incomes +15% (gap 26 pts) Barnstable Town, MA: prices +45%, incomes +16% (gap 29 pts) Pocatello, ID: prices +77%, incomes +14% (gap 63 pts) Knoxville, TN: prices +66%, incomes +19% (gap 47 pts) San Luis Obispo-Paso Robles, CA: prices +33%, incomes +20% (gap 13 pts) Lakeland-Winter Haven, FL: prices +86%, incomes +15% (gap 71 pts) Rapid City, SD: prices +46%, incomes +9% (gap 37 pts) Fresno, CA: prices +45%, incomes +24% (gap 21 pts) Crestview-Fort Walton Beach-Destin, FL: prices +60%, incomes +16% (gap 44 pts) Jacksonville, FL: prices +67%, incomes +15% (gap 52 pts) Savannah, GA: prices +60%, incomes +15% (gap 45 pts) Lewiston-Auburn, ME: prices +57%, incomes +10% (gap 47 pts) Kennewick-Richland, WA: prices +62%, incomes +13% (gap 49 pts) Burlington-South Burlington, VT: prices +32%, incomes +12% (gap 20 pts) Cape Coral-Fort Myers, FL: prices +72%, incomes +17% (gap 55 pts) Casper, WY: prices +9%, incomes -3% (gap 12 pts) Grand Junction, CO: prices +53%, incomes +13% (gap 40 pts) Oxnard-Thousand Oaks-Ventura, CA: prices +28%, incomes +8% (gap 20 pts) Reno, NV: prices +60%, incomes +24% (gap 36 pts) San Angelo, TX: prices +25%, incomes +10% (gap 15 pts) Santa Maria-Santa Barbara, CA: prices +33%, incomes +17% (gap 16 pts) Bakersfield-Delano, CA: prices +36%, incomes +7% (gap 29 pts) Ogden, UT: prices +71%, incomes +20% (gap 51 pts) Yuba City, CA: prices +50%, incomes +17% (gap 33 pts) Provo-Orem-Lehi, UT: prices +64%, incomes +22% (gap 42 pts) Sherman-Denison, TX: prices +70%, incomes +14% (gap 56 pts) Waco, TX: prices +58%, incomes +18% (gap 40 pts) Wilmington, NC: prices +65%, incomes +17% (gap 48 pts) Albany, OR: prices +69%, incomes +25% (gap 44 pts) Gainesville, FL: prices +57%, incomes +7% (gap 50 pts) Great Falls, MT: prices +41%, incomes +14% (gap 27 pts) Billings, MT: prices +32%, incomes +11% (gap 21 pts) Longview-Kelso, WA: prices +66%, incomes +20% (gap 46 pts) Panama City-Panama City Beach, FL: prices +61%, incomes +12% (gap 49 pts) St. George, UT: prices +67%, incomes +17% (gap 50 pts) College Station-Bryan, TX: prices +40%, incomes +13% (gap 27 pts) Corvallis, OR: prices +45%, incomes +19% (gap 26 pts) Dallas-Plano-Irving, TX: prices +57%, incomes +15% (gap 42 pts) Ithaca, NY: prices +20%, incomes +8% (gap 12 pts) Minot, ND: prices +-7%, incomes +1% (gap -8 pts) San Antonio-New Braunfels, TX: prices +44%, incomes +9% (gap 35 pts) Bismarck, ND: prices +3%, incomes +2% (gap 1 pts) Carson City, NV: prices +61%, incomes +17% (gap 44 pts) Eugene-Springfield, OR: prices +53%, incomes +22% (gap 31 pts) Glens Falls, NY: prices +24%, incomes +8% (gap 16 pts) Modesto, CA: prices +46%, incomes +24% (gap 22 pts) Salem, OR: prices +63%, incomes +19% (gap 44 pts) Visalia, CA: prices +44%, incomes +29% (gap 15 pts) Charlottesville, VA: prices +30%, incomes +17% (gap 13 pts) Ocala, FL: prices +76%, incomes +15% (gap 61 pts) Punta Gorda, FL: prices +79%, incomes +16% (gap 63 pts) Buffalo-Cheektowaga, NY: prices +43%, incomes +8% (gap 35 pts) Cheyenne, WY: prices +32%, incomes 0% (gap 32 pts) Hanford-Corcoran, CA: prices +44%, incomes +15% (gap 29 pts) Sacramento-Roseville-Folsom, CA: prices +38%, incomes +22% (gap 16 pts) Denver-Aurora-Centennial, CO: prices +51%, incomes +21% (gap 30 pts) Fort Worth-Arlington-Grapevine, TX: prices +60%, incomes +10% (gap 50 pts) Las Vegas-Henderson-North Las Vegas, NV: prices +66%, incomes +11% (gap 55 pts) Pensacola-Ferry Pass-Brent, FL: prices +66%, incomes +15% (gap 51 pts) Utica-Rome, NY: prices +32%, incomes +12% (gap 20 pts) El Centro, CA: prices +42%, incomes +7% (gap 35 pts) Fort Collins-Loveland, CO: prices +49%, incomes +19% (gap 30 pts) Hilton Head Island-Bluffton-Port Royal, SC: prices +63%, incomes +17% (gap 46 pts) Manchester-Nashua, NH: prices +46%, incomes +10% (gap 36 pts) Grants Pass, OR: prices +42%, incomes +22% (gap 20 pts) Boulder, CO: prices +44%, incomes +13% (gap 31 pts) Richmond, VA: prices +40%, incomes +10% (gap 30 pts) Albany-Schenectady-Troy, NY: prices +21%, incomes +7% (gap 14 pts) Bangor, ME: prices +43%, incomes +11% (gap 32 pts) Chico, CA: prices +32%, incomes +23% (gap 9 pts) Houston-Pasadena-The Woodlands, TX: prices +27%, incomes +5% (gap 22 pts) Johnson City, TN: prices +50%, incomes +12% (gap 38 pts) Athens-Clarke County, GA: prices +69%, incomes +21% (gap 48 pts) Durham-Chapel Hill, NC: prices +58%, incomes +18% (gap 40 pts) Merced, CA: prices +48%, incomes +19% (gap 29 pts) Morristown, TN: prices +57%, incomes +14% (gap 43 pts) Napa, CA: prices +23%, incomes +19% (gap 4 pts) Tucson, AZ: prices +60%, incomes +14% (gap 46 pts) Greenville-Anderson-Greer, SC: prices +56%, incomes +17% (gap 39 pts) Oakland-Fremont-Berkeley, CA: prices +27%, incomes +27% (gap 0 pts) Traverse City, MI: prices +64%, incomes +18% (gap 46 pts) Brunswick-St. Simons, GA: prices +54%, incomes +14% (gap 40 pts) Yakima, WA: prices +52%, incomes +18% (gap 34 pts) Pittsfield, MA: prices +29%, incomes +13% (gap 16 pts) Staunton-Stuarts Draft, VA: prices +33%, incomes +11% (gap 22 pts) Syracuse, NY: prices +33%, incomes +7% (gap 26 pts) Abilene, TX: prices +32%, incomes +15% (gap 17 pts) Daphne-Fairhope-Foley, AL: prices +53%, incomes +16% (gap 37 pts) Lancaster, PA: prices +37%, incomes +13% (gap 24 pts) Redding, CA: prices +29%, incomes +25% (gap 4 pts) Stockton-Lodi, CA: prices +46%, incomes +29% (gap 17 pts) Trenton-Princeton, NJ: prices +28%, incomes +3% (gap 25 pts) Cleveland, TN: prices +50%, incomes +19% (gap 31 pts) Colorado Springs, CO: prices +58%, incomes +16% (gap 42 pts) Grand Island, NE: prices +33%, incomes +4% (gap 29 pts) Greeley, CO: prices +54%, incomes +20% (gap 34 pts) Jacksonville, NC: prices +48%, incomes +8% (gap 40 pts) Medford, OR: prices +36%, incomes +26% (gap 10 pts) Raleigh-Cary, NC: prices +56%, incomes +18% (gap 38 pts) San Jose-Sunnyvale-Santa Clara, CA: prices +21%, incomes +28% (gap -7 pts) Pinehurst-Southern Pines, NC: prices +47%, incomes +26% (gap 21 pts) Salinas, CA: prices +40%, incomes +25% (gap 15 pts) San Francisco-San Mateo-Redwood City, CA: prices +6%, incomes +32% (gap -26 pts) Vineland, NJ: prices +33%, incomes 0% (gap 33 pts) Gainesville, GA: prices +66%, incomes +18% (gap 48 pts) Santa Fe, NM: prices +43%, incomes +7% (gap 36 pts) Tyler, TX: prices +43%, incomes +19% (gap 24 pts) Watertown-Fort Drum, NY: prices +1%, incomes +2% (gap -1 pts) Yuma, AZ: prices +47%, incomes +15% (gap 32 pts) Corpus Christi, TX: prices +26%, incomes +2% (gap 24 pts) Longview, TX: prices +27%, incomes +8% (gap 19 pts) El Paso, TX: prices +32%, incomes +10% (gap 22 pts) Hinesville, GA: prices +44%, incomes +8% (gap 36 pts) Reading, PA: prices +34%, incomes +8% (gap 26 pts) Springfield, MA: prices +30%, incomes +4% (gap 26 pts) Baltimore-Columbia-Towson, MD: prices +14%, incomes +7% (gap 7 pts) Killeen-Temple, TX: prices +54%, incomes +4% (gap 50 pts) Sioux Falls, SD-MN: prices +40%, incomes +9% (gap 31 pts) Bloomington, IN: prices +37%, incomes +15% (gap 22 pts) Eau Claire, WI: prices +46%, incomes +11% (gap 35 pts) Harrisonburg, VA: prices +23%, incomes +16% (gap 7 pts) Lebanon, PA: prices +33%, incomes +7% (gap 26 pts) Tallahassee, FL: prices +44%, incomes +8% (gap 36 pts) Hot Springs, AR: prices +36%, incomes +11% (gap 25 pts) State College, PA: prices +20%, incomes +8% (gap 12 pts) Vallejo, CA: prices +35%, incomes +16% (gap 19 pts) Victoria, TX: prices +19%, incomes +5% (gap 14 pts) Madison, WI: prices +36%, incomes +9% (gap 27 pts) Lynchburg, VA: prices +29%, incomes +10% (gap 19 pts) Rochester, NY: prices +38%, incomes +10% (gap 28 pts) Anchorage, AK: prices +7%, incomes -3% (gap 10 pts) Dover, DE: prices +29%, incomes +3% (gap 26 pts) Elizabethtown, KY: prices +38%, incomes +6% (gap 32 pts) Morgantown, WV: prices +9%, incomes +7% (gap 2 pts) Oklahoma City, OK: prices +27%, incomes +7% (gap 20 pts) Roanoke, VA: prices +30%, incomes +4% (gap 26 pts) Sierra Vista-Douglas, AZ: prices +44%, incomes +2% (gap 42 pts) Albuquerque, NM: prices +38%, incomes +9% (gap 29 pts) Grand Rapids-Wyoming-Kentwood, MI: prices +60%, incomes +16% (gap 44 pts) Huntsville, AL: prices +46%, incomes +16% (gap 30 pts) Lexington-Fayette, KY: prices +40%, incomes +8% (gap 32 pts) Blacksburg-Christiansburg-Radford, VA: prices +27%, incomes +10% (gap 17 pts) Florence-Muscle Shoals, AL: prices +33%, incomes +7% (gap 26 pts) Norwich-New London-Willimantic, CT: prices +31%, incomes -1% (gap 32 pts) Pittsburgh, PA: prices +25%, incomes +10% (gap 15 pts) Pueblo, CO: prices +62%, incomes +17% (gap 45 pts) Binghamton, NY: prices +18%, incomes +2% (gap 16 pts) New Haven, CT: prices +22%, incomes +9% (gap 13 pts) Santa Rosa-Petaluma, CA: prices +20%, incomes +25% (gap -5 pts) Spartanburg, SC: prices +56%, incomes +13% (gap 43 pts) Springfield, MO: prices +47%, incomes +11% (gap 36 pts) Columbia, MO: prices +29%, incomes +8% (gap 21 pts) Columbus, OH: prices +50%, incomes +11% (gap 39 pts) McAllen-Edinburg-Mission, TX: prices +35%, incomes +17% (gap 18 pts) Muskegon-Norton Shores, MI: prices +67%, incomes +15% (gap 52 pts) Santa Cruz-Watsonville, CA: prices +22%, incomes +26% (gap -4 pts) Chambersburg, PA: prices +20%, incomes +8% (gap 12 pts) Hickory-Lenoir-Morganton, NC: prices +52%, incomes +16% (gap 36 pts) Janesville-Beloit, WI: prices +50%, incomes +15% (gap 35 pts) Wichita Falls, TX: prices +35%, incomes +7% (gap 28 pts) Auburn-Opelika, AL: prices +37%, incomes +3% (gap 34 pts) Scranton--Wilkes-Barre, PA: prices +24%, incomes +7% (gap 17 pts) York-Hanover, PA: prices +27%, incomes +10% (gap 17 pts) Appleton, WI: prices +42%, incomes +7% (gap 35 pts) Fort Wayne, IN: prices +53%, incomes +8% (gap 45 pts) Gettysburg, PA: prices +22%, incomes +4% (gap 18 pts) Harrisburg-Carlisle, PA: prices +24%, incomes +7% (gap 17 pts) Oshkosh-Neenah, WI: prices +41%, incomes +9% (gap 32 pts) Williamsport, PA: prices +8%, incomes +6% (gap 2 pts) Brownsville-Harlingen, TX: prices +37%, incomes +20% (gap 17 pts) Dalton, GA: prices +53%, incomes +30% (gap 23 pts) Joplin, MO-KS: prices +31%, incomes +11% (gap 20 pts) Lincoln, NE: prices +38%, incomes +9% (gap 29 pts) Michigan City-La Porte, IN: prices +39%, incomes +17% (gap 22 pts) Milwaukee-Waukesha, WI: prices +33%, incomes +9% (gap 24 pts) Bowling Green, KY: prices +35%, incomes +12% (gap 23 pts) Columbia, SC: prices +38%, incomes +3% (gap 35 pts) Farmington, NM: prices +9%, incomes -15% (gap 24 pts) Jefferson City, MO: prices +31%, incomes +10% (gap 21 pts) Niles, MI: prices +36%, incomes +9% (gap 27 pts) Rome, GA: prices +53%, incomes +17% (gap 36 pts) Sheboygan, WI: prices +45%, incomes +4% (gap 41 pts) Tulsa, OK: prices +32%, incomes +5% (gap 27 pts) Green Bay, WI: prices +44%, incomes +12% (gap 32 pts) Lawrence, KS: prices +33%, incomes +5% (gap 28 pts) Hartford-West Hartford-East Hartford, CT: prices +18%, incomes +3% (gap 15 pts) Laredo, TX: prices +25%, incomes +25% (gap 0 pts) Las Cruces, NM: prices +36%, incomes +11% (gap 25 pts) Manhattan, KS: prices +9%, incomes +4% (gap 5 pts) Racine-Mount Pleasant, WI: prices +40%, incomes +5% (gap 35 pts) Beaumont-Port Arthur, TX: prices +19%, incomes +11% (gap 8 pts) Dubuque, IA: prices +17%, incomes +8% (gap 9 pts) Indianapolis-Carmel-Greenwood, IN: prices +47%, incomes +13% (gap 34 pts) Lubbock, TX: prices +23%, incomes +6% (gap 17 pts) Sumter, SC: prices +29%, incomes +5% (gap 24 pts) Bridgeport-Stamford-Danbury, CT: prices +18%, incomes +3% (gap 15 pts) Fayetteville, NC: prices +34%, incomes +4% (gap 30 pts) Gadsden, AL: prices +27%, incomes +5% (gap 22 pts) St. Cloud, MN: prices +31%, incomes +6% (gap 25 pts) Winston-Salem, NC: prices +46%, incomes +13% (gap 33 pts) San Rafael, CA: prices +9%, incomes +19% (gap -10 pts) Topeka, KS: prices +29%, incomes +3% (gap 26 pts) Wausau, WI: prices +33%, incomes +10% (gap 23 pts) Wichita, KS: prices +32%, incomes +4% (gap 28 pts) Beckley, WV: prices +6%, incomes +4% (gap 2 pts) Birmingham, AL: prices +32%, incomes +10% (gap 22 pts) Decatur, AL: prices +39%, incomes +12% (gap 27 pts) Erie, PA: prices +22%, incomes +4% (gap 18 pts) Fairbanks-College, AK: prices +11%, incomes -7% (gap 18 pts) Mankato, MN: prices +25%, incomes +9% (gap 16 pts) Mobile, AL: prices +34%, incomes +3% (gap 31 pts) Rochester, MN: prices +33%, incomes +7% (gap 26 pts) Amarillo, TX: prices +23%, incomes +3% (gap 20 pts) Columbus, IN: prices +33%, incomes +14% (gap 19 pts) Fond du Lac, WI: prices +36%, incomes +3% (gap 33 pts) Lafayette-West Lafayette, IN: prices +42%, incomes 0% (gap 42 pts) Altoona, PA: prices +12%, incomes +7% (gap 5 pts) Burlington, NC: prices +50%, incomes +20% (gap 30 pts) Elkhart-Goshen, IN: prices +42%, incomes +7% (gap 35 pts) Greensboro-High Point, NC: prices +44%, incomes +12% (gap 32 pts) Gulfport-Biloxi, MS: prices +30%, incomes +8% (gap 22 pts) Hattiesburg, MS: prices +19%, incomes +9% (gap 10 pts) Jackson, TN: prices +49%, incomes +10% (gap 39 pts) Owensboro, KY: prices +27%, incomes +11% (gap 16 pts) Tuscaloosa, AL: prices +22%, incomes +7% (gap 15 pts) Ames, IA: prices +22%, incomes +10% (gap 12 pts) Enid, OK: prices +2%, incomes +9% (gap -7 pts) Anniston-Oxford, AL: prices +29%, incomes +4% (gap 25 pts) New Orleans-Metairie, LA: prices +12%, incomes +3% (gap 9 pts) Hammond, LA: prices +11%, incomes +8% (gap 3 pts) Johnstown, PA: prices +9%, incomes +4% (gap 5 pts) Kalamazoo-Portage, MI: prices +38%, incomes +16% (gap 22 pts) Little Rock-North Little Rock-Conway, AR: prices +20%, incomes +3% (gap 17 pts) Terre Haute, IN: prices +26%, incomes +2% (gap 24 pts) Des Moines-West Des Moines, IA: prices +25%, incomes +6% (gap 19 pts) Warner Robins, GA: prices +40%, incomes +20% (gap 20 pts) Waterloo-Cedar Falls, IA: prices +11%, incomes +6% (gap 5 pts) Baton Rouge, LA: prices +8%, incomes +2% (gap 6 pts) Champaign-Urbana, IL: prices +12%, incomes +4% (gap 8 pts) Goldsboro, NC: prices +28%, incomes +12% (gap 16 pts) Lima, OH: prices +31%, incomes +9% (gap 22 pts) Elmira, NY: prices +10%, incomes -2% (gap 12 pts) Valdosta, GA: prices +20%, incomes +17% (gap 3 pts) Florence, SC: prices +19%, incomes +4% (gap 15 pts) Iowa City, IA: prices +13%, incomes +3% (gap 10 pts) Mansfield, OH: prices +46%, incomes +7% (gap 39 pts) Sandusky, OH: prices +33%, incomes +15% (gap 18 pts) Greenville, NC: prices +33%, incomes +11% (gap 22 pts) Lake Charles, LA: prices +3%, incomes +14% (gap -11 pts) Springfield, OH: prices +40%, incomes +8% (gap 32 pts) Ann Arbor, MI: prices +33%, incomes +11% (gap 22 pts) Dothan, AL: prices +19%, incomes +9% (gap 10 pts) Houma-Bayou Cane-Thibodaux, LA: prices +-2%, incomes +1% (gap -3 pts) Lafayette, LA: prices +-2%, incomes 0% (gap -2 pts) Parkersburg-Vienna, WV: prices +14%, incomes +5% (gap 9 pts) Muncie, IN: prices +37%, incomes +14% (gap 23 pts) Jonesboro, AR: prices +17%, incomes +6% (gap 11 pts) Macon-Bibb County, GA: prices +32%, incomes +14% (gap 18 pts) Battle Creek, MI: prices +39%, incomes +10% (gap 29 pts) Monroe, LA: prices +2%, incomes +3% (gap -1 pts) Rocky Mount, NC: prices +41%, incomes +14% (gap 27 pts) Alexandria, LA: prices +4%, incomes +8% (gap -4 pts) Canton-Massillon, OH: prices +32%, incomes +8% (gap 24 pts) Rockford, IL: prices +33%, incomes +4% (gap 29 pts) Albany, GA: prices +21%, incomes +13% (gap 8 pts) Midland, MI: prices +29%, incomes +12% (gap 17 pts) Shreveport-Bossier City, LA: prices +1%, incomes -2% (gap 3 pts) Akron, OH: prices +31%, incomes +8% (gap 23 pts) Jackson, MI: prices +37%, incomes +9% (gap 28 pts) Kankakee, IL: prices +21%, incomes +2% (gap 19 pts) Lansing-East Lansing, MI: prices +35%, incomes +9% (gap 26 pts) Cedar Rapids, IA: prices +15%, incomes +2% (gap 13 pts) Jackson, MS: prices +10%, incomes +3% (gap 7 pts) Kokomo, IN: prices +35%, incomes +10% (gap 25 pts) Lawton, OK: prices +4%, incomes -1% (gap 5 pts) Springfield, IL: prices +7%, incomes +3% (gap 4 pts) Warren-Troy-Farmington Hills, MI: prices +34%, incomes +9% (gap 25 pts) Bay City, MI: prices +31%, incomes +3% (gap 28 pts) Bloomington, IL: prices +13%, incomes -1% (gap 14 pts) Montgomery, AL: prices +14%, incomes +5% (gap 9 pts) Charleston, WV: prices +1%, incomes +1% (gap 0 pts) Decatur, IL: prices +8%, incomes +3% (gap 5 pts) Peoria, IL: prices +2%, incomes 0% (gap 2 pts) Toledo, OH: prices +29%, incomes +9% (gap 20 pts) Flint, MI: prices +42%, incomes +11% (gap 31 pts) Saginaw, MI: prices +37%, incomes +5% (gap 32 pts) Detroit-Dearborn-Livonia, MI: prices +38%, incomes +12% (gap 26 pts) Monroe, MI: prices +28%, incomes +5% (gap 23 pts) Boise City, IDAustin-Round Rock-San Marcos, TXHomosassa Springs, FLSan Jose-Sunnyvale-Santa Clara, CADetroit-Dearborn-Livonia, MI
One metro (of 335) Parity: prices = incomes Prices outran incomes

The vertical distance from each dot up to the parity line is the affordability gap a local buyer had to jump. It is widest in Homosassa Springs, FL, where real prices ran 85 points past local incomes. The exceptions sit above the line - a few high-cost coastal metros where prices had already stalled and paychecks edged ahead.

All 335 metros as a table
MetroReal priceReal incomeGap
Homosassa Springs, FL +97% +12% 85
Coeur d'Alene, ID +96% +21% 75
Lakeland-Winter Haven, FL +86% +15% 71
Boise City, ID +96% +26% 70
Sebring, FL +91% +23% 68
Port St. Lucie, FL +89% +22% 67
Idaho Falls, ID +86% +19% 67
Palm Bay-Melbourne-Titusville, FL +85% +21% 64
Pocatello, ID +77% +14% 63
Punta Gorda, FL +79% +16% 63
Sebastian-Vero Beach-West Vero Corridor, FL +82% +21% 61
Ocala, FL +76% +15% 61
Bozeman, MT +82% +22% 60
Spokane-Spokane Valley, WA +76% +16% 60
West Palm Beach-Boca Raton-Delray Beach, FL +76% +18% 58
North Port-Bradenton-Sarasota, FL +78% +20% 58
Twin Falls, ID +77% +19% 58
Deltona-Daytona Beach-Ormond Beach, FL +81% +25% 56
Sherman-Denison, TX +70% +14% 56
Naples-Marco Island, FL +72% +17% 55
Helena, MT +56% +1% 55
Cape Coral-Fort Myers, FL +72% +17% 55
Las Vegas-Henderson-North Las Vegas, NV +66% +11% 55
Fort Lauderdale-Pompano Beach-Sunrise, FL +66% +12% 54
Lake Havasu City-Kingman, AZ +67% +13% 54
Flagstaff, AZ +60% +8% 52
Jacksonville, FL +67% +15% 52
Muskegon-Norton Shores, MI +67% +15% 52
Nashville-Davidson--Murfreesboro--Franklin, TN +70% +19% 51
Ogden, UT +71% +20% 51
Pensacola-Ferry Pass-Brent, FL +66% +15% 51
Gainesville, FL +57% +7% 50
St. George, UT +67% +17% 50
Fort Worth-Arlington-Grapevine, TX +60% +10% 50
Killeen-Temple, TX +54% +4% 50
Miami-Miami Beach-Kendall, FL +73% +24% 49
Kennewick-Richland, WA +62% +13% 49
Panama City-Panama City Beach, FL +61% +12% 49
Orlando-Kissimmee-Sanford, FL +69% +21% 48
Wilmington, NC +65% +17% 48
Athens-Clarke County, GA +69% +21% 48
Gainesville, GA +66% +18% 48
Tacoma-Lakewood, WA +72% +25% 47
Phoenix-Mesa-Chandler, AZ +70% +23% 47
Knoxville, TN +66% +19% 47
Lewiston-Auburn, ME +57% +10% 47
Missoula, MT +65% +19% 46
Salt Lake City-Murray, UT +65% +19% 46
Longview-Kelso, WA +66% +20% 46
Hilton Head Island-Bluffton-Port Royal, SC +63% +17% 46
Tucson, AZ +60% +14% 46
Traverse City, MI +64% +18% 46
Olympia-Lacey-Tumwater, WA +64% +19% 45
Savannah, GA +60% +15% 45
Pueblo, CO +62% +17% 45
Fort Wayne, IN +53% +8% 45
Charleston-North Charleston, SC +64% +20% 44
Crestview-Fort Walton Beach-Destin, FL +60% +16% 44
Albany, OR +69% +25% 44
Carson City, NV +61% +17% 44
Salem, OR +63% +19% 44
Grand Rapids-Wyoming-Kentwood, MI +60% +16% 44
Mount Vernon-Anacortes, WA +66% +23% 43
Morristown, TN +57% +14% 43
Spartanburg, SC +56% +13% 43
Provo-Orem-Lehi, UT +64% +22% 42
Dallas-Plano-Irving, TX +57% +15% 42
Colorado Springs, CO +58% +16% 42
Sierra Vista-Douglas, AZ +44% +2% 42
Lafayette-West Lafayette, IN +42% 0% 42
Sheboygan, WI +45% +4% 41
Bellingham, WA +59% +19% 40
Bend, OR +70% +30% 40
Wenatchee-East Wenatchee, WA +57% +17% 40
Kingston, NY +48% +8% 40
Grand Junction, CO +53% +13% 40
Waco, TX +58% +18% 40
Durham-Chapel Hill, NC +58% +18% 40
Brunswick-St. Simons, GA +54% +14% 40
Jacksonville, NC +48% +8% 40
Greenville-Anderson-Greer, SC +56% +17% 39
Columbus, OH +50% +11% 39
Jackson, TN +49% +10% 39
Mansfield, OH +46% +7% 39
Asheville, NC +58% +20% 38
Johnson City, TN +50% +12% 38
Raleigh-Cary, NC +56% +18% 38
Rapid City, SD +46% +9% 37
Daphne-Fairhope-Foley, AL +53% +16% 37
Walla Walla, WA +55% +19% 36
Bremerton-Silverdale-Port Orchard, WA +58% +22% 36
Portland-South Portland, ME +54% +18% 36
Reno, NV +60% +24% 36
Manchester-Nashua, NH +46% +10% 36
Santa Fe, NM +43% +7% 36
Hinesville, GA +44% +8% 36
Tallahassee, FL +44% +8% 36
Springfield, MO +47% +11% 36
Hickory-Lenoir-Morganton, NC +52% +16% 36
Rome, GA +53% +17% 36
Austin-Round Rock-San Marcos, TX +55% +20% 35
San Antonio-New Braunfels, TX +44% +9% 35
Buffalo-Cheektowaga, NY +43% +8% 35
El Centro, CA +42% +7% 35
Eau Claire, WI +46% +11% 35
Janesville-Beloit, WI +50% +15% 35
Appleton, WI +42% +7% 35
Columbia, SC +38% +3% 35
Racine-Mount Pleasant, WI +40% +5% 35
Elkhart-Goshen, IN +42% +7% 35
Kahului-Wailuku, HI +45% +11% 34
Yakima, WA +52% +18% 34
Greeley, CO +54% +20% 34
Auburn-Opelika, AL +37% +3% 34
Indianapolis-Carmel-Greenwood, IN +47% +13% 34
Yuba City, CA +50% +17% 33
Vineland, NJ +33% 0% 33
Winston-Salem, NC +46% +13% 33
Fond du Lac, WI +36% +3% 33
Cheyenne, WY +32% 0% 32
Bangor, ME +43% +11% 32
Yuma, AZ +47% +15% 32
Elizabethtown, KY +38% +6% 32
Lexington-Fayette, KY +40% +8% 32
Norwich-New London-Willimantic, CT +31% -1% 32
Oshkosh-Neenah, WI +41% +9% 32
Green Bay, WI +44% +12% 32
Greensboro-High Point, NC +44% +12% 32
Springfield, OH +40% +8% 32
Saginaw, MI +37% +5% 32
Eugene-Springfield, OR +53% +22% 31
Boulder, CO +44% +13% 31
Cleveland, TN +50% +19% 31
Sioux Falls, SD-MN +40% +9% 31
Mobile, AL +34% +3% 31
Flint, MI +42% +11% 31
Denver-Aurora-Centennial, CO +51% +21% 30
Fort Collins-Loveland, CO +49% +19% 30
Richmond, VA +40% +10% 30
Huntsville, AL +46% +16% 30
Fayetteville, NC +34% +4% 30
Burlington, NC +50% +20% 30
Barnstable Town, MA +45% +16% 29
Bakersfield-Delano, CA +36% +7% 29
Hanford-Corcoran, CA +44% +15% 29
Merced, CA +48% +19% 29
Grand Island, NE +33% +4% 29
Albuquerque, NM +38% +9% 29
Lincoln, NE +38% +9% 29
Battle Creek, MI +39% +10% 29
Rockford, IL +33% +4% 29
Riverside-San Bernardino-Ontario, CA +49% +21% 28
Rochester, NY +38% +10% 28
Wichita Falls, TX +35% +7% 28
Lawrence, KS +33% +5% 28
Wichita, KS +32% +4% 28
Jackson, MI +37% +9% 28
Bay City, MI +31% +3% 28
Great Falls, MT +41% +14% 27
College Station-Bryan, TX +40% +13% 27
Madison, WI +36% +9% 27
Niles, MI +36% +9% 27
Tulsa, OK +32% +5% 27
Decatur, AL +39% +12% 27
Rocky Mount, NC +41% +14% 27
Atlantic City-Hammonton, NJ +41% +15% 26
Corvallis, OR +45% +19% 26
Syracuse, NY +33% +7% 26
Reading, PA +34% +8% 26
Springfield, MA +30% +4% 26
Lebanon, PA +33% +7% 26
Dover, DE +29% +3% 26
Roanoke, VA +30% +4% 26
Florence-Muscle Shoals, AL +33% +7% 26
Topeka, KS +29% +3% 26
Rochester, MN +33% +7% 26
Lansing-East Lansing, MI +35% +9% 26
Detroit-Dearborn-Livonia, MI +38% +12% 26
Trenton-Princeton, NJ +28% +3% 25
Hot Springs, AR +36% +11% 25
Las Cruces, NM +36% +11% 25
St. Cloud, MN +31% +6% 25
Anniston-Oxford, AL +29% +4% 25
Kokomo, IN +35% +10% 25
Warren-Troy-Farmington Hills, MI +34% +9% 25
Lancaster, PA +37% +13% 24
Tyler, TX +43% +19% 24
Corpus Christi, TX +26% +2% 24
Milwaukee-Waukesha, WI +33% +9% 24
Farmington, NM +9% -15% 24
Sumter, SC +29% +5% 24
Terre Haute, IN +26% +2% 24
Canton-Massillon, OH +32% +8% 24
Dalton, GA +53% +30% 23
Bowling Green, KY +35% +12% 23
Wausau, WI +33% +10% 23
Muncie, IN +37% +14% 23
Akron, OH +31% +8% 23
Monroe, MI +28% +5% 23
Seattle-Bellevue-Kent, WA +50% +28% 22
Modesto, CA +46% +24% 22
Houston-Pasadena-The Woodlands, TX +27% +5% 22
Staunton-Stuarts Draft, VA +33% +11% 22
El Paso, TX +32% +10% 22
Bloomington, IN +37% +15% 22
Michigan City-La Porte, IN +39% +17% 22
Gadsden, AL +27% +5% 22
Birmingham, AL +32% +10% 22
Gulfport-Biloxi, MS +30% +8% 22
Kalamazoo-Portage, MI +38% +16% 22
Lima, OH +31% +9% 22
Greenville, NC +33% +11% 22
Ann Arbor, MI +33% +11% 22
Fresno, CA +45% +24% 21
Billings, MT +32% +11% 21
Pinehurst-Southern Pines, NC +47% +26% 21
Columbia, MO +29% +8% 21
Jefferson City, MO +31% +10% 21
San Diego-Chula Vista-Carlsbad, CA +44% +24% 20
Burlington-South Burlington, VT +32% +12% 20
Oxnard-Thousand Oaks-Ventura, CA +28% +8% 20
Utica-Rome, NY +32% +12% 20
Grants Pass, OR +42% +22% 20
Oklahoma City, OK +27% +7% 20
Joplin, MO-KS +31% +11% 20
Amarillo, TX +23% +3% 20
Warner Robins, GA +40% +20% 20
Toledo, OH +29% +9% 20
Longview, TX +27% +8% 19
Vallejo, CA +35% +16% 19
Lynchburg, VA +29% +10% 19
Columbus, IN +33% +14% 19
Des Moines-West Des Moines, IA +25% +6% 19
Kankakee, IL +21% +2% 19
McAllen-Edinburg-Mission, TX +35% +17% 18
Gettysburg, PA +22% +4% 18
Erie, PA +22% +4% 18
Fairbanks-College, AK +11% -7% 18
Sandusky, OH +33% +15% 18
Macon-Bibb County, GA +32% +14% 18
Abilene, TX +32% +15% 17
Stockton-Lodi, CA +46% +29% 17
Blacksburg-Christiansburg-Radford, VA +27% +10% 17
Scranton--Wilkes-Barre, PA +24% +7% 17
York-Hanover, PA +27% +10% 17
Harrisburg-Carlisle, PA +24% +7% 17
Brownsville-Harlingen, TX +37% +20% 17
Lubbock, TX +23% +6% 17
Little Rock-North Little Rock-Conway, AR +20% +3% 17
Midland, MI +29% +12% 17
Santa Maria-Santa Barbara, CA +33% +17% 16
Glens Falls, NY +24% +8% 16
Sacramento-Roseville-Folsom, CA +38% +22% 16
Pittsfield, MA +29% +13% 16
Binghamton, NY +18% +2% 16
Mankato, MN +25% +9% 16
Owensboro, KY +27% +11% 16
Goldsboro, NC +28% +12% 16
Los Angeles-Long Beach-Glendale, CA +36% +21% 15
San Angelo, TX +25% +10% 15
Visalia, CA +44% +29% 15
Salinas, CA +40% +25% 15
Pittsburgh, PA +25% +10% 15
Hartford-West Hartford-East Hartford, CT +18% +3% 15
Bridgeport-Stamford-Danbury, CT +18% +3% 15
Tuscaloosa, AL +22% +7% 15
Florence, SC +19% +4% 15
Anaheim-Santa Ana-Irvine, CA +30% +16% 14
Albany-Schenectady-Troy, NY +21% +7% 14
Victoria, TX +19% +5% 14
Bloomington, IL +13% -1% 14
San Luis Obispo-Paso Robles, CA +33% +20% 13
Charlottesville, VA +30% +17% 13
New Haven, CT +22% +9% 13
Cedar Rapids, IA +15% +2% 13
Casper, WY +9% -3% 12
Ithaca, NY +20% +8% 12
State College, PA +20% +8% 12
Chambersburg, PA +20% +8% 12
Ames, IA +22% +10% 12
Elmira, NY +10% -2% 12
Jonesboro, AR +17% +6% 11
Medford, OR +36% +26% 10
Anchorage, AK +7% -3% 10
Hattiesburg, MS +19% +9% 10
Iowa City, IA +13% +3% 10
Dothan, AL +19% +9% 10
Chico, CA +32% +23% 9
Dubuque, IA +17% +8% 9
New Orleans-Metairie, LA +12% +3% 9
Parkersburg-Vienna, WV +14% +5% 9
Montgomery, AL +14% +5% 9
Urban Honolulu, HI +17% +9% 8
Odessa, TX +5% -3% 8
Beaumont-Port Arthur, TX +19% +11% 8
Champaign-Urbana, IL +12% +4% 8
Albany, GA +21% +13% 8
Baltimore-Columbia-Towson, MD +14% +7% 7
Harrisonburg, VA +23% +16% 7
Jackson, MS +10% +3% 7
Midland, TX +12% +6% 6
Baton Rouge, LA +8% +2% 6
Manhattan, KS +9% +4% 5
Altoona, PA +12% +7% 5
Johnstown, PA +9% +4% 5
Waterloo-Cedar Falls, IA +11% +6% 5
Lawton, OK +4% -1% 5
Decatur, IL +8% +3% 5
Napa, CA +23% +19% 4
Redding, CA +29% +25% 4
Springfield, IL +7% +3% 4
Hammond, LA +11% +8% 3
Valdosta, GA +20% +17% 3
Shreveport-Bossier City, LA +1% -2% 3
Morgantown, WV +9% +7% 2
Williamsport, PA +8% +6% 2
Beckley, WV +6% +4% 2
Peoria, IL +2% 0% 2
Bismarck, ND +3% +2% 1
Oakland-Fremont-Berkeley, CA +27% +27% 0
Laredo, TX +25% +25% 0
Charleston, WV +1% +1% 0
Watertown-Fort Drum, NY +1% +2% -1
Monroe, LA +2% +3% -1
Lafayette, LA -2% 0% -2
Houma-Bayou Cane-Thibodaux, LA -2% +1% -3
Santa Cruz-Watsonville, CA +22% +26% -4
Alexandria, LA +4% +8% -4
Santa Rosa-Petaluma, CA +20% +25% -5
San Jose-Sunnyvale-Santa Clara, CA +21% +28% -7
Enid, OK +2% +9% -7
Minot, ND -7% +1% -8
San Rafael, CA +9% +19% -10
Lake Charles, LA +3% +14% -11
San Francisco-San Mateo-Redwood City, CA +6% +32% -26
No. 08

The paycheck never caught up

Real price vs real income growth, 2015 to 2023

Prices did not just beat inflation - in the hottest metros they left local incomes far behind. Each rail runs from a metro's real income growth to its real price growth, 2015 to 2023. In Homosassa Springs, FL prices outran paychecks by 85 points.

0% 25% 50% 75% 100% Homosassa Springs Homosassa Springs, FL: real income +12% (2015-2023) Homosassa Springs, FL: real price +97% (2015-2023) +85 Coeur d'Alene Coeur d'Alene, ID: real income +21% (2015-2023) Coeur d'Alene, ID: real price +96% (2015-2023) +75 Lakeland-Winter Haven Lakeland-Winter Haven, FL: real income +15% (2015-2023) Lakeland-Winter Haven, FL: real price +86% (2015-2023) +71 Boise City Boise City, ID: real income +26% (2015-2023) Boise City, ID: real price +96% (2015-2023) +70 Sebring Sebring, FL: real income +23% (2015-2023) Sebring, FL: real price +91% (2015-2023) +68 Port St. Lucie Port St. Lucie, FL: real income +22% (2015-2023) Port St. Lucie, FL: real price +89% (2015-2023) +67 Idaho Falls Idaho Falls, ID: real income +19% (2015-2023) Idaho Falls, ID: real price +86% (2015-2023) +67 Palm Bay-Melbourne-Titusville Palm Bay-Melbourne-Titusville, FL: real income +21% (2015-2023) Palm Bay-Melbourne-Titusville, FL: real price +85% (2015-2023) +64 Pocatello Pocatello, ID: real income +14% (2015-2023) Pocatello, ID: real price +77% (2015-2023) +63 Punta Gorda Punta Gorda, FL: real income +16% (2015-2023) Punta Gorda, FL: real price +79% (2015-2023) +63 Sebastian-Vero Beach-West Vero Corridor Sebastian-Vero Beach-West Vero Corridor, FL: real income +21% (2015-2023) Sebastian-Vero Beach-West Vero Corridor, FL: real price +82% (2015-2023) +61 Ocala Ocala, FL: real income +15% (2015-2023) Ocala, FL: real price +76% (2015-2023) +61 Bozeman Bozeman, MT: real income +22% (2015-2023) Bozeman, MT: real price +82% (2015-2023) +60 Spokane-Spokane Valley Spokane-Spokane Valley, WA: real income +16% (2015-2023) Spokane-Spokane Valley, WA: real price +76% (2015-2023) +60 West Palm Beach-Boca Raton-Delray Beach West Palm Beach-Boca Raton-Delray Beach, FL: real income +18% (2015-2023) West Palm Beach-Boca Raton-Delray Beach, FL: real price +76% (2015-2023) +58 North Port-Bradenton-Sarasota North Port-Bradenton-Sarasota, FL: real income +20% (2015-2023) North Port-Bradenton-Sarasota, FL: real price +78% (2015-2023) +58
Real income growth Real price growth rightmost figure = points prices ran past incomes

Nationally, real prices rose +33% against a +13% income gain since 2015; every metro shown cleared that price pace. The blue income dots do move - paychecks were not flat - but they never kept up with the brass, and the gap is what a local buyer had to absorb.

No. 09

The run was never a straight line

Real drawdown from the 2007 peak

Behind every long climb is the 2007-2011 bust. Measured in real dollars the fall was brutal and uneven - and for 0 of these ten metros it never fully ended; their 2006 buyers are only now near even.

0% -20% -40% -60% West Palm Beach-Boca Raton-Delray Beach, FL FL West Palm Beach-Boca Raton-Delray Beach, FL: -54% real drawdown from peak -54% recovered in 15 yrs Fort Lauderdale-Pompano Beach-Sunrise, FL FL Fort Lauderdale-Pompano Beach-Sunrise, FL: -53% real drawdown from peak -53% recovered in 15 yrs Miami-Miami Beach-Kendall, FL FL Miami-Miami Beach-Kendall, FL: -50% real drawdown from peak -50% recovered in 15 yrs Bend, OR OR Bend, OR: -49% real drawdown from peak -49% recovered in 13 yrs St. Petersburg-Clearwater-Largo, FL FL St. Petersburg-Clearwater-Largo, FL: -47% real drawdown from peak -47% recovered in 14 yrs Kahului-Wailuku, HI HI Kahului-Wailuku, HI: -42% real drawdown from peak -42% recovered in 15 yrs Los Angeles-Long Beach-Glendale, CA CA Los Angeles-Long Beach-Glendale, CA: -42% real drawdown from peak -42% recovered in 15 yrs Coeur d'Alene, ID ID Coeur d'Alene, ID: -35% real drawdown from peak -35% recovered in 12 yrs Bozeman, MT MT Bozeman, MT: -27% real drawdown from peak -27% recovered in 10 yrs Bellingham, WA WA Bellingham, WA: -23% real drawdown from peak -23% recovered in 11 yrs
back above its real peak still below its 2007 real peak

West Palm Beach-Boca Raton-Delray Beach, FL fell the hardest - -54% in real terms - and has never reclaimed its peak. A cumulative chart shows only the ascent; this is the trapdoor underneath it.

Methodology

Notes on the Data

The source is the FHFA House Price Index (All-Transactions) (2025 (FHFA master, annualized)), read straight from FHFA's public master file. The FHFA index is a repeat-sales index: it tracks price changes on the same homes as they resell or refinance, which filters out the mix-shift that trips up a simple median-price series. The All-Transactions series is used here because it reaches back to 1975Q1; the Purchase-Only series only starts in 1991.

What's real here

The prices are a real ingest, computed from the FHFA file: the national trajectory, the decade splits, the state map, the metro leaderboard and distribution, the archetype paths, and the 2007 drawdowns. Two windows run by design. The national arc is the full record, 1975-2025. The metro and state readings are since 2000: the index reaches 1975 for only 17 metros but covers all ~410 from 2000, so that window is the honest one for comparing places. The current year is appended by FHFA one quarter at a time, so figures run through the last complete year.

Nominal, real, and incomes

"Real" means the nominal FHFA index deflated by CPI-U (BLS series CUUR0000SA0). The income-gap sections compare real price growth to real median household income growth by metro (Census median household income - 2000 SF3 and the latest ACS 5-year, likewise CPI-deflated). A metro appears in those two charts only when it has a clean real income match; the rest are dropped rather than shown at zero. CPI is a national deflator - a local cost-of-living deflator would move the coldest and hottest metros somewhat, but not the direction of the gap.

What you're not seeing

A repeat-sales index measures price change, not price level - it cannot tell you whether San Jose is dearer than Boise (it is), only how much each ran. It excludes new construction until a home resells, underweights the very top and bottom of the market, and says nothing about rents, property taxes, insurance, or mortgage rates - the last of which did as much to housing affordability after 2022 as prices did. And a metro-level index smooths over the block-by-block reality that is the whole game in housing.


Generated 2026-07-10 03:10 UTC

Source: FHFA House Price Index (All-Transactions)