91% of "Grocery Stores" Aren't Really Groceries
How we classified 25,000 stores without setting foot in one—and what we found
The 91% Problem
When we pulled grocery store data from Google Places API for seven California counties, we expected to find supermarkets, corner markets, and everything in between. What we found instead: 91% of establishments tagged as "grocery stores" are small bodegas and convenience outlets with limited selection and higher prices.
This matters because most food environment research treats all grocery stores as equivalent. The USDA's food desert definition asks whether residents live within one mile of a grocery store, any grocery store. By that measure, food deserts barely exist in urban California. Our analysis found just 0.04% of the population in traditional food deserts.
But that metric hides a deeper problem. Living near a store that sells mostly chips, sodas, and lottery tickets is not the same as living near a Safeway with a full produce section. The "grocery store" label obscures more than it reveals.
We needed a way to distinguish store quality at scale. Visiting 25,000 locations with a clipboard was not an option.
The Audit Scalability Problem
The gold standard for measuring food store quality is the Nutrition Environment Measures Survey for Stores (NEMS-S), developed at the University of Pennsylvania. It assesses availability, price, and quality of healthy foods across 11 categories. The tool works well. The problem is scale.
Each NEMS-S audit requires a trained researcher to physically visit a store, check shelves, compare prices, and rate produce freshness. At 30-45 minutes per store, auditing 25,000 locations would require over 18,000 hours of fieldwork.
Alternative tools face similar constraints. The Consumer Food Environment Healthiness Score (CFEHS) and Healthy Food Supply (HFS) Score both require in-person assessment. These methods trade scalability for precision: a reasonable choice for targeted intervention studies, but impractical for population-level food environment mapping.
The literature recognizes this gap. A 2023 systematic review of NEMS usage noted the need for "scalable measures that can be applied across large geographic areas." Researchers have called for methods that use proxy data rather than direct observation.
So we tried building one.
Our Method: Proxy-Based Tier Classification
Our approach classifies stores into five quality tiers using only data available through the Google Places API:
| Tier | Description | Examples | Classification Signals |
|---|---|---|---|
| 1 | Full-service supermarkets | Safeway, Costco, Whole Foods | Chain name, "supermarket" type, high review count |
| 2 | Standard grocery stores | FoodMaxx, Smart & Final, Grocery Outlet | Chain name, "grocery_store" type, moderate reviews |
| 3 | Ethnic specialty markets | 99 Ranch, Cardenas, H Mart | Chain name, specialty keywords |
| 4 | Small groceries/bodegas | Independent corner stores | Default category, low review count, generic names |
| 5 | Convenience stores | 7-Eleven, CVS, gas stations | "convenience_store" type, chain name |
The classification relies on three proxy signals:
Chain affiliation. Known chains have predictable inventory. A Safeway in San Jose stocks essentially the same products as a Safeway in Sacramento. Building a lookup table of 200+ chain names mapped to tiers gives us a starting point.
Google Places type. The API distinguishes "supermarket" from "grocery_store" from "convenience_store." These categories, while imperfect, capture meaningful differences.
Review count. Higher review counts correlate with larger, more-frequented stores. A location with 2,000 reviews is almost certainly a supermarket; one with 12 reviews is likely a small bodega.
Processing 38,157 raw listings and excluding 12,725 non-grocery establishments (restaurants, offices, and other misclassified entries), we end up with 25,432 classified stores.
The result: 7.9% of stores fell into Tiers 1-3 (healthy), while 92.1% were Tier 4-5 (limited selection).
Validating the Classification
A classification system is only useful if it reflects reality. To test whether our tier assignments hold up, we can check them against publicly available product data from Instacart, which displays store inventories without requiring login.
What We Tested
Scraping storefront data for 12 stores across tiers, we counted visible fresh produce items, dairy items, and whether dedicated fresh sections existed.
Results
| Tier | Stores Sampled | Avg Produce Items | Avg Dairy Items | Fresh Sections |
|---|---|---|---|---|
| 1 | Safeway, Costco, Walmart | 10.0 | 5.3 | 100% |
| 2 | FoodMaxx, Smart & Final, Grocery Outlet, Food 4 Less | 8.8 | 2.8 | 100% |
| 3 | 99 Ranch, H Mart | 7.5 | 0 | 100% |
| 5 | CVS, Walgreens | 0 | 0 | 0% |
What Validated
Tier 5 distinction is clear-cut. CVS and Walgreens showed zero fresh produce, zero fresh meat, and zero dairy (beyond frozen desserts). The convenience/pharmacy classification captures a real quality difference.
Tier 3 ethnic markets deserve "healthy" status. 99 Ranch and H Mart displayed robust produce sections (7.5 items average) comparable to Tier 2 stores. Their absence of dairy reflects cuisine-specific inventory, not quality deficiency.
Fresh food availability separates tiers. Stores we classified as Tier 1-3 averaged 8.8 produce items; Tier 5 averaged zero. The proxy-based classification captures meaningful quality differences.
What Needs Refinement
Tier 1 vs. Tier 2 distinction is weaker than expected. Produce counts were nearly identical (10.0 vs. 8.8). Dairy depth, not produce variety, appears to differentiate full-service supermarkets from standard groceries. Our tier system may benefit from collapsing these categories or adding dairy as a classification signal.
Tier 4 remains unvalidated. Small independent groceries (91% of our stores) are not on Instacart. We cannot programmatically verify whether a specific bodega at 123 Main Street belongs in Tier 4. This is the largest limitation of our approach.
What the Data Reveals
Applying our classification to seven California counties produced a modified Retail Food Environment Index (mRFEI) that differs substantially from CDC's official measure.
County-Level Results
| County | Healthy Stores (Tier 1-3) | Total Stores | Our mRFEI | CDC mRFEI |
|---|---|---|---|---|
| Santa Clara | 1,241 | 4,541 | 27.3% | 16.3% |
| Alameda | 152 | 2,337 | 6.5% | — |
| Sacramento | 82 | 1,308 | 6.3% | — |
| San Diego | 188 | 10,180 | 1.9% | 16.5% |
Why Our Numbers Differ from CDC's
The discrepancy stems from what each index measures:
CDC's mRFEI includes fast food restaurants in the denominator. A county with many fast food outlets but decent supermarket coverage will show a low mRFEI. The metric captures healthy vs. unhealthy food retail broadly.
Our mRFEI excludes restaurants entirely and focuses on grocery-type establishments. We ask a narrower question: among places that sell groceries, what proportion offer quality selection?
Neither approach is wrong. They answer different questions. CDC's measure is useful for understanding overall food environment exposure. Ours is useful for understanding grocery access specifically, relevant for SNAP policy, supermarket attraction initiatives, and food security interventions.
Limitations
This is a scalable approach, not a perfect one. The limitations are real:
Proxy assumptions may fail. We assume chain affiliation predicts quality. A poorly stocked Safeway still gets Tier 1; a well-curated independent bodega still gets Tier 4. The classification works at the chain level but may misclassify individual stores.
Tier 4 heterogeneity. Small groceries range from decent corner markets with fresh produce to bare-shelf bodegas selling mostly packaged goods. Our system lumps them together.
No price or affordability data. A store can have produce but price out low-income residents. We capture availability, not accessibility.
Static snapshot. Stores open and close. Our data reflects one point in time.
No SNAP/WIC verification. We do not capture whether stores accept food assistance benefits, a critical dimension for food security.
Implications
Despite limitations, the proxy-based approach offers practical value:
For researchers: The method enables population-level food environment mapping without audit budgets. The code and classification tables are replicable.
For policymakers: County-level mRFEI scores identify intervention priorities. San Diego's 1.9% score (lowest in our study) suggests urgent need for supermarket attraction, while Santa Clara's 27.3% indicates relatively better, though still inadequate, quality access.
For future work: Validating proxy classifications against a sample of NEMS-S audits would quantify error rates and enable calibration. If proxy-based scores correlate strongly with audit-based scores, the method could complement rather than replace traditional assessment.
The 91% finding stands regardless of classification refinements. Most "grocery stores" in urban California do not provide adequate food access. Geographic proximity to a store is not the same as access to healthy food. Policy must account for quality, not just presence.
Analysis based on 25,432 classified stores across seven California counties. Validation data from Instacart public storefronts, December 2025. Classification code and data available upon request.