Methodology
How we got these numbers.
Data sources
All historical price data shown on this site comes from public, free U.S. government sources, retrieved through their official APIs:
- U.S. Energy Information Administration (EIA) via the v2 Open Data API. eia.gov/opendata
- Bureau of Labor Statistics (BLS) Public Data API, Average Price Data series. bls.gov/developers
Series we track
Each commodity on the site corresponds to a specific upstream series:
| Commodity | Source | Series | Granularity |
|---|---|---|---|
| Regular Gasoline | EIA | petroleum/pri/gnd | state |
| Residential Electricity | EIA | electricity/retail-sales | state |
| Residential Natural Gas | EIA | natural-gas/pri/sum | state |
| Eggs (Grade A, Large) | BLS | APU0000708111 | region |
| Whole Milk | BLS | APU0000709112 | region |
| White Bread | BLS | APU0000702111 | region |
| Ground Beef | BLS | APU0000703112 | region |
| Whole Chicken | BLS | APU0000706111 | region |
Percent-change baselines
When the site shows a percent change "vs 2019," we anchor to January 2019. Pre-COVID, post-2018 trade-war volatility, and reasonably stable. We chose one anchor and stick to it so charts and tables are comparable. If a series doesn't have a January 2019 data point, we use the earliest 2019 month available.
State-level estimates
For commodities where the upstream source publishes true state-level data (most EIA energy series), the state view reflects direct measurements.
For commodities where the upstream source publishes only national or regional data (most BLS Average Price grocery items), we estimate state-level prices by applying a state cost-of-living multiplier calibrated against:
- BEA Regional Price Parities (most recent year available)
- Historical EIA state-level gas price spreads as a sanity check
- Where present, BLS metro-area CPI relative levels for nearby cities
These adjustments are estimates and are noted as such on state pages and on each commodity's detail page when relevant. The percent-change numbers (how much prices moved over time) are driven by the real upstream series; the multiplier only adjusts the level. So a state showing "+47% since 2019" reflects the actual national time series even if the absolute price is an estimate.
Update cadence
- Weekly — EIA gasoline retail prices update each Monday for the prior week.
- Monthly — EIA electricity and natural gas; BLS Average Price Data. Released with a 1-2 month lag.
- Our cache layer pulls fresh data on demand at most every 6 hours.
What we don't do
- We do not adjust for inflation when displaying historical prices. A 2019 dollar is shown as a 2019 dollar. If you want a CPI-adjusted view, you can use the BLS CPI calculator.
- We do not seasonally adjust grocery series. They appear as published.
- We do not currently track branded items (Taco Bell, McDonald's, etc.). That feature is on the roadmap with explicit honesty about sourcing.
Found a mistake?
We'll fix it and credit you. Methodology is a living document; if you have a sharper way to handle state-level estimates, we'd like to hear it.