israeli-grocery-price-intelligence

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Israeli Grocery Price Intelligence

以色列食品杂货价格情报

Instructions

使用说明

Preferred: Use the Supermarket Prices MCP Server

首选方案:使用超市价格MCP服务器

If the user has the supermarket-prices MCP server installed, use it instead of manually fetching XML feeds. The MCP handles authentication, CSRF tokens, SSL issues, and platform quirks automatically.
Available MCP tools:
  • list_chains
    -- list all ~35 chains with data source info (web / publishprice / FTP)
  • search_products
    -- search by product name or barcode
  • compare_prices
    -- cross-chain price comparison, sorted cheapest first
  • get_promotions
    -- current sales and promotions per chain
  • get_store_data
    -- store locations, filterable by city
  • get_chain_files
    -- browse raw XML price files
  • get_xml_schema_info
    -- reference docs for the XML schema and fields
If the MCP is available, skip Steps 1-2 and use MCP tools directly for Steps 3-6. If the MCP is not installed, fall back to the manual XML feed approach below.
如果用户已安装supermarket-prices MCP服务器,请使用该服务器而非手动获取XML馈送。MCP会自动处理身份验证、CSRF令牌、SSL问题及平台特性。
可用MCP工具:
  • list_chains
    -- 列出所有约35个连锁品牌及其数据源信息(网页/发布价格/FTP)
  • search_products
    -- 按产品名称或条形码搜索
  • compare_prices
    -- 跨连锁价格比较,按价格从低到高排序
  • get_promotions
    -- 各连锁品牌当前的促销活动
  • get_store_data
    -- 门店位置,可按城市筛选
  • get_chain_files
    -- 浏览原始XML价格文件
  • get_xml_schema_info
    -- XML架构及字段的参考文档
如果MCP可用,请跳过步骤1-2,直接使用MCP工具执行步骤3-6。若未安装MCP,则使用以下手动XML馈送方案。

Step 1: Access Supermarket XML Feeds (Manual Fallback)

步骤1:访问超市XML馈送(手动备选方案)

Under the Promotion of Competition in the Food and Pharma Sector Law (חוק קידום התחרות בענפי המזון והפארם, 2014, in force since 2015), Israeli supermarket and pharmacy chains with 3+ stores must publish product prices as XML files. The "Pharma" in the law name is why Super-Pharm and Good Pharm publish too, but pharmacy feeds cover drugstore SKUs (toiletries, OTC, baby food) only, not fresh produce or dairy.
  • Available data files per chain (filename prefixes per the government spec):
    • PriceFull -- full snapshot of the product catalog with prices
    • Price -- delta updates between full snapshots
    • PromoFull + Promo -- full snapshot and deltas of current sales and promotions
    • StoresFull + Stores -- store locations and details
  • File naming format:
    Price{Full}<ChainId>-<StoreId>-<yyyyMMddHHmm>.xml.gz
    where ChainId is the 13-digit Israeli EAN prefix and the timestamp is the file generation moment in Israel time
  • Full snapshots typically refreshed daily (overnight, 01:00-05:00 IL time); delta files may be pushed several times per day
  • See
    references/chain-feeds.md
    for per-chain endpoints, access methods, and Cerberus authentication
