Visualization

Visualizing the Food Basket That Decides SNAP Benefits

Every SNAP benefit is pegged to the cost of a single government food basket. Here's all 1,342 items in it — and why most exist only on paper.

Eric Pachman Headshot

Eric Pachman

Published
June 29th 2026

default

Purpose

This visualization answers one question that the government's own spreadsheet makes surprisingly hard to see: what is actually in the basket of food that sets the maximum SNAP benefit, and can a family actually buy it?

The headline number is well known. By law, the cost of one specific basket of food — the USDA's Thrifty Food Plan — sets the maximum monthly SNAP allotment for a family of four. That basket has a price, and the price has been argued over for years. What gets lost in the argument is the basket itself: not the total, but the 1,342 individual line items the USDA's economists assembled to reach it.

When you look at the line items instead of the sum, a different picture emerges. A small handful of ordinary groceries — bread, milk, eggs, chicken, apples, potatoes — carry almost all of the money. The rest is a long tail of fractional entries, foods budgeted in amounts so small they correspond to no package a store will sell you: a tenth of a nutrition bar, four-tenths of an ounce of Cheetos, twelve cents of cocoa mix. The basket is real as a column of numbers in a spreadsheet. As a cart you could push through a store, much of it doesn't exist.

This tool lets you see all 1,342 items at once, sized by what the plan budgets for each, so the shape of the basket — a few large staples, a vast dust of phantoms — is visible at a glance. This page documents how we built it. It is meant to be specific enough that you could rebuild the visualization yourself with public data and the steps here.

What this page is

Every chart we publish should be something you can check, question, and rebuild yourself. This page lays out every methodological decision behind the cart: the data sources, the inflation adjustment, the tiering rule, the thresholds, and the calls we made along the way. None of it is proprietary. The market basket is published by the USDA, the price data is published by BLS, and the math is arithmetic. Our contribution is putting the pieces together so the structure of the basket is legible to a person, not just to a spreadsheet.

We also want to be direct about what we don't know. Translating a 2021 government basket into today's prices requires matching each food to a price series, and not every match has a single right answer. Where we made judgment calls, we say so. Where there are known limitations, we list them in the "Honest notes" section near the bottom.

The data sources

We use two public sources, each doing a specific job:

  • The USDA Thrifty Food Plan, 2021 Disaggregated Market Basket provides the basket itself: every food in the plan, the weekly quantity prescribed for the reference family of four, and that food's weekly cost in 2021 prices. This is the same disaggregated file the USDA published alongside its 2021 reevaluation of the plan. It contains 1,342 foods with non-zero cost, summing to a reference-family weekly cost of $192.84 in 2021 prices.
  • The BLS Consumer Price Index, detailed food series provides the inflation adjustment. We use the not-seasonally-adjusted, U.S. city average, monthly series (BLS series prefix CUUR0000), which reach down to specific food categories — white bread, citrus fruits, potatoes, cheese, eggs, coffee, and so on — rather than a single blanket "food at home" figure.

Using two sources introduces the central decision of this build: the basket is priced in June 2021 dollars, and we wanted it in current dollars. That requires matching each of the 1,342 foods to a CPI food category and scaling it forward. The next two steps describe exactly how.

Step 1: Match each food to a price series

The USDA basket is a 2021 snapshot. To show it in current prices, every food has to be matched to a Consumer Price Index series that tracks how that specific food's price has moved since.

We matched at the item level, not the category level. Each of the 1,342 foods was routed by name and food group to the most specific CUUR0000 food series that fits it. "Bread, whole wheat" goes to the CPI series for bread other than white; "Oranges, raw" goes to citrus fruits; "Potatoes, flesh and skin, raw" goes to the potatoes series; "Cheese, fresh, queso fresco" goes to cheese and related products; "Coffee, brewed" goes to the coffee series. Where a food is specific enough to warrant a leaf-level series (white bread versus other bread, fresh chicken parts versus whole chicken), it gets one. Where it isn't, it falls back to the nearest parent category, and in the last resort to "Food at home." Every one of the 1,342 foods routed to a real food series; none fell to the blanket all-food fallback.

This granularity is the whole point. Different foods have inflated at very different rates since 2021. Coffee is up roughly 53%; beef and veal roughly 37%; cheese only about 5%; potatoes about 11%. A single blanket "food at home" factor (about 25% over this period) would wrongly inflate the cheap-rising categories and under-inflate the expensive ones. Matching food by food preserves those differences.

Step 2: Scale each food from June 2021 to the latest month

For each matched CPI series, we compute a growth factor:

Inflation factor = (CPI value, May 2026) ÷ (CPI value, June 2021)

June 2021 is the base because that is the price period the USDA's 2021 basket reflects, and by law the June Thrifty Food Plan cost is what sets benefits. May 2026 is the target because it is the most recent month present in the CPI data file at the time of this build.

Each food's 2021 weekly cost is then multiplied by its factor to produce a current-price weekly cost. We do not touch the quantities. The ounces-per-week each food represents are a feature of the plan's design, not of prices, so they remain exactly as the USDA set them in 2021. Only the dollars move.

Summed across all 1,342 foods, the repriced reference-family basket comes to $234.85 per week in May 2026 prices, up from $192.84 in 2021 — a blended increase of about 22%, pulled below the blanket food-at-home rate by the heavily weighted categories (cheese, potatoes, pork) that inflated less than average.

Checking the number against two independent benchmarks

