Grocery Survey

Every year I total up what we spend on what, and I continue to be baffled by our grocery costs. There are 3 of us1, we buy from all over but most commonly from Whole Foods, and the number just seems huge.

Before you make fun of me for shopping at Whole Foods and wondering why my groceries are expensive! Back in 2009 when I lived in Seattle and had a lot of time on my hands, I did a survey of grocery store prices. The headlines I remember are:

- Trader Joe’s is about 9% cheaper than your average grocery store (QFC, in my case). And most of their food, besides their produce, is pretty good.
- Whole Foods is only about 5% more expensive than your average grocery store. 5%! That’s nothing!

But is this still true? It would be nice to know, especially now that I buy 3x as much food!

Headlines

Results in more depth

Methodology

I went to Whole Foods (WF) in East Liberty, Giant Eagle Market District (GE) in Shadyside, Trader Joe’s (TJ) in East Liberty, Aldi in Garfield, and Community Market (CM) in Bloomfield.

I picked out a “basket of food”, roughly corresponding to what we’d use in a week. This feels like the only sane way to think about food - it doesn’t really matter if the price of salt is high at one place because you’ll use about 1/50 of a container in a week. Some of these are arbitrary, like we don’t need 1lb of asparagus every week, but we would buy asparagus some weeks, broccoli some weeks, etc, so hopefully the price of asparagus would cover all this. In general, “what should be in the basket” is arguable, but I don’t care about those arguments.

For each item, I looked for up to 3 prices:

At TJ and Aldi, I skipped “the one that I’d buy”, because there aren’t many choices, and when there are, I’d usually just buy the cheap one. At Community Market, I skipped “organic”, because they don’t have much organic food. Of course I standardized sizes/units. In the case where volume = discount, I allowed buying up to 2-3x as much (e.g. if I’m comparing 1lb of peanut butter, I’d include the price for a 2lb jar divided by 2, but not a 5lb jar). This is because pantry space can usually stretch to 2x but not 5x; buying 2lb of peanut butter is easy but buying 5lb may not be.

I mostly didn’t include meat because I don’t buy meat from grocery stores. Meat is expensive; this may affect your results.

I imputed a few missing values because stores didn’t have a couple things. This is generally risky2, but in practice, there were only a few missing items: walnuts at TJ, kimchi at Aldi, and a few things at CM (but CM isn’t winning our contest anyway), so I threw in an imputed average value and moved on.

Then I calculated the cost of the basket of food, and used that to make claims like “Aldi Cheapest ($102.12) is 59% of WF What I Buy ($172.59)”.

The data

here


  1. one of the three doesn’t eat as much but he does throw food everywhere so I’m counting him as a full person ↩︎

  2. This is generally risky; in general you can’t really compare stores that offer different things! For example: store A: apples $3, caviar $10; store B: apples $1, caviar $20; store C: apples $2, no caviar; and a basket of (1 apple, 1 caviar). Then say we impute “$15 caviar” for store C. Store B looks more expensive than store C, but in reality B is better than C! We could imagine other imputations, like max(other stores) so store C would have $20 caviar too, but that can backfire in other ways. So maybe we should compare A-B, B-C, and A-C head to head, using only items that exist at both stores, and get a pairwise comparison instead of a strict ordering. But that muddies the conclusion. So, idk, I imputed a couple values, Community Market come at me ↩︎


blog 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010