Skip to content

Methodology

How the index is built.

Written so a stranger can reproduce it. If you can't, that's a bug in this page — tell us at press@marji.co.

What it is

A fixed-weight (Laspeyres-style) price index over ten commodity categories, weighted to approximate what a representative independent full-service restaurant spends across those ten categories. It is published monthly, in index points, with 2024-01 = 100.

What it is not

  • Not a government statistic. The underlying prices come from the Bureau of Labor Statistics. The basket, the weights and the index are Marji's construction. BLS does not publish this index and has no involvement in it.
  • Not total food cost. Ten commodities are not a restaurant's whole basket. Produce beyond tomatoes, seafood, most proteins, dry goods, paper and beverage are all outside it.
  • Not what you pay. These are US city average retail-level prices. Your wholesale price depends on region, volume, grade and vendor. Use the index for direction and magnitude, not as a quote.

Source data

US Bureau of Labor Statistics, Average Price Data (AP), U.S. city average, monthly, not seasonally adjusted. Retrieved through the BLS public data API. The exact series identifiers:

CategoryBLS series IDBasket weight
Ground beef · 100%, lbAPU000070311220%
Chicken breast · boneless, lbAPU0000FF110116%
Cheddar · natural, lbAPU000071021212%
Tomatoes · field grown, lbAPU00007123119%
Milk · whole, gallonAPU00007091128%
Flour · all-purpose, lbAPU00007011118%
Eggs · grade A, dozenAPU00007081117%
Bacon · sliced, lbAPU00007041117%
Butter · grade AA, lbAPU0000FS11017%
Coffee · ground roast, lbAPU00007173116%
Total100%

Each category links to its own page, where that series' full monthly history sits next to what a move in it does to a plate.

The calculation

Index for month t

I(t) = Σ (Pᵢ(t) ÷ Pᵢ(base)) × wᵢ × 100

where Pᵢ(t) is category i's average price in month t, Pᵢ(base) its price in the base period, and wᵢ its basket weight from the table above.

  • Base period: 2024-01 = 100. It is the first month for which all ten series have complete data.
  • Weights are fixed. The point of a fixed-weight index is that movement comes from prices, not from re-weighting. If we ever change them we will say so here, on this page, with the date and the reason.
  • Missing observations are dropped, never interpolated. BLS marks unavailable months explicitly; several 2025 months are missing from these series due to the lapse in appropriations. A month is only included in the index when every one of the ten categories has a real observation for it.
  • Contributionsshown under “what moved” are each category's share of the 12-month index change, in index points. They sum to the total change, which makes them an attribution rather than a ranking of percentage movers.

Update and revision policy

  • — The pipeline refreshes weekly. BLS publishes these series monthly, so most refreshes change nothing.
  • — When BLS revises a historical observation, we take the revision. Published index values may therefore change. We do not keep a frozen vintage.
  • — If a series is retired or its identifier changes, we will document the substitution here rather than silently splice a different series into the history.
  • — If any contributing series lacks measured data, the index is not published at all — the page says so instead of showing an estimate. That rule is enforced by a test, not by discipline.

Licence and citation

The index, the charts and the derived data are published under CC BY 4.0. Reuse them anywhere, including commercially, with attribution and a link. No permission needed, no form. The underlying BLS data is a US government work and is in the public domain.

Suggested citation

Marji Restaurant Food Cost Index. https://marji.co/food-cost-index. Underlying prices: U.S. Bureau of Labor Statistics, Average Price Data.

Machine-readable: CSV · JSON. Both carry the full index history plus every underlying monthly price. Journalists and researchers: we're happy to answer questions about the construction — press@marji.co.

← Back to the index