Methodology
Version 0.1 · Series begins April 2026 · Updated monthly
What the index measures
The GroceryChop Price Index tracks the price of a fixed basket of everyday grocery items — observed on actual store shelves, not estimated from surveys — across major U.S. grocery chains. It answers a simple question every month: did the same groceries, at the same stores, get more or less expensive?
Where the prices come from
GroceryChop observes millions of in-store prices daily as part of its price-comparison product. Every observation is classified by price basis: shelf prices (what a shopper pays in the store, from roughly 29 grocery banners) or marketplace prices (delivery-platform listings, which typically include platform markups, from 60+ additional banners). The two bases are never mixed.
Two series: shelf and marketplace
The headline index is shelf prices only. Marketplace (delivery-platform) prices are published as a separate, clearly labeled series in the dataset. Why include them at all? Because a platform markup that is roughly constant cancels out in our matched-sample month-over-month calculation — the same item at the same store is compared to itself, so the markup divides out of the ratio. Marketplace price changes are therefore valid signal, and they extend coverage to metros and chains the shelf panel doesn't reach. Marketplace price levels, however, are delivery prices — higher than shelf — and are labeled as such wherever they appear. Never compare a marketplace level to a shelf level; that difference is the platform markup, not geography or inflation.
The basket: specified items, not loose categories
Like the Bureau of Labor Statistics, we price tightly specified items — for example “whole milk, one gallon” or “large white grade-A eggs, dozen” — rather than averaging everything in a category. Each of the basket's 19 items carries strict matching rules (product title, package-size window, and unit checks), and every observed price is rescaled to the item's reference size so a 3-lb value pack and a per-pound listing land on the same comparable series. Specialty, organic, and premium variants are excluded so the series tracks the staple, not the assortment.
Weighting
Category weights come from the BLS Consumer Price Index relative importance tables (December 2025, 2024 expenditure weights) — public, external figures reflecting how American households actually spend. Weights are never derived from how much data we happen to collect, which would skew the index toward whichever chains we observe most.
Month-over-month change: matched sample
The monthly change compares only the same item at the same store across both months, aggregated with a trimmed Jevons (geometric mean of price ratios) — the same elementary formula BLS uses. This matters because our store panel grows over time: a naive comparison of monthly averages would measure changes in which stores we observe, not changes in prices. The matched-sample design guarantees the index moves only when prices move. Monthly changes are chained into the index level (April 2026 = 100).
What we refuse to publish
- Thin cells. Every published figure must clear minimum thresholds (hundreds of observations, multiple stores, at least three distinct banners). Cells below the floor show “—” — withheld, never estimated.
- Retailer comparisons. We publish aggregates only — never “Chain A vs. Chain B” pricing, and never individual product price lists.
- Year-over-year figures before they exist. The series begins April 2026; annual comparisons begin when 13 months of data exist (spring 2027), not before.
- An “all groceries” number carried by one category. The headline change requires at least two categories with sufficient matched data.
Known limitations
- Convenience panel. Coverage follows where GroceryChop users shop, not a designed statistical sample. Metro pages exist only where density genuinely supports them.
- Provisional early months. April–May 2026 reflect a smaller matched panel and may be revised in interpretation; the panel is stable from June 2026 onward.
- No seasonal adjustment. Our figures are raw observed changes; the official CPI is seasonally adjusted. Compare with that in mind.
- Price levels are indicative; changes are the precise figure. A market's basket cost depends on which items and stores cleared our sample thresholds there, and that composition differs between markets and between the two price bases. So comparing two basket costs — city against city, or shelf against delivery — mixes genuine price differences with coverage differences. Matched-sample month-over-month changes have no such problem: they compare the same item at the same store, so composition cancels. This is why we publish no “delivery premium” figure; doing it honestly requires matching items across the two bases, which is planned but not yet built.
- National dispersion includes geography. The national price-spread figure includes genuine regional differences; metro dispersion is the within-market number.
How this differs from the official CPI
The BLS CPI food-at-home index is the authoritative measure of U.S. grocery inflation, built from a designed sample and seasonally adjusted. Our index is complementary, not competing: it observes orders of magnitude more prices, publishes days earlier, and reaches metro detail official data doesn't — at the cost of a convenience panel and no seasonal adjustment. Where the two diverge, the divergence itself is usually the interesting story.
Revisions and versioning
Each published figure carries a methodology version. If the method materially changes, the full series is recomputed under the new method and the change is documented here — we do not silently mix methodologies within a series.