Chains publish through three platforms (not individual domains):
PlatformURLChains
Shufersal Directhttps://prices.shufersal.co.ilShufersal
Carrefour Israel Directhttps://prices.carrefour.co.ilCarrefour Israel (operates Carrefour, Mega, and Yeinot Bitan branded stores under one Electra franchise)
Cerberus (PublishedPrices)https://url.publishedprices.co.il/loginRami Levy, Yochananof, Victory, Osher Ad, Tiv Taam, Hazi Hinam, Mega (legacy feed), Dor Alon, Super-Pharm, Good Pharm, and ~20 more smaller chains. Total ~30 chains across this platform
The previously separate "Nibit (Matrix)" platform at
matrixcatalog.co.il
is no longer reachable (the host times out as of May 2026). Victory and other chains formerly published there now publish through the Cerberus platform.
Cerberus requires real authentication, not just a URL fetch. A GET on the file directory without an active session returns the login HTML, not data. The flow is: GET
/login
→ parse the
<meta name="csrftoken">
value AND keep the response cookie → POST
/login
with
username=<chain-code>
,
password=<password-or-empty>
,
csrftoken=<value>
→ reuse the cookie for
/file/json/dir
to list files and
/file/d/<filename>
to download. See
references/chain-feeds.md
for the full flow and per-chain credentials.
根据《食品与制药行业竞争促进法》(希伯来语:חוק קידום התחרות בענפי המזון והפארם,2014年颁布,2015年生效),拥有3家及以上门店的以色列超市和药房连锁品牌必须以XML文件形式发布产品价格。法律名称中的“制药”一词是Super-Pharm和Good Pharm也需发布价格的原因,但药房馈送仅涵盖药店SKU(洗护用品、非处方药、婴儿食品),不包括新鲜农产品或乳制品。
  • 各连锁品牌的可用数据文件(文件名前缀符合政府规范):
    • PriceFull -- 产品目录及价格的完整快照
    • Price -- 完整快照之间的增量更新
    • PromoFull + Promo -- 当前促销活动的完整快照及增量更新
    • StoresFull + Stores -- 门店位置及详细信息
  • 文件命名格式:
    Price{Full}<ChainId>-<StoreId>-<yyyyMMddHHmm>.xml.gz
    ,其中ChainId为13位以色列EAN前缀,时间戳为以色列当地时间的文件生成时刻
  • 完整快照通常每日更新(夜间01:00-05:00以色列时间);增量文件可能每日推送多次
  • 有关各连锁品牌的端点、访问方式及Cerberus身份验证信息,请参阅
    references/chain-feeds.md
连锁品牌通过三个平台发布数据(而非独立域名):
平台URL覆盖连锁品牌
Shufersal直连平台https://prices.shufersal.co.ilShufersal
以色列Carrefour直连平台https://prices.carrefour.co.il以色列Carrefour(由Electra特许经营,旗下运营Carrefour、Mega和Yeinot Bitan品牌门店)
Cerberus(PublishedPrices)https://url.publishedprices.co.il/loginRami Levy、Yochananof、Victory、Osher Ad、Tiv Taam、Hazi Hinam、Mega(旧馈送)、Dor Alon、Super-Pharm、Good Pharm及约20家其他小型连锁品牌。该平台共覆盖约30个连锁品牌
此前独立的“Nibit (Matrix)”平台(
matrixcatalog.co.il
)自2026年5月起已无法访问(主机超时)。Victory及其他曾在该平台发布数据的连锁品牌现已转至Cerberus平台。
Cerberus需要真实身份验证,而非仅通过URL获取数据。 在无有效会话的情况下对文件目录发起GET请求,返回的是登录HTML而非数据。流程为:GET
/login
→ 解析
<meta name="csrftoken">
值并保留响应Cookie → 使用
username=<chain-code>
password=<password-or-empty>
csrftoken=<value>
发起POST
/login
请求 → 复用Cookie访问
/file/json/dir
列出文件,访问
/file/d/<filename>
下载文件。有关完整流程及各连锁品牌的凭据,请参阅
references/chain-feeds.md

Step 2: Parse Chain-Specific Data Formats

步骤2:解析特定连锁品牌的数据格式

