CensusEasy
RANKING · 2024 ACS · 155 SHOWN OF 155

Least affordable housing, Minnesota cities

Minnesota cities ranked by the CensusEasy Afford Score, median home value divided by median household income (2024 ACS). A higher score means a home costs more years of local income. This list covers the 155 cities in Minnesota that qualify, ranked against each other statewide. The median across all 155 is 3.5. Biggest climber in the top 100 since 2020: Corcoran, MN, up 106 places to #11.

Flip the list · Most affordable housing, US cities →
MinnesotaAll statesPop > 5KAll rankings
Least affordable housing by state
RANKPLACESTATEPOPAFFORD SCOREVS 1990
01▲1Orono, MNMN8,3015.8+109%
02▲7Newport, MNMN5,5255.3+126%
03▼2Edina, MNMN54,3565.0+57%
04Hopkins, MNMN19,5235.0+72%
05▲71Baxter, MNMN9,2174.6+178%
06▲29Alexandria, MNMN15,0454.5+45%
07▼1Minneapolis, MNMN430,3244.5+59%
08▲3West St. Paul, MNMN21,9504.4–
09▲1New Hope, MNMN20,8074.3+69%
10▲26Mound, MNMN9,0644.3+101%
11▲106Corcoran, MNMN9,2694.3+92%
12▲22Forest Lake, MNMN20,9524.2+60%
13▲4Little Falls, MNMN9,2774.2+70%
14▼2Detroit Lakes, MNMN10,0194.2+72%
15▲13Hermantown, MNMN10,1104.2+118%
16Credit River, MNMN5,6444.2–
17▲2New Brighton, MNMN22,1594.1+63%
18▲2Shorewood, MNMN7,6204.1+72%
19▼16Little Canada, MNMN10,5674.1+41%
20▲6Burnsville, MNMN65,2444.1+65%
21▲60Monticello, MNMN15,6704.1+57%
22▼1Anoka, MNMN18,1694.1+60%
23▼5Roseville, MNMN35,6634.1+58%
24▲16Chisago City, MNMN5,9554.0+55%
25▲4Richfield, MNMN36,5934.0+54%
26▼4Minnetrista, MNMN9,4584.0+52%
27▼13St. Paul, MNMN306,6844.0+51%
28▼23Falcon Heights, MNMN5,0714.0+23%
29▼14Minnetonka, MNMN53,9694.0+68%
31White Bear Lake, MNMN23,3924.0+76%
32▲6Golden Valley, MNMN21,3254.0+68%
33▲22Chanhassen, MNMN25,7483.9+66%
34▲38Faribault, MNMN25,0403.9+66%
35▲2Mendota Heights, MNMN11,4753.9+58%
36▼20Mankato, MNMN46,5293.9+42%
37▲5Stillwater, MNMN19,3543.9+71%
38▲16Fridley, MNMN30,8293.9+67%
39▲45Lake Elmo, MNMN14,3763.9+39%
40▲20Waconia, MNMN14,1133.9+34%
41▼9Bloomington, MNMN89,0343.9+66%
42▼15Northfield, MNMN21,9923.9+44%
43▲25Mahtomedi, MNMN8,1893.9+80%
44▲3St. Peter, MNMN12,2753.8+63%
45▼15St. Louis Park, MNMN50,0273.8+53%
46▲36Apple Valley, MNMN55,2483.8+87%
47▲42Brooklyn Center, MNMN31,8463.8+64%
48▲86Zimmerman, MNMN6,9043.8+116%
49▲13Columbia Heights, MNMN22,4823.8+55%
50▲92Lonsdale, MNMN5,1173.8+92%
51▲10Brooklyn Park, MNMN83,5433.7+70%
52▲1New Prague, MNMN8,2383.7+50%
53▼40Waite Park, MNMN8,4503.7+58%
54▼6Ham Lake, MNMN17,1043.7+83%
55▲30Vadnais Heights, MNMN13,0523.7+67%
56▲11St. Cloud, MNMN72,6473.7+49%
57Eagan, MNMN67,1093.7+62%
58▼2Chaska, MNMN30,5133.6+40%
59▲91Lindstrom, MNMN5,0393.6+42%
60▲37Cambridge, MNMN11,0903.6+24%
61▼11Eden Prairie, MNMN63,0753.6+58%
62▲17Mounds View, MNMN12,7863.6+54%
63▼18Plymouth, MNMN78,9423.6+45%
64▲30Oak Grove, MNMN9,4763.6–
65▲6Woodbury, MNMN81,5583.6+68%
66▼23Inver Grove Heights, MNMN36,8733.6+51%
67▼2Winona, MNMN26,5303.6+57%
68▼60Bemidji, MNMN15,7703.6+47%
69▼36Sauk Rapids, MNMN13,7683.6+62%
70▲69North Branch, MNMN12,3983.6+27%
71▼12North Oaks, MNMN5,2833.5+57%
72▲18Shoreview, MNMN26,9063.5+57%
73▲7Buffalo, MNMN16,8783.5+35%
74▼8Maplewood, MNMN40,7173.5+52%
75▲2Sartell, MNMN19,9183.5+52%
76▼7Red Wing, MNMN16,8053.5+46%
77▼3Duluth, MNMN88,3303.5+81%
78▼27North St. Paul, MNMN12,7803.5–
79▲20Hugo, MNMN17,1673.5+53%
80▼73Princeton, MNMN5,4803.5+53%
81▼18Grand Rapids, MNMN11,1813.5+44%
82▼9Shakopee, MNMN49,3663.5+54%
83▲12Rochester, MNMN124,2923.5+69%
84▲18Cloquet, MNMN12,3993.5+83%
85▲15Coon Rapids, MNMN64,1933.5+76%
86▼47Fergus Falls, MNMN14,2463.5+74%
87▲18Savage, MNMN32,9703.4+65%
88▼24Dayton, MNMN11,4023.4+59%
89▼64Brainerd, MNMN14,4283.4+50%
90▼15Hastings, MNMN22,5633.4+48%
91▼45Moorhead, MNMN46,5333.4+35%
92▼4Litchfield, MNMN6,5283.4+54%
93▲36Delano, MNMN7,7883.4+69%
94▲15Elk River, MNMN27,8963.4+46%
95▲35Worthington, MNMN13,9793.4+54%
96▲10Wyoming, MNMN8,1213.4+46%
97▼27Oakdale, MNMN30,5883.4+59%
98▼20Prior Lake, MNMN28,1403.4+53%
99▼6Robbinsdale, MNMN14,0303.3+45%
100▲32Isanti, MNMN7,7143.3+56%
101▼5East Bethel, MNMN12,6053.3+58%
102▲34Otsego, MNMN24,5253.3–
103▼16Lake City, MNMN5,3063.3+60%
104▲6Blaine, MNMN76,6033.3+66%
105▼82East Grand Forks, MNMN8,9063.3+48%
106▼3Arden Hills, MNMN9,5833.3+36%
107▲16Rosemount, MNMN31,8813.3+51%
108▼16Lakeville, MNMN79,2703.3+52%
109▼18North Mankato, MNMN14,1653.2+50%
110▲5Crookston, MNMN7,3753.2+73%
111▲33Stewartville, MNMN6,8503.2+55%
112▲10Belle Plaine, MNMN7,6323.2+44%
113▼5Lino Lakes, MNMN23,2203.2+58%
114▼31Crystal, MNMN22,2393.2+54%
115▼8Fairmont, MNMN10,0993.2+59%
116▼72South St. Paul, MNMN20,5323.2–
117▼6Spring Lake Park, MNMN7,1273.2+58%
118▲3Glencoe, MNMN5,6323.2+53%
119▼95Medina, MNMN7,4603.2+46%
120▼62La Crescent, MNMN5,2613.2+65%
121▼5Willmar, MNMN22,0013.2+23%
122▲13St. Joseph, MNMN6,8463.2+65%
123▲17New Ulm, MNMN13,8633.2+54%
124▼20Hutchinson, MNMN14,6553.2+41%
125▲1Maple Grove, MNMN73,8933.2+66%
126▲1Becker, MNMN5,4253.2+26%
127▲10Cottage Grove, MNMN43,6043.1+65%
128▼30Morris, MNMN5,1503.1+34%
129▼4Champlin, MNMN23,1253.1+51%
130▼11Ramsey, MNMN29,6243.1+63%
131▼79Marshall, MNMN14,1713.1+30%
132▲9Kasson, MNMN7,3503.1+55%
133▼19Jordan, MNMN6,9883.1+26%
134▼3Owatonna, MNMN26,6333.0+47%
135▼49Carver, MNMN7,1983.0+50%
136▼16Andover, MNMN33,8743.0+44%
137▼9St. Michael, MNMN22,4983.0+40%
138▼26Victoria, MNMN12,4473.0+11%
139▼38Farmington, MNMN25,4253.0+33%
140▼7Waseca, MNMN9,0353.0+44%
141▼23St. Francis, MNMN8,6352.9+43%
142▼18Rogers, MNMN15,6062.9+33%
143▼5Elko New Market, MNMN5,3002.8–
144▲5Byron, MNMN6,7402.8+60%
145▲2Big Lake, MNMN12,9292.7+29%
146▼1Redwood Falls, MNMN5,0402.6+33%
147▼4St. Paul Park, MNMN5,3962.6+35%
148▼99Albertville, MNMN8,5442.6+21%
149▼36Thief River Falls, MNMN8,7992.5+20%
150▲1Albert Lea, MNMN18,2172.4+31%
151▼3Austin, MNMN26,6892.4+26%
152▼6Hibbing, MNMN15,8232.3+39%
153Virginia, MNMN8,1872.3+20%
154▼2International Falls, MNMN5,4812.1+17%
155▼1Montevideo, MNMN5,3352.1+5%
SHOWING 1–155 OF 155

UPDATED 2026-09-11 · DATA: US CENSUS BUREAU ACS 5-YEAR ESTIMATES