A from-scratch repricing is only trustworthy if it lands where independent estimates land. Ours does. The build was performed twice, in separate sessions, each constructing its own item-to-CPI crosswalk from the raw files without reference to the other. The two independent crosswalks produced weekly totals of $234.85 and $232.68 — within about 1% of each other. Both sit within roughly 1.6% of the USDA's own published figure for the comparable period (about $231.30/week). Two from-scratch mappings and the government's own number converging within a couple of percent is strong evidence the method is sound. The work was human-directed and AI-assisted: a person set the method and inspected the result, and the validation was an independent value-by-value reconstruction, not a line-by-line human review of all 1,342 matches.

Step 3: Tier the basket into "real groceries" and "fractions"

The basket's defining feature is that most of its line items are too small to buy. To show that, we split every food into one of two tiers by the quantity the plan prescribes:

  • Real groceries: 2 ounces per week or more — roughly the smallest amount that maps to how food is actually packaged and bought in a week.
  • Un-buyable fractions: under 2 ounces per week — quantities that correspond to no package a store sells, only to a slice of one rationed across months.

Under this rule, 108 of the 1,342 foods are real groceries, and they carry 83% of the basket's dollars. The remaining 1,234 foods are fractions, and together they account for just 17% of the spend. A few large staples hold nearly all the money; the rest is a long tail of pennies.

The 2-ounce line is a judgment call, and we'd rather tell you so than pretend it was inevitable. It is also robust: moving the threshold to 1 ounce or 3 ounces per week leaves the real-grocery tier holding 90%, 83%, and 79% of the basket's dollars respectively. The headline — that a small core of buyable staples carries the overwhelming majority of the cost — does not depend on where exactly the line is drawn.

Step 4: Size and arrange the circles

Each of the 1,342 foods is drawn as one circle, with the area of the circle proportional to that food's repriced weekly cost (a square-root radius scale, so dollars map to area rather than radius). Teal circles are real groceries; gold circles are fractions.

The circles are settled into a drawn shopping cart using a physics simulation (a D3 force layout) that pulls them downward and lets them collide and pile, so the basket fills the way a real cart would, mounded toward the center. The arrangement carries no data beyond size and color — position within the pile is incidental, the product of the simulation, not a variable. Readers can tap a tier to isolate it, filter by food group, and tap or hover any circle to see its name, its weekly dollars, and its weekly ounces.

Updating

The basket itself only changes when the USDA reevaluates the Thrifty Food Plan, which by law cannot happen before October 1, 2027, and is required to be cost-neutral thereafter. The prices, however, move monthly. To refresh the cart to a newer month, the process is mechanical: pull the updated BLS CPI data file, change the target month from May 2026 to the latest available, re-run the scaling step, and rebuild the visualization. The matches, tiers, and thresholds all carry forward automatically.

Honest notes and limitations

We'd rather tell you the edges of this than have you find them.

A CPI-scaled price is not a price the USDA published. Our current-dollar basket is the USDA's 2021 market basket scaled forward with item-level CPI to May 2026. It is not a basket the USDA itself re-priced and published in May 2026. The two should be close — and our figure lands within about 1.6% of the USDA's comparable published cost — but they are constructed differently, and a reader should understand ours as a faithful inflation projection of the 2021 basket, not a fresh government calculation.

The item-to-CPI crosswalk is ours, and it is built on keyword rules. Matching 1,342 specific foods to a few dozen CPI categories requires judgment, and our matches will differ, food by food, from any other analyst's — especially in the long tail of tiny-value items. Because those items are fractions of a cent, those differences cannot move the total meaningfully: our independent rebuilds agreed to within 1%. But the crosswalk is a constructed artifact, not an official mapping, and we publish the full item-by-item match so it can be checked.

The quantities are unchanged from 2021. We repriced the basket; we did not re-optimize it. The ounces-per-week for each food are exactly as the USDA set them in 2021. If consumption patterns or the plan's design have shifted since, this visualization does not capture that. It shows the 2021 basket at today's prices, which is precisely the comparison the law's inflation-adjustment mechanism makes.

The 2-ounce tiering line is a defensible choice, not a canonical one. As noted in Step 3, the split between "real groceries" and "fractions" sits at 2 ounces per week because that is roughly where retail packaging begins. Reasonable analysts could pick 1 or 3 ounces. We checked all three; the headline holds across them. But the specific count of "108 real groceries" is a function of the 2-ounce line, and would shift modestly if the line moved.

This is a public-data tool, not a private database. Both inputs are published free: the USDA's 2021 Disaggregated Market Basket and the BLS Consumer Price Index. We did not invent item-level CPI repricing, and we don't claim to have. Our contribution is assembling the public pieces into a view of the basket that the spreadsheet, on its own, does not offer.

Reproduce it yourself

If you want to rebuild this visualization, you need:

  1. The USDA Thrifty Food Plan, 2021 Disaggregated Market Basket (the spreadsheet of 1,342 foods, weekly quantities, and 2021 reference-family costs), published by USDA's Center for Nutrition Policy and Promotion.
  2. BLS Consumer Price Index detailed food series, U.S. city average, not seasonally adjusted, monthly (CUUR0000series for the food categories), from the BLS public data files.
  3. An item-to-CPI crosswalk — a mapping of each food to its closest CPI food category. Ours is published alongside this page; you can use it, or build your own and compare.
  4. The formula in Step 2 (June 2021 → latest month factor, applied to each food's 2021 cost) and the 2-ounce tiering rule in Step 3.

That is everything. There is no proprietary data, no model, and no fitted parameters. If you replicate our process and get a materially different total, we want to know. Tell us, and we'll look.

Enjoying this post?

Tell others about it.


More articles like this

Fetching Related Posts

There are no other articles tagged with Visualization