Provenance record
US grocery prices by area (USDA F-MAP, historical)
Where every row came from — source, original license, transformations, and redistribution basis, recorded before the API went live.
← Dataset record Machine-readable license (X-License)
Dataset slug: grocery-prices
Status: LIVE
Source
- Publisher: USDA, Economic Research Service (ERS)
- Product: Food-at-Home Monthly Area Prices (F-MAP), 2012–2018
- Landing page: https://www.ers.usda.gov/data-products/food-at-home-monthly-area-prices
- File retrieved: https://www.ers.usda.gov/media/5400/food-at-home-monthly-area-prices-2012-to-2018.zip (contains
FMAP-Data.csv+FMAP-ReadMe.txt) - Retrieved: 2026-07-11
- Underlying data note (disclosed by USDA): ERS constructed F-MAP using proprietary Circana (formerly IRI) retail scanner data. ERS publishes the aggregated price indexes and unit values as a U.S. Government work; the released aggregates are what we redistribute, not any Circana microdata.
License / redistribution basis
- Original license: Public domain. Works produced by U.S. federal government agencies (USDA ERS) are not subject to copyright (17 U.S.C. §105).
- Redistribution basis: Public-domain U.S. Government work — free to redistribute, including commercially. No share-alike, no attribution obligation (we cite USDA anyway; see below).
- Recommended citation (carried into the API
licenseendpoint): U. S. Department of Agriculture, Economic Research Service. (2024). Food-at-Home Monthly Area Prices [data product].
Transformations applied (ingest/sources/fmap.ts)
- Pivot long → wide. Source is long format: one row per (Year, Month, EFPG_code, Metroregion_code, Attribute, Value), 1,020,600 rows across 9 attributes. We pivot to one row per (year, month, efpg_code, region_code) with the 9 attributes as columns → 113,400 rows. No values changed; missing cells become SQL NULL.
- Decoded lookup codes from
FMAP-ReadMe.txt:efpg_code → efpg_name / tier1_group / tier2_group(90 categories) andregion_code → region_name(15 areas: National, 4 Census regions, 10 metro CBSAs). Codes are retained alongside names. - No rounding, no unit conversion, no row filtering.
Freshness caveat & resolution
USDA's published F-MAP product ends at December 2018 — it is a static historical release, not a live monthly feed. F-MAP data is never marketed as current. This dataset's catalog entry is labeled historical, cadence: null, and is excluded from the staleness monitor by design.
Resolution (Mykhailo, 2026-07-13): the "current prices + deep history" angle is delivered as two sibling datasets, not one dataset with a shared freshness field — the two sources have incompatible schemas (F-MAP = price indexes per category; BLS = dollar prices per item), so they cannot be one queryable table:
grocery-prices(this record) — the labeled historical F-MAP series (2012–2018), static.us-food-prices— the live monthly layer from the BLS Average Price (AP) survey (~100 food items, U.S. city average + 4 regions, public domain), refreshed via the ADR-013 pipeline.
The "localized food inflation" buyer hypothesis and all freshness claims ride on us-food-prices (BLS), not F-MAP. The two pages cross-link.
Coverage
- Years: 2012–2018 (monthly) · Categories: 90 EFPG food groups · Areas: 15 · Rows: 113,400
- Prices are nominal USD (not inflation-adjusted), per the source.