BizGapMap

Home / Grocery stores & supermarkets / Minnesota / Hennepin County, MN

Hennepin County, MN — Grocery stores Saturation

How many grocery stores exist per person present — residents plus daytime workers — by ZIP code, compared with the U.S. average. Establishment data: Census ZBP 2023. Population: ACS 2024 5-year. 74 ZIP codes analyzed.

Includes: Supermarkets · Grocery stores · Neighborhood food markets. Counted together because official statistics use one 445110 code.

Measured density: Below average — 0.73× the U.S. rate (between 0.73× and 0.94× once withheld ZIP cells are counted)

Why a range: Census does not publish a ZIP-by-industry count when that ZIP has 0–2 businesses. 37 ZIP cells in this county are withheld, 29 of them with residents. Each could hold 0, 1, or 2 businesses: counting them all as 0 gives the low end, counting them all as 2 gives the high end — the data cannot say where the truth sits. The density range uses only the populated cells, since ZIPs without residents are excluded from per-person rates. How ranges work

Range spans the U.S. rate   Hennepin County grocery stores — 73–94% of the U.S. rate

197 grocery stores are counted in Hennepin County — 1.1 per 10,000 people present (residents + daytime workers), 73% of the U.S. rate of 1.6.

On the comparable ZIP set (ZIPs with a published count in every year), the total has fallen 6% between 2015 and 2023 (177 → 167). That set is smaller than today's county total. 2020–2021 were pandemic-distorted, and Census rounds counts, so small moves are within noise.

Measured supply density is highest in 55408 (Minneapolis), 55407 (Minneapolis), 55411 (Minneapolis) — well above the national rate. On measured density alone, the lowest-density residential ZIPs with a published count are 55311 (Maple Grove), 55419 (Minneapolis), 55416 (Minneapolis).

BLS QCEW puts the latest county-wide count (2026 Q1) at 195 establishments, the freshest available signal.

Measured density: Hennepin County sits at 73% of the U.S. rate for grocery stores. 29 ZIPs with population have no published count (each 0–2 businesses), so the true per-capita rate is between 73% and 94% of the U.S. rate. Why. The highest measured density is in 55408 and 55407; the lowest measured density is in 55311 and 55419.

This is a supply-side read: it counts existing grocery stores and the people present, not foot traffic, income, rent, or whether locals want more. Treat low density as a question to check, not an answer.

Grocery stores
197–271
published count; upper bound counts each withheld ZIP cell as 2 (37 cells) (2023)
Per 10,000 present
1.1
residents + daytime workers
U.S. average
1.6
per 10,000 present
County index
0.73×
vs. U.S.
Latest quarter (QCEW)
195
2026 Q1 — county total
Residents
1,274,032
66 ZIPs with data
Workers
930,781
jobs located in county

Is the area growing?

Population
1,273,334
Census PEP, July 1 2024
Change since 2020
−0.7%
−8,388 people
Net migration 2024
+5,393
international +10,022, domestic −4,629
Jobs located here
931,746
LODES 2022, −4.5% since 2019

Hennepin County had an estimated 1,273,334 residents on July 1, 2024 — 0.7% fewer than in 2020 (−8,388). In the latest year it gained 10,124 people: births minus deaths +4,705, international migration +10,022, domestic migration −4,629. Components are published separately and may not sum exactly.

931,746 jobs were located in the county in 2022 (−4.5% since 2019), and 627,283 employed residents lived there (−5.8% since 2019). LODES counts wage and salary jobs covered by unemployment insurance plus federal jobs; it excludes the self-employed and military, and counts jobs rather than unique people. 2019→2022 spans the pandemic, so read it as one change, not a trend.

Population and migration say whether the customer base is growing. They do not say whether people want another business of this type. Definitions and limits →  ·  Full county detail →

