When we publish a number like "black beans give you 10.4 grams of fiber per dollar," that number didn't come from vibes. It came from a specific USDA database entry divided by a specific shelf price, and both of those are documented. This page explains exactly where the numbers come from, how we handle the annoying edge cases, and what happens when we get one wrong.
Where the data comes from
- Nutrition data: USDA FoodData Central. For each food we use the Foundation or SR Legacy entry, and we record the exact FDC ID so anyone can pull the same record we did.
- Prices: Bureau of Labor Statistics Average Price data where it exists, cross-checked against Walmart national listings for items BLS doesn't track. We use national figures, not the fancy grocery store two blocks from a marina.
- Restaurant and chain items: the chain's own published nutrition pages, pulled on a recorded date. If a chain doesn't publish numbers, the item doesn't go in the study.
The as-purchased rule
Every calculation uses the food as it sits in your cart, not as it sits on a lab bench. Dry lentils are priced and measured dry. Canned beans are measured drained, because nobody eats the can liquid on purpose. If a study compares cooked values, it says so explicitly and shows the conversion. Mixing "per 100g cooked" with "per 100g dry" is how you get rankings that look impressive and mean nothing, so we don't do it.
Edible-fraction adjustments
A pound of oranges is not a pound of orange. Peels, pits, rinds, and bones come out of the math before anything gets ranked. We apply USDA refuse percentages to adjust the price to the part you actually eat. This matters more than people expect: skipping this step quietly flatters foods with heavy waste, like avocados and winter squash.
The self-audit before publish
Before any study goes live, every value gets re-verified against two independent USDA pulls. Two separate queries, two separate sessions, compared line by line. If the pulls disagree, the row gets flagged and resolved manually before publication. It's tedious. That's the point. A ranking is only useful if the boring rows are as accurate as the surprising ones.
Every study ships its raw data
Each data study publishes its complete dataset as a public CSV: every food, every price, every source ID, every calculated value. No "data available on request." It's just there.
- fiber-per-dollar-2026.csv (raw data for the fiber study)
- protein-per-dollar-2026.csv (raw data for the protein study)
You're welcome to reuse the data. If you cite it, link back to the study so your readers can see the methodology too.
When we get it wrong
We correct errors publicly, in the study itself, with a dated note. We don't quietly swap numbers and hope nobody noticed.
Real example: on July 4, 2026, an adversarial audit of the fiber per dollar study caught six values that needed correcting. We fixed them, re-ranked the affected foods, and published a correction note in the article. The audit process that caught them is now part of the standard pre-publish checklist.
How often the numbers get refreshed
- Quarterly: full price re-audit of every study. Grocery prices move, and a per-dollar ranking with stale prices is just a per-nothing ranking.
- Monthly: BLS Price Watch, tracking the latest BLS Average Price releases for the staple foods our studies depend on.
The studies this applies to
- Fiber per Dollar: 53 Foods Ranked
- Protein per Dollar: 49 Sources Ranked
- The Fiber per Dollar Calculator (runs on the same verified dataset)
Questions about the data, or spotted something that looks off? Tell us. Getting corrected beats being wrong.