How I Built a Daily Food Price Index for Israel
Why an Independent Food Index
Israel's Central Bureau of Statistics (CBS) publishes a consumer price index once a month. It's an important index, but it has a problem: it lags behind. When milk prices go up on a Sunday, you won't officially know until the next month's report — weeks later.
Meanwhile, since 2014, Israeli food transparency law requires supermarket chains to publish all their prices digitally. The data is available to everyone. I asked myself: if the information is already out there — why not build an index that updates every day?
The Basket: 37 Products Every Israeli Buys
Why exactly 37? I didn't pick them randomly. I scanned the entire database and selected only products that meet two criteria: they appear in at least 5 different chains, and they have a long, continuous price history. This ensures the index is based on reliable data rather than niche products that show up in one store and disappear the next day.
The products represent the typical Israeli grocery basket:
Dairy & Eggs — Tnuva 3% milk, cottage cheese, white cheese, Emek cheese, butter, cream, eggs, yogurt.
Bread & Grains — standard bread, rice, spaghetti, couscous.
Fruits & Vegetables — tomato, cucumber, onion, potato, carrot, apple, frozen peas.
Meat — chicken breast, schnitzel, hot dogs.
Pantry — sugar, salt, tahini, hummus, chocolate spread.
Beverages — cola, water, Turkish coffee, tea.
Snacks — Bamba, Bissli, Milka chocolate, butter cookies.
8 Chains, 878 Stores, 5 Regions
The index tracks 8 chains: Shufersal, Rami Levy, Yochananof, Victory, Osher Ad, Hatzi Hinam, Tiv Ta'am, and Yeinot Bitan.
878 stores are mapped to 5 regions: Center, North, South, Jerusalem, and Bnei Brak/Elad. The regional comparison reveals surprising price gaps — Bnei Brak and Elad are 7.7% cheaper than the Center on identical products, mainly thanks to ultra-Orthodox discount chains like "Yesh Hesed."
📊How the Index Is Calculated
The math is straightforward:
For each product, I calculate the geometric mean of the price across all chains. Then, for each day, I take a simple average of the ratio between today's price and the base price — across all 37 products — and multiply by 100.
The base date is December 15, 2025 = 100. If the index reads 102.3, that means the grocery basket has gotten 2.3% more expensive since December.
Comparison with the CBS Index
One of the most interesting things is the comparison: my index updates daily, while the CBS index updates monthly. The main chart shows both lines side by side, and you can see how the trends align — and sometimes don't.
Data Source
The data comes from Kaggle, where a researcher named Sefi Erlich collects and updates the price files that chains publish daily. No direct scraping needed — everything flows through a well-organized, accessible dataset.
See the latest index at hamadad.sadot.click — including charts, product tables, and regional comparison.