ZIP gaining residents
2015–19 → 2020–24
Change
55327 Dayton
+71.8%
55415 Minneapolis
+43.3%
55340 Hamel
+20.2%
ZIP losing residents
2015–19 → 2020–24
Change
55344 Eden Prairie
−16.7%
55316 Champlin
−5.9%

ACS 5-year estimates for 2015–2019 and 2020–2024. Only ZIPs with at least 2,000 residents in both windows and a change larger than the survey margin of error (90%) are listed — small ZIPs move a lot on paper without a real signal.

Nonemployer businesses

Not shown. Census publishes grocery stores only combined with convenience stores in this dataset, so a grocery-only nonemployer count is not published.

Census Nonemployer Statistics 2024 (NAICS 2022). We do not approximate this figure.

Saturation map

Each ZIP area is shaded by its density of this business type per person present (residents + workers) vs. the U.S. average. Click any ZIP to zoom to its boundary, see its numbers, and switch to aerial imagery. Individual mapped shops appear as dots at street level — Show locations zooms you in to them (scroll or double-click to zoom).

Basemap:
Under 50% 50–100% 100–150% 150–250% 250%+ 0–2 (not published) / no data ZIP total (dot size) Mapped shop (OpenStreetMap, street level)

Map data © OpenStreetMap contributors, tiles by OpenFreeMap.

White dots are ZIP totals from the official Census count — the bigger the dot, the more grocery stores in that ZIP. They are aggregated, not individual shops. Turquoise dots are individual locations mapped in OpenStreetMap, shown only at street level; they are crowd-sourced and indicative, may be incomplete, and do not equal the official counts. Only the official ZIP totals feed the saturation index.

Market trend — down 6% since 2015

Number of grocery stores in Hennepin County across 2015–2023, on a consistent set of ZIP codes present in every year — so changes are real, not ZIP-boundary artifacts. 2015/2018 are pre-pandemic baselines; 2020/2021 are COVID-distorted.

177
2015
183
2018
177
2020
172
2021
183
2022
167
2023

Highest measured density

ZIP
vs. U.S. average
Index
55408 Minneapolis
224%
55407 Minneapolis
193%
55411 Minneapolis
161%
55443 Minneapolis
138%
55340 Hamel
135%
55404 Minneapolis
130%
55305 Hopkins
128%
55447 Minneapolis
128%
55429 Minneapolis
126%
55405 Minneapolis
126%
55418 Minneapolis
125%
55406 Minneapolis
123%
55444 Minneapolis
113%
55423 Minneapolis
112%
55445 Minneapolis
103%

Lowest measured density

ZIP
vs. U.S. average
Index
55311 Maple Grove
42%
55419 Minneapolis
59%
55416 Minneapolis
60%
55441 Minneapolis
66%
55431 Minneapolis
68%
55417 Minneapolis
68%
55430 Minneapolis
70%
55413 Minneapolis
73%
55403 Minneapolis
74%
55414 Minneapolis
74%
55412 Minneapolis
75%
55345 Minnetonka
78%
55422 Minneapolis
79%
55369 Osseo
84%
55331 Excelsior
87%
Low measured density is not evidence of opportunity. A ZIP with few grocery stores may simply lack foot traffic, retail space, or demand. We rank only residential and mixed ZIPs here; employment hubs and visitor destinations are listed separately below. ZIPs where Census did not publish a count (0–2 businesses) are not ranked: they may be the least served of all, but the data cannot tell 0 from 1 or 2. Verify those locally.

Employment hubs & destinations

These ZIPs have far more workers (or visitors) than residents, so their counts are driven by daytime and visitor demand — not a place to read "shortage" from resident numbers alone.

ZIPNeighborhoodType ResidentsWorkersGrocery storesIndex
55344Eden Prairie Employment hub 14,03447,866 10 169%
55425Minneapolis Employment hub 10,90823,779 3 85%
55435Minneapolis Employment hub 14,19235,567 4 80%
55401Minneapolis Employment hub 11,81629,135 3 73%
55111Saint Paul Destination 23312,621 0–2 —
55402Minneapolis Destination 66760,010 0–2 —
55415Minneapolis Employment hub 6,90021,698 0–2 —
55450Minneapolis Destination 1247,916 0–2 —