Each chain publishes in a slightly different XML schema. Major chains:
ChainHebrew NamePlatformNotes
ShufersalשופרסלDirect (prices.shufersal.co.il)Largest chain (~400 stores across Shufersal Deal, Sheli, Yesh, and Express banners), most structured data
Rami Levyרמי לויCerberusKnown for low prices, 50+ stores
YochananofיוחננוףCerberusCentral Israel focus
VictoryויקטוריCerberusIndependently owned (Ravid family, publicly traded VCTR.TA), 60+ stores; completely separate from Carrefour Israel
Carrefour Israelקרפור ישראלDirect (prices.carrefour.co.il)Electra Consumer Products franchise; operates Carrefour, Mega, and Yeinot Bitan branded stores in parallel (not all stores converted to Carrefour)
Osher Adאושר עדCerberus (username:
osherad
, no password)
Discount chain, 20+ large-format stores
Tiv Taamטיב טעםCerberusNon-kosher items available; merged with East & West Import & Marketing Dec 2024
Use
scripts/parse_price_xml.py
to parse feeds into normalized JSON format. Key fields: item_code, item_name, manufacturer, price, unit_price, quantity, unit_of_measure, is_weighted, update_date
Weighted-item math: when
bIsWeighted=1
,
ItemPrice
is the price per kilogram, NOT the price of the package on the shelf.
Quantity
may be empty or fractional. Cross-chain comparisons must compare per-kg unit prices for these items, otherwise a 250g pack at 12 NIS/kg (= 3 NIS at the till) looks more expensive than a 1kg pack at 11 NIS/kg.
每个连锁品牌发布的XML架构略有不同。主要连锁品牌如下:
连锁品牌希伯来语名称平台说明
Shufersalשופרסל直连平台(prices.shufersal.co.il)以色列最大连锁品牌(旗下有Shufersal Deal、Sheli、Yesh和Express等门店类型,共约400家门店),数据结构最规范
Rami Levyרמי לויCerberus以低价著称,拥有50多家门店
YochananofיוחננוףCerberus聚焦以色列中部地区
VictoryויקטוריCerberus独立运营(Ravid家族,上市公司VCTR.TA),拥有60多家门店;与以色列Carrefour完全独立
Carrefour Israelקרפור ישראל直连平台(prices.carrefour.co.il)Electra Consumer Products特许经营;同时运营Carrefour、Mega和Yeinot Bitan品牌门店(并非所有门店都已转为Carrefour品牌)
Osher Adאושר עדCerberus(用户名:
osherad
,无密码)
折扣连锁品牌,拥有20多家大型门店
Tiv Taamטיב טעםCerberus提供非洁食产品;2024年12月与East & West Import & Marketing合并
使用
scripts/parse_price_xml.py
将馈送解析为标准化JSON格式。 关键字段:item_code、item_name、manufacturer、price、unit_price、quantity、unit_of_measure、is_weighted、update_date
称重商品计算规则:当
bIsWeighted=1
时,
ItemPrice
为每公斤价格,而非货架上包装商品的价格。
Quantity
可能为空或为小数。跨连锁比较时,必须对比这些商品的每公斤单价,否则250克包装、单价12新谢克尔/公斤(结账时为3新谢克尔)的商品看起来会比1公斤包装、单价11新谢克尔/公斤的商品更贵。

Step 3: Cross-Chain Price Comparison

步骤3:跨连锁价格比较

Match products across chains by:
  • Barcode (most reliable, Israeli standard barcode prefix 729)
  • Item name + manufacturer (fuzzy matching for naming differences)
  • Item code (chain-specific, less reliable for cross-chain)
Generate comparison table for specific products:
  • Calculate: cheapest chain, average price, price spread (max-min)
  • Handle store-specific pricing (same chain may have different prices by location)
通过以下方式匹配不同连锁品牌的产品:
  • 条形码(最可靠,以色列标准条形码前缀为729)
  • 产品名称+制造商(针对命名差异使用模糊匹配)
  • 产品代码(连锁品牌专属,跨连锁匹配可靠性较低)
生成特定产品的比较表格:
  • 计算:价格最低的连锁品牌、平均价格、价格区间(最高价-最低价)
  • 处理门店专属定价(同一连锁品牌不同门店价格可能不同)

Step 4: Optimize Shopping Lists

步骤4:优化购物清单

Given a shopping list, find the cheapest option:
  • Single-store: cheapest store for entire basket
  • Multi-store: optimal split across 2-3 nearby stores (minimize cost + travel)
Factor in current promotions from the
PromoFull
feed. Each promotion has a
RewardType
that controls how the discount applies (1 = flat discounted price, 2 = fixed price for N units, 3 = Nth-item discount, etc.), plus
MinQty
/
MaxQty
thresholds, an optional
MinPurchaseAmnt
, and a
ClubId
. A non-zero
ClubId
means the discount applies only to chain club members (Shufersal Sofash, Rami Levy club, etc.) and should NOT be applied to a guest basket. Handle substitutions: suggest cheaper alternatives for similar products.
Calculate total basket cost per scenario. Consider user preferences: kosher requirements, organic options, brand preferences.
给定购物清单,找出最便宜的购买方案:
  • 单门店方案:购买整个购物篮最便宜的门店
  • 多门店方案:在2-3家附近门店之间进行最优拆分(最小化成本+出行成本)
