Rent Affordability for A Plumber in Minnesota

A typical plumber in Minnesota earns about $69,784 a year, which supports approximately $1,745 a month in rent under the 30% rule. Below, every tracked Minnesota city is ranked by how local rent compares against that affordability ceiling.

As of May 2026. 39 of 70 cities tracked stay within the 30% rule; 31 are rent-burdened on this salary.

CityMedian rent% of incomeAffordability
Austin, MN$947/mo16.3%very comfortable
Albert Lea, MN$960/mo16.5%very comfortable
Waseca, MN$990/mo17%very comfortable
Winona, MN$1,171/mo20.1%affordable
Owatonna, MN$1,183/mo20.3%affordable
Mankato, MN$1,232/mo21.2%affordable
Saint Cloud, MN$1,232/mo21.2%affordable
Moorhead, MN$1,258/mo21.6%affordable
Waite Park, MN$1,267/mo21.8%affordable
Richfield, MN$1,318/mo22.7%affordable
Little Canada, MN$1,400/mo24.1%affordable
Brooklyn Center, MN$1,408/mo24.2%affordable
Fridley, MN$1,410/mo24.2%affordable
North Saint Paul, MN$1,410/mo24.2%affordable
New Brighton, MN$1,416/mo24.3%affordable
Bemidji, MN$1,411/mo24.3%affordable
West Saint Paul, MN$1,428/mo24.6%affordable
Anoka, MN$1,439/mo24.7%affordable
New Hope, MN$1,442/mo24.8%affordable
South Saint Paul, MN$1,453/mo25%affordable
Duluth, MN$1,458/mo25.1%affordable
Roseville, MN$1,471/mo25.3%affordable
Saint Paul, MN$1,480/mo25.4%affordable
Burnsville, MN$1,486/mo25.6%affordable
Buffalo, MN$1,509/mo25.9%affordable
Hopkins, MN$1,539/mo26.5%affordable
Columbia Heights, MN$1,566/mo26.9%affordable
Maplewood, MN$1,571/mo27%affordable
Forest Lake, MN$1,625/mo27.9%affordable
Monticello, MN$1,623/mo27.9%affordable
Eagan, MN$1,632/mo28.1%affordable
Northfield, MN$1,640/mo28.2%affordable
Brooklyn Park, MN$1,649/mo28.4%affordable
White Bear Lake, MN$1,683/mo28.9%affordable
Crystal, MN$1,679/mo28.9%affordable
Minneapolis, MN$1,686/mo29%affordable
Bloomington, MN$1,684/mo29%affordable
Coon Rapids, MN$1,700/mo29.2%affordable
Rochester, MN$1,702/mo29.3%affordable
Eden Prairie, MN$1,772/mo30.5%stretched
Saint Michael, MN$1,778/mo30.6%stretched
Shakopee, MN$1,788/mo30.7%stretched
Robbinsdale, MN$1,789/mo30.8%stretched
Spring Park, MN$1,838/mo31.6%stretched
Shoreview, MN$1,848/mo31.8%stretched
Minnetonka, MN$1,857/mo31.9%stretched
Wayzata, MN$1,856/mo31.9%stretched
Saint Louis Park, MN$1,855/mo31.9%stretched
Inver Grove Heights, MN$1,861/mo32%stretched
Chaska, MN$1,883/mo32.4%stretched
Saint Anthony, MN$1,908/mo32.8%stretched
Cottage Grove, MN$1,916/mo32.9%stretched
Oakdale, MN$1,937/mo33.3%stretched
Plymouth, MN$1,940/mo33.4%stretched
Apple Valley, MN$1,955/mo33.6%stretched
Ramsey, MN$1,968/mo33.8%stretched
Savage, MN$1,979/mo34%stretched
Rosemount, MN$1,985/mo34.1%stretched
Champlin, MN$1,990/mo34.2%stretched
Golden Valley, MN$2,001/mo34.4%stretched
Edina, MN$2,009/mo34.5%stretched
Rogers, MN$2,020/mo34.7%stretched
Lakeville, MN$2,029/mo34.9%stretched
Vadnais Heights, MN$2,046/mo35.2%stretched
Prior Lake, MN$2,051/mo35.3%stretched
Blaine, MN$2,112/mo36.3%stretched
Elk River, MN$2,129/mo36.6%stretched
Woodbury, MN$2,257/mo38.8%stretched
Maple Grove, MN$2,261/mo38.9%stretched
Victoria, MN$2,667/mo45.9%rent-burdened
Methodology: Salary is the BLS-derived state estimate for Minnesota. Rent is the latest ZORI monthly value for each city. Affordability uses the 30% rule (rent ≤ 30% of gross income).