Scroll the table sideways to see all columns.

All ZIP codes

Click a column header to sort. Index = grocery stores per 10,000 people present (residents + 0.5×workers) ÷ the U.S. average. 100% = exactly average.

ZIPNeighborhood ResidentsWorkersGrocery stores Per 10kIndexStatus
55408Minneapolis 31,50711,562 13 3.5 224% High density
55407Minneapolis 37,66718,174 14 3.0 193% High density
55344Eden Prairie 14,03447,866 10 2.6 169% High density
55411Minneapolis 27,7418,397 8 2.5 161% High density
55443Minneapolis 33,6607,374 8 2.1 138% Above average
55340Hamel 10,1838,258 3 2.1 135% Above average
55404Minneapolis 28,92021,111 8 2.0 130% Above average
55305Hopkins 21,06818,218 6 2.0 128% Above average
55447Minneapolis 20,93118,615 6 2.0 128% Above average
55429Minneapolis 27,0247,029 6 2.0 126% Above average
55405Minneapolis 17,1986,349 4 2.0 126% Above average
55418Minneapolis 31,5058,919 7 1.9 125% Above average
55406Minneapolis 36,58110,296 8 1.9 123% Above average
55444Minneapolis 16,559976 3 1.8 113% Above average
55423Minneapolis 36,72441,759 10 1.7 112% Above average
55445Minneapolis 13,54622,820 4 1.6 103% Above average
55420Minneapolis 24,45117,188 5 1.5 97% Below average
55391Wayzata 15,5029,688 3 1.5 95% Below average
55428Minneapolis 32,49916,675 6 1.5 94% Below average
55331Excelsior 19,8054,723 3 1.4 87% Below average
55425Minneapolis 10,90823,779 3 1.3 85% Below average
55369Osseo 39,29028,697 7 1.3 84% Below average
55435Minneapolis 14,19235,567 4 1.3 80% Below average
55422Minneapolis 28,45224,742 5 1.2 79% Below average
55345Minnetonka 20,7897,854 3 1.2 78% Below average
55412Minneapolis 24,4602,296 3 1.2 75% Below average
55414Minneapolis 35,00717,277 5 1.1 74% Below average
55403Minneapolis 17,60117,278 3 1.1 74% Below average
55401Minneapolis 11,81629,135 3 1.1 73% Below average
55413Minneapolis 14,65523,557 3 1.1 73% Below average
55430Minneapolis 22,7499,400 3 1.1 70% Below average
55417Minneapolis 25,1026,210 3 1.1 68% Below average
55431Minneapolis 18,66419,272 3 1.1 68% Below average
55441Minneapolis 17,94422,190 3 1.0 66% Below average
55416Minneapolis 35,01537,530 5 0.9 60% Below average
55419Minneapolis 29,7385,773 3 0.9 59% Below average
55311Maple Grove 38,47215,453 3 0.6 42% Far below average
55111Saint Paul 23312,621 0–2 — — Not published
55316Champlin 23,2945,108 0–2 — — Not published
55323Crystal Bay —16 0–2 — — Not published
55327Dayton 6,016465 0–2 — — Not published
55343Hopkins 27,10236,737 0–2 — — Not published
55346Eden Prairie 18,5881,961 0–2 — — Not published
55347Eden Prairie 30,4299,364 0–2 — — Not published
55356Long Lake 5,6961,840 0–2 — — Not published
55357Loretto 3,4191,089 0–2 — — Not published
55359Maple Plain 6,9972,152 0–2 — — Not published
55361Minnetonka Beach —28 0–2 — — Not published
55364Mound 14,0971,459 0–2 — — Not published
55374Rogers 16,66111,145 0–2 — — Not published
55375Saint Bonifacius 4,326932 0–2 — — Not published
55384Spring Park 1,896657 0–2 — — Not published
55402Minneapolis 66760,010 0–2 — — Not published
55409Minneapolis 11,1882,667 0–2 — — Not published
55410Minneapolis 20,4223,024 0–2 — — Not published
55415Minneapolis 6,90021,698 0–2 — — Not published
55424Minneapolis 10,2892,200 0–2 — — Not published
55426Minneapolis 25,25122,964 0–2 — — Not published
55427Minneapolis 24,76418,431 0–2 — — Not published
55436Minneapolis 14,4623,900 0–2 — — Not published
55437Minneapolis 18,88118,395 0–2 — — Not published
55438Minneapolis 15,7015,681 0–2 — — Not published
55439Minneapolis 9,45912,400 0–2 — — Not published
55440Minneapolis —1,050 0–2 — — Not published
55442Minneapolis 12,69414,497 0–2 — — Not published
55446Minneapolis 28,2474,208 0–2 — — Not published
55450Minneapolis 1247,916 0–2 — — Not published
55454Minneapolis 8,88010,282 0–2 — — Not published
55455Minneapolis 5,3904,971 0–2 — — Not published
55458Minneapolis —10 0–2 — — Not published
55467Minneapolis —2,431 0–2 — — Not published
55472Minneapolis —34 0–2 — — Not published
55474Minneapolis —1,680 0–2 — — Not published
55480Minneapolis —1,117 0–2 — — Not published

Scroll the table sideways to see all columns.

Find an actual space in Minneapolis

The numbers above tell you how the market looks. To find a specific storefront, these marketplaces list available retail space for lease.

LoopNet
Largest commercial marketplace
Browse Minneapolis retail space →
Crexi
Free listings + market data
Browse Minneapolis retail space →
CityFeet
Retail space for lease
Browse Minneapolis retail space →

Open vacancy data (actual empty units) is only published by some cities; where it exists we show it directly. Listings above are third-party.

Census withholds some ZIP-by-industry cells to protect small businesses. 0–2 means the cell was not published (Census publishes industry counts only at 3+ per ZIP), so the ZIP is left unranked rather than counted as zero. ~ means the count is estimated from the broader industry group and can be off by a business or two.

Follow Hennepin County and grocery stores

When a data vintage changes or a section of this report is revised, we post it to a public update feed. No email address, no account, no tracking — and nothing is sent unless something actually changed.

Subscribe to updates (RSS) How these numbers are built →

Methodology & sources

Establishments. U.S. Census ZIP Code Business Patterns (ZBP 2023), NAICS 445110 — supermarkets & other grocery stores. Counts establishments with paid employees. ZBP is published annually with a ~2-year lag.

Fresh county signal. BLS QCEW (quarterly) is newer than ZBP — 2026 Q1 shows 195 establishments county-wide for this industry. It cannot be broken down by ZIP.

Population. U.S. Census American Community Survey 2024 5-year ZCTA population (table B01003). Workers are the ZIP's total employment from the same 2023 ZBP file.

Demand ("people present"). Demand comes from residents and daytime workers: residents + 0.5 × workers. This is the single documented assumption in the model and can be tuned.

Index. index = (ZIP establishments ÷ ZIP demand × 10,000) ÷ the U.S. average for this industry (1.55 per 10,000 present). It is a supply-side density measure; it does not capture income, rent, tourism, or whether locals actually want more.

Read the full methodology →  ·  Data sources & vintages →

BizGapMap — free, no-login small-business saturation reports for major U.S. counties. Built entirely from public U.S. Census, BLS, and IRS data (ZBP 2023, ACS 2024 5-year, PEP 2024, LODES, QCEW, IRS SOI). No forecasts, no revenue guesses — withheld cells are marked, and the few derived counts are labelled as estimates.