The Basket Index™ is designed to be transparent, reproducible, and rooted entirely in publicly available government data. This page documents every modeling choice.
All prices come from one of three US federal statistical programs.
Bureau of Labor Statistics (BLS) — Average Price Data (APU) and Consumer Price Index (CPI) series, retrieved via the BLS public API (bls.gov/developers).
Federal Reserve Economic Data (FRED) — series operated by the Federal Reserve Bank of St. Louis (fred.stlouisfed.org). Used primarily for housing and CPI indexes.
US Energy Information Administration (EIA) — weekly retail gasoline and diesel prices (eia.gov/opendata), aggregated to monthly averages.
US Department of Housing & Urban Development (HUD) — Fair Market Rents at the ZIP level (huduser.gov), updated each fiscal year. Powers the /rent/[zip] pages.
U.S. Census Bureau — American Community Survey 1-year estimates (census.gov/data) for median household income and median gross rent by state. Used to compute the affordability ratio on /regions.
U.S. Bureau of Economic Analysis (BEA) — Regional Price Parities (apps.bea.gov), the official measure of how expensive each state is versus the national average. Refreshed live each day; the “Cost vs US average” figures and state cost-of-living multipliers come from here.
Series IDs are reproducible — click through to see the same data on the source's site.
| Item | Source | Series ID | Unit | Base weight |
|---|---|---|---|---|
| Eggs (Grade A, Large) | BLS | APU0000708111 | dozen | 4% |
| Milk (Whole, Fortified) | BLS | APU0000709112 | gallon | 4% |
| Bread (White Loaf) | BLS | APU0000702111 | lb | 3% |
| Rice (White, Long-Grain) | BLS | APU0000701312 | lb | 2% |
| Bananas | BLS | APU0000711211 | lb | 2% |
| Chicken (Whole, Fresh) | BLS | APU0000706111 | lb | 4% |
| Ground Beef (100% Beef) | BLS | APU0000703112 | lb | 5% |
| Chicken Breast (Boneless) | BLS | APU0000FF1101 | lb | — |
| Bacon (Sliced) | BLS | APU0000704111 | lb | — |
| Cheddar Cheese (Natural) | BLS | APU0000710212 | lb | — |
| Butter (Stick) | BLS | APU0000FS1101 | lb | — |
| Coffee (Ground Roast) | BLS | APU0000717311 | lb | — |
| Sugar (White) | BLS | APU0000715211 | lb | — |
| Flour (All Purpose) | BLS | APU0000701111 | lb | — |
| Potatoes (White) | BLS | APU0000712112 | lb | — |
| Tomatoes (Field Grown) | BLS | APU0000712311 | lb | — |
| Oranges (Navel) | BLS | APU0000711311 | lb | — |
| Orange Juice (Frozen Concentrate) | BLS | APU0000713111 | 16 oz | — |
| Gasoline (Regular Unleaded) | EIA | EPMR_PTE_NUS | gallon | 10% |
| Electricity (Residential) | BLS | APU000072610 | kWh | 8% |
| Utility (Piped) Gas | BLS | APU000072620 | therm | — |
| Rent of Primary Residence | FRED | CUUR0000SEHA | month | 30% |
| 30-Year Fixed Mortgage Rate | FRED | MORTGAGE30US | % | — |
| Median Home Sale Price | FRED | MSPUS | home | — |
| Used Cars & Trucks | FRED | CUUR0000SETA02 | index | — |
For region R, household H, and month t:
BasketCost(R, H, t) = Σᵢ Price(i, R, t) × Quantity(i, H) BasketIndex(R, H, t) = 100 × BasketCost(R, H, t) / BasketCost(R, H, t₀)
Base period (t₀): January 2020. We chose January 2020 because it predates pandemic disruptions and aligns with how most major economic statistics communicate post-COVID inflation.
Dollars vs. index points: Some sources report a dollar price (BLS Average Price, EIA gasoline) and some report a CPI index (FRED series, where the value is ~100–600, not dollars). To combine them honestly, each index-valued item is converted to dollars using a realistic base-period dollar amount, then scaled by its own index: dollars(t) = baseUSD × index(t) / index(t₀). This preserves each item's true trajectory while keeping the basket in a single unit, so a rent index can't numerically swamp a carton of eggs.
Forward-fill: When a monthly observation is missing, we carry the previous month's value forward up to three months. Beyond three months the item is excluded from the basket for that month rather than imputed.
Consumption baskets are calibrated to the USDA Thrifty / Low-Cost Food Plans and the BLS Consumer Expenditure Survey shares.
We publish indexes for the United States, all 50 states + DC, and the Dallas–Fort Worth metro.
State figures combine two real federal inputs. The cost level comes from the BEA Regional Price Parity (how expensive each state is vs. the US average). The rate of change comes from the BLS monthly CPI for that state's Census region (Northeast, Midwest, South, West), applied as a base-anchored factor so the index still starts at 100 in January 2020. So a Northeast state moves with Northeast inflation and a Western state with Western inflation — though states within the same Census region share a rate, since BLS does not publish a separate monthly CPI for every state.
A daily cron job (/api/jobs/refresh, configured in vercel.json) pulls the latest observations, upserts them, recomputes every region/household index, and records the run in the RefreshLog table. If any source is unavailable the previous cached value is used and the failure is logged — the site never serves a blank chart.
Not a CPI replacement. The Basket Index covers a narrower set of essentials and weights them by household consumption rather than expenditure share. CPI remains the canonical inflation measure.
Quality and substitution. We do not adjust for product quality or consumer substitution. A household that switches from beef to chicken sees a smaller real impact than the Basket Index implies.
Lag. BLS APU prices are published monthly with a ~2 week lag. EIA gasoline is updated weekly. FRED housing series typically lag ~3 weeks.