需考虑
PromoFull
馈送中的当前促销活动。每个促销活动包含
RewardType
字段,用于控制折扣应用方式(1=固定折扣价,2=N件商品固定总价,3=第N件商品折扣等),以及
MinQty
/
MaxQty
阈值、可选的
MinPurchaseAmnt
ClubId
。若
ClubId
非零,则折扣仅适用于连锁品牌会员(如Shufersal Sofash、Rami Levy俱乐部等),不应应用于非会员购物篮。处理替代方案:为相似产品推荐更便宜的替代品。
计算各场景下的购物篮总成本。需考虑用户偏好:洁食要求、有机选项、品牌偏好。

Step 5: Track Price Trends

步骤5:跟踪价格趋势

Monitor prices over time for tracked products:
  • Alert on significant changes (>10% increase or decrease)
  • Weekly price trend report for tracked categories
  • Track inflation patterns by food category
  • Compare against CPI food component data
监控追踪产品的价格变化:
  • 价格大幅变动时发出警报(涨幅或跌幅>10%)
  • 生成追踪品类的每周价格趋势报告
  • 按食品品类追踪通胀模式
  • 与CPI食品成分数据进行对比

Step 6: Restaurant/Catering Ingredient Cost Analysis

步骤6:餐厅/餐饮食材成本分析

For restaurant owners: calculate ingredient costs from supermarket data.
  • Input: recipe with ingredients and quantities
  • Output: cost per serving based on cheapest available prices
  • Track ingredient cost trends over time
  • Alert when key ingredient prices spike
  • Generate monthly cost report for menu pricing decisions
为餐厅经营者:利用超市数据计算食材成本。
  • 输入:包含食材及用量的食谱
  • 输出:基于最低可用价格的每份成本
  • 跟踪食材成本随时间的变化趋势
  • 关键食材价格飙升时发出警报
  • 生成月度成本报告,用于菜单定价决策

Examples

示例

Example 1: Compare Milk Prices Across Chains

示例1:跨连锁品牌比较牛奶价格

User says: "What's the cheapest place to buy Tnuva 3% milk 1 liter?" Actions:
  1. Query PricesFull feeds from all chains for item (barcode matching)
  2. Compile prices per chain and store location
  3. Apply any active promotions from PricesPromotions
  4. Generate comparison table sorted by price Result: Cheapest: Rami Levy at 5.90 NIS, Osher Ad at 6.10 NIS, Shufersal at 6.50 NIS (but 2-for-10 promo active). With Shufersal promo, buying 2 = 5.00 NIS each. Recommendation: Shufersal if buying 2+, Rami Levy for single.
用户提问:“在哪里买1升装Tnuva 3%牛奶最便宜?” 操作步骤:
  1. 查询所有连锁品牌的PricesFull馈送,匹配对应产品(通过条形码匹配)
  2. 整理各连锁品牌及门店位置的价格
  3. 应用PricesPromotions中的当前促销活动
  4. 生成按价格排序的比较表格 结果:最低价:Rami Levy 5.90新谢克尔,Osher Ad 6.10新谢克尔,Shufersal 6.50新谢克尔(但有买2付10新谢克尔的促销活动)。若参与Shufersal促销,买2件则每件5.00新谢克尔。建议:购买2件及以上选Shufersal,购买单件选Rami Levy。

Example 2: Optimize Weekly Shopping List

示例2:优化每周购物清单

User says: "Here's my shopping list for the week, find me the cheapest option near Ramat Gan" Actions:
  1. Parse shopping list (15 items)
  2. Find prices at chains with stores near Ramat Gan
  3. Calculate: single-store (Rami Levy: 285 NIS, Shufersal: 310 NIS, Yochananof: 295 NIS)
  4. Calculate: optimal 2-store split (Rami Levy + Shufersal with promos: 262 NIS)
  5. Suggest 3 substitutions saving additional 18 NIS Result: Best single-store: Rami Levy at 285 NIS. Optimal split: Rami Levy (10 items, 195 NIS) + Shufersal (5 items with promos, 67 NIS) = 262 NIS. Total savings vs single-store: 23 NIS.
用户提问:“这是我的每周购物清单,帮我找到拉马特甘附近最便宜的购买方案” 操作步骤:
  1. 解析购物清单(15件商品)
  2. 查询拉马特甘附近有门店的连锁品牌的价格
  3. 计算单门店方案(Rami Levy:285新谢克尔,Shufersal:310新谢克尔,Yochananof:295新谢克尔)
  4. 计算最优双门店拆分方案(Rami Levy + 参与促销的Shufersal:262新谢克尔)
  5. 推荐3个替代产品,可额外节省18新谢克尔 结果:最佳单门店方案:Rami Levy 285新谢克尔。最优拆分方案:Rami Levy(10件商品,195新谢克尔)+ Shufersal(5件参与促销的商品,67新谢克尔)= 262新谢克尔。与单门店方案相比,总计节省23新谢克尔。

Example 3: Track Ingredient Costs for Restaurant Menu

示例3:跟踪餐厅菜单食材成本

User says: "Track the cost of ingredients for my shakshuka dish, tomatoes, eggs, onions, peppers, spices" Actions:
  1. Identify matching products in price feeds (fresh tomatoes, eggs size L, yellow onions, bell peppers, cumin, paprika)
  2. Find cheapest per ingredient across chains
  3. Calculate cost per serving (2 eggs, 3 tomatoes, 1 onion, 1 pepper, spices)
  4. Set up weekly price monitoring for these ingredients
  5. Generate baseline cost report Result: Current cost per serving: 8.40 NIS (cheapest chain combination). Eggs are 32% of cost. Price alert configured, you'll be notified if any ingredient price changes >10%.
用户提问:“跟踪我制作沙卡舒卡所需食材的成本,包括番茄、鸡蛋、洋葱、辣椒、香料” 操作步骤:
  1. 在价格馈送中匹配对应产品(新鲜番茄、L号鸡蛋、黄洋葱、甜椒、孜然、辣椒粉)
  2. 找出各食材在所有连锁品牌中的最低价
  3. 计算每份成本(2个鸡蛋、3个番茄、1个洋葱、1个辣椒、香料)
  4. 为这些食材设置每周价格监控
  5. 生成基准成本报告 结果:当前每份成本:8.40新谢克尔(采用各食材最低价的连锁品牌组合)。鸡蛋占成本的32%。已配置价格警报,若任何食材价格变动超过10%,将通知您。

Bundled Resources

附带资源

References

参考资料

  • references/chain-feeds.md
    -- Per-chain feed endpoints organized by platform (Shufersal Direct, Carrefour Direct, Cerberus / PublishedPrices). Includes XML schema documentation, update schedules, and known format variations. Consult when accessing chain data in Steps 1-2.
  • references/chain-feeds.md
    -- 按平台(Shufersal直连平台、Carrefour直连平台、Cerberus/PublishedPrices)整理的各连锁品牌馈送端点。包含XML架构文档、更新时间表及已知格式差异。执行步骤1-2访问连锁品牌数据时,请参考此文档。

Scripts

脚本

  • scripts/parse_price_xml.py
    -- Parses Israeli supermarket XML price feeds into normalized JSON. Supports Shufersal, Rami Levy, and other chain formats. Handles gzipped XML files and character encoding. Run:
    python scripts/parse_price_xml.py --help
  • scripts/parse_price_xml.py
    -- 将以色列超市XML价格馈送解析为标准化JSON格式。支持Shufersal、Rami Levy及其他连锁品牌的格式。可处理gzip压缩的XML文件及字符编码。运行方式:
    python scripts/parse_price_xml.py --help

Recommended MCP Servers

推荐MCP服务器

MCPWhat It Adds
Israeli Supermarket PricesWraps the Price Transparency Law feeds across ~35 chains. Handles Shufersal direct, Carrefour publishprice, and Cerberus FTP transports automatically. Use it instead of the manual XML steps when available.
Shufersal MCPAdds cart automation on shufersal.co.il (search, add to cart, recipe-to-cart). Complements price intelligence with the actual checkout flow.
MCP新增功能
以色列超市价格封装了约35个连锁品牌的《价格透明法》馈送。自动处理Shufersal直连、Carrefour发布价格及Cerberus FTP传输。可用时请优先使用该服务器,而非手动XML步骤。
Shufersal MCP在shufersal.co.il上添加购物车自动化功能(搜索、添加至购物车、食谱转购物车)。将价格情报与实际结账流程相结合。

Gotchas

注意事项

  • Most chains do NOT have their own
    prices.X.co.il
    domain. Rami Levy, Yochananof, Victory, Osher Ad, Tiv Taam, and ~20 other chains all publish through the Cerberus platform at
    url.publishedprices.co.il
    . Agents that fabricate per-chain URLs will get connection errors. Always consult
    references/chain-feeds.md
    for verified endpoints.
  • Cerberus is NOT a static file server. A naive
    curl https://url.publishedprices.co.il/file/d/PriceFull...xml.gz
    returns the login page (HTTP 200 with HTML, not the file). You must first GET
    /login
    , parse the
    csrftoken
    from the
    <meta name="csrftoken">
    tag, keep the response cookie, then POST
    /login
    with the chain username, an empty password if the chain is public, and the csrftoken. Only then do file listing and download endpoints return data.
  • The legacy "Nibit (Matrix)" platform at
    matrixcatalog.co.il/NBCompetitionRegulations.aspx
    is no longer reachable as of May 2026 (curl times out after 10s). Victory and other chains that previously published there now use Cerberus. Skills or agents still pointing at matrixcatalog.co.il will fail.
  • Prices in Israel include VAT (18%) by default, unlike US prices which are pre-tax. The 18% rate has been in effect since 1 Jan 2025 (raised from 17%); a proposed Jan 2026 increase to 19% was rejected in the Knesset budget vote. Agents trained before 2025 may "correct" 18% back to 17% — they should not. Agents may also perform cost comparisons that double-count or ignore VAT depending on their training data assumptions.
  • Israeli product barcodes use the 729 country prefix, but some imported products retain their original country barcode. Agents may fail cross-chain matching when the same product has different barcode formats across chains. Store-brand items often use internal codes starting with
    2
    and cannot be cross-matched at all.
  • Promotions with
    ClubId != 0
    are restricted to chain club members (Shufersal Sofash, Rami Levy club, Yochananof Club, etc.) and should NOT be applied to a generic basket-cost estimate. Many naive agents ignore
    ClubId
    and report inflated savings.
  • "Mega" and "Yeinot Bitan" did not fully rebrand to Carrefour. The Electra Consumer Products franchise (April 2022, 20-year term) operates all three banners in parallel; some stores were converted to Carrefour, others retained the Mega or Yeinot Bitan banner. A legacy "Mega" feed still exists on Cerberus alongside the Carrefour Direct portal. "Victory" is a completely separate, independently owned company (Ravid family, VCTR.TA). Agents may still confuse these as related entities.
  • Pharmacy chains (Super-Pharm, Good Pharm) ARE covered by the law and publish through Cerberus, but their SKU range is drugstore items (toiletries, OTC, baby food) without fresh produce, dairy, or meat. Don't try to price-compare milk at Super-Pharm.
  • Promotions in Israeli supermarkets often have conditions agents miss: "buy 2 get discount" (2 b-X shekel) is
    RewardType=2
    with
    MinQty=2
    ; "buy 3 pay for 2" is
    RewardType=3
    ; some have
    MinPurchaseAmnt
    thresholds; regional promotions apply only to specific store IDs.
  • 大多数连锁品牌没有自己的
    prices.X.co.il
    域名。Rami Levy、Yochananof、Victory、Osher Ad、Tiv Taam及约20家其他连锁品牌均通过Cerberus平台(
    url.publishedprices.co.il
    )发布数据。自行编造连锁品牌URL的Agent会遇到连接错误。请始终查阅
    references/chain-feeds.md
    获取已验证的端点。
  • Cerberus不是静态文件服务器。直接执行
    curl https://url.publishedprices.co.il/file/d/PriceFull...xml.gz
    会返回登录页面(HTTP 200,但内容为HTML而非文件)。必须先执行GET
    /login
    ,从
    <meta name="csrftoken">
    标签中提取
    csrftoken
    ,保存响应Cookie,然后使用连锁品牌用户名、空密码(若连锁品牌为公开)和
    csrftoken
    发起POST
    /login
    请求。只有这样,文件列表和下载端点才会返回数据。
  • 旧版“Nibit (Matrix)”平台(
    matrixcatalog.co.il/NBCompetitionRegulations.aspx
    )自2026年5月起已无法访问(curl请求10秒后超时)。Victory及其他曾在该平台发布数据的连锁品牌现已使用Cerberus平台。仍指向matrixcatalog.co.il的技能或Agent会执行失败。
  • 以色列的价格默认包含增值税(18%),与美国价格(税前)不同。18%的税率自2025年1月1日起生效(从17%上调);2026年1月拟上调至19%的提案在议会预算投票中被否决。2025年前训练的Agent可能会将18%“修正”回17%——请勿执行此操作。Agent还可能因训练数据假设的不同,在成本比较中重复计算或忽略增值税。
  • 以色列产品使用729国家前缀条形码,但部分进口产品保留原产国条形码。同一产品在不同连锁品牌中使用不同条形码格式时,Agent可能无法完成跨连锁匹配。自有品牌产品通常使用以
    2
    开头的内部代码,完全无法跨连锁匹配。
  • ClubId != 0
    的促销活动仅适用于连锁品牌会员(如Shufersal Sofash、Rami Levy俱乐部、Yochananof Club等),不应应用于通用购物篮成本估算。许多基础Agent会忽略
    ClubId
    ,从而报告虚高的节省金额。
  • “Mega”和“Yeinot Bitan”并未完全重新品牌化为Carrefour。Electra Consumer Products特许经营(2022年4月,期限20年)同时运营这三个品牌;部分门店已转为Carrefour品牌,其他门店仍保留Mega或Yeinot Bitan品牌。Cerberus上仍存在旧版“Mega”馈送,与Carrefour直连门户并行。“Victory”是完全独立的公司(Ravid家族,VCTR.TA)。Agent可能仍会将这些品牌混淆为关联实体。
  • 药房连锁品牌(Super-Pharm、Good Pharm)受该法律约束,并通过Cerberus发布数据,但它们的SKU范围仅为药店商品(洗护用品、非处方药、婴儿食品),不包括新鲜农产品、乳制品或肉类。请勿尝试在Super-Pharm比较牛奶价格。
  • 以色列超市的促销活动通常包含Agent容易忽略的条件:“买2件享折扣”(2件X谢克尔)对应
    RewardType=2
    MinQty=2
    ;“买3件付2件的钱”对应
    RewardType=3
    ;部分促销活动有
    MinPurchaseAmnt
    阈值;区域促销仅适用于特定门店ID。

Reference Links

参考链接

SourceURLWhat to Check
Wikipedia, Promotion of Competition in Food and Pharma Law (Hebrew)https://he.wikipedia.org/wiki/חוק_קידום_התחרות_בענפי_המזון_והפארםPlain-language summary, legislative history, recent amendments
Wikipedia, List of supermarket chains in Israelhttps://en.wikipedia.org/wiki/List_of_supermarket_chains_in_IsraelCurrent chain ownership, store counts, brand consolidations
Shufersal Direct Portalhttps://prices.shufersal.co.ilLive PriceFull/PricesPromotions/Stores feeds for Shufersal
Cerberus PublishedPrices Portalhttps://url.publishedprices.co.il/loginLive feeds for Rami Levy, Yochananof, Victory, Tiv Taam, Osher Ad, Mega, and ~25 other chains
Carrefour Israel Direct Portalhttps://prices.carrefour.co.ilLive feeds for Carrefour / Mega / Yeinot Bitan stores
OpenIsraeliSupermarkets, community parsershttps://github.com/OpenIsraeliSupermarketsReference Python scrapers and parsers used by the community. The active library is
il-supermarket-scraper
(PyPI), which handles Cerberus CSRF login, chain-code lookup, file listing, and decompression
Wikipedia, Taxation in Israelhttps://en.wikipedia.org/wiki/Taxation_in_IsraelCurrent Israeli VAT rate (18% since 1 Jan 2025), includes historical rate changes
来源URL查看内容
维基百科,《食品与制药行业竞争促进法》(希伯来语)https://he.wikipedia.org/wiki/חוק_קידום_התחרות_בענפי_המזון_והפארם通俗易懂的摘要、立法历史、最新修订内容
维基百科,以色列连锁超市列表https://en.wikipedia.org/wiki/List_of_supermarket_chains_in_Israel当前连锁品牌所有权、门店数量、品牌整合情况
Shufersal直连门户https://prices.shufersal.co.ilShufersal的实时PriceFull/PricesPromotions/Stores馈送
Cerberus PublishedPrices门户https://url.publishedprices.co.il/loginRami Levy、Yochananof、Victory、Tiv Taam、Osher Ad、Mega及约25家其他连锁品牌的实时馈送
以色列Carrefour直连门户https://prices.carrefour.co.ilCarrefour/Mega/Yeinot Bitan门店的实时馈送
OpenIsraeliSupermarkets,社区解析器https://github.com/OpenIsraeliSupermarkets社区使用的参考Python爬虫和解析器。活跃库为
il-supermarket-scraper
(PyPI),可处理Cerberus CSRF登录、连锁品牌代码查询、文件列表及解压缩
维基百科,以色列税收https://en.wikipedia.org/wiki/Taxation_in_Israel当前以色列增值税率(2025年1月1日起为18%),包括历史税率变化

Troubleshooting

故障排除

Error: "XML feed download failed"

错误:“XML馈送下载失败”

Cause: Chain's price transparency server is temporarily down or URL has changed. Solution: Check if the chain updated their feed URL (this happens occasionally). The Cerberus platform occasionally has SSL certificate issues; try HTTP if HTTPS fails. Feeds are typically most reliable in the morning hours (updated overnight). See
references/chain-feeds.md
for current URLs.
原因:连锁品牌的价格透明服务器暂时宕机或URL已更改。 解决方案:检查连锁品牌是否更新了馈送URL(这种情况偶尔会发生)。Cerberus平台偶尔会出现SSL证书问题;若HTTPS失败,可尝试HTTP。馈送通常在上午时段最可靠(夜间更新)。请参阅
references/chain-feeds.md
获取当前URL。

Error: "Product not found in cross-chain comparison"

错误:“跨连锁比较中未找到产品”

Cause: Product naming or barcode differs across chains. Solution: Try matching by barcode first (most reliable). If barcode match fails, use fuzzy name matching with manufacturer. Some chains use different product names for the same item (e.g., "חלב תנובה 3%" vs "חלב 3% תנובה").
原因:不同连锁品牌的产品命名或条形码不同。 解决方案:优先尝试通过条形码匹配(最可靠)。若条形码匹配失败,使用产品名称+制造商进行模糊匹配。部分连锁品牌对同一产品使用不同名称(例如“חלב תנובה 3%”与“חלב 3% תנובה”)。

Error: "Price data outdated"

错误:“价格数据过时”

Cause: Using cached data from a previous day or the chain hasn't updated yet. Solution: Check the UpdateDate field in the XML feed. Most chains update overnight. If data is >24 hours old, force a fresh download. Promotions feed updates may lag behind PricesFull updates.
原因:使用了前一天的缓存数据,或连锁品牌尚未更新数据。 解决方案:检查XML馈送中的UpdateDate字段。大多数连锁品牌会在夜间更新数据。若数据已超过24小时,强制重新下载。促销活动馈送的更新可能滞后于PricesFull馈送。

Error: "Shopping list optimization slow"

错误:“购物清单优化速度慢”

Cause: Comparing all items across all chains and all stores is computationally expensive. Solution: Limit comparison to chains with stores within a configurable radius (default: 5 km). Pre-filter by chains the user actually shops at. Use cached price data instead of fetching fresh for every optimization.
原因:在所有连锁品牌和门店之间比较所有商品计算量较大。 解决方案:将比较范围限制在可配置半径内的连锁品牌门店(默认:5公里)。预先筛选用户实际常去的连锁品牌。使用缓存价格数据,而非每次优化都重新获取。

Error: "Cerberus platform returns empty page or login prompt"

错误:“Cerberus平台返回空页面或登录提示”

Cause: Cerberus requires an authenticated session, not a one-shot URL fetch. The most common failure mode is omitting the CSRF token or the session cookie. Solution: Follow the full Cerberus auth flow documented in
references/chain-feeds.md
: GET
/login
, extract the
csrftoken
<meta>
value AND save the cookie from the response, POST
/login
with
username=<chain-code>
,
password=
(empty for public chains), and
csrftoken=<value>
, reuse the cookie for
/file/json/dir
and
/file/d/<filename>
. Add a ≥1s delay between requests and use a realistic User-Agent header — Cerberus throttles aggressive listing.
原因:Cerberus需要经过身份验证的会话,而非一次性URL获取。最常见的失败原因是遗漏CSRF令牌或会话Cookie。 解决方案:遵循
references/chain-feeds.md
中记录的完整Cerberus认证流程:GET
/login
,提取
<meta>
标签中的
csrftoken
值并保存响应Cookie,使用
username=<chain-code>
password=
(公开连锁品牌为空)和
csrftoken=<value>
发起POST
/login
请求,复用Cookie访问
/file/json/dir
/file/d/<filename>
。请求之间添加≥1秒的延迟,并使用真实的User-Agent头——Cerberus会限制过于频繁的请求。