Methodology

How Allsupers Research collects, normalises, compares and monitors UK supermarket prices. This is the authoritative reference for our three matching levels and the shrinkflation monitor.

Methodology version v3 · Changelog

Source data last updated

Matching levels: how we compare products

We compare supermarket prices at three public levels. Every numeric claim on this research hub is tagged with its level.

Internal labelPublic levelDefinitionUsed in claims
EQUIVALENTLevel 1 — identical productSame EAN/GTIN across ≥ 2 supermarketsUnderpins Level 1 product claims and provides data for Level 2 basket claims
COMPARABLELevel 2 — comparable brandedSame brand + same size classLevel 2 claims
ALTERNATIVELevel 3 — comparable own-label per kg/lFunctional equivalent per kg/lLevel 3 claims only

What we don't publish

Products without a sufficient match (insufficient overlap in size or brand) are not included in our published comparisons.

Level 1 — identical product

Heinz Tomato Ketchup Glass Bottle 342g

View this product on Allsupers

Stocked at: asda morrisons sainsburys tesco waitrose

An identical product (same EAN) at five of the six supermarkets we track. Our Level 1 claims compare exactly this type of product at identical measurement points.

Level 2 — comparable branded

Hovis Soft White Medium 800g

View this product on Allsupers

Stocked at: asda morrisons sainsburys tesco waitrose

Different SKUs of the same branded product within the same size class (800g) across multiple supermarkets. Our Level 2 claims compare this type of product on composition, not identical EAN.

Level 3 — comparable own-label per kg/l

Tesco British Semi Skimmed Longlife UHT Milk 1 Litre

View this product on Allsupers

Stocked at: tesco

An own-label product with functionally equivalent alternatives (Sainsbury's, ASDA, Morrisons own-label semi-skimmed UHT 1L) at other supermarkets. Our Level 3 claims compare per litre, not by brand or EAN.

Shrinkflation monitor

We detect shrinkflation through two mechanisms: within-SKU (the same product shrinks) and new EAN (a retailer deactivates a large SKU and introduces a smaller SKU under the same brand). Both are documented below.

1. Within-SKU

The same product (same EAN, same retailer SKU) shrinks over time. We register this once we observe ≥ 2 different quantity values for the same retailer-product in our nightly retailer_product_size_history audit log. The earliest possible event therefore happens afterthe monitor system’s first registration date — we cannot retrospectively reconstruct shrinkflations from before that date.

2. New EAN (“EAN swap”)

A retailer removes a product from the shelf and within 60 days introduces a new product under the same brand with a closely-similar name and a smaller size. Detection steps:

  • Find pairs (deactivated RP-X, introduced RP-Y) within a 60-day window at the same retailer, with identical brand (case-insensitive).
  • Variant-token strip: names are stripped of size \d+, nappy \d+, and multipack markers \d+ x \d+ before similarity scoring. Without this step, Pampers size 3 vs size 8 would be incorrectly flagged as a swap.
  • Threshold: trigram similarity (pg_trgm) ≥ 0.85 on the cleaned names.
  • Requirement: normalised quantity of RP-Y must be smaller than RP-X, on the same base unit (g↔kg, ml↔l are normalised first).
  • Price snapshot at detection time — no later lookup. This prevents an intervening price change from distorting the editorial baseline.
  • Operator verification mandatorybefore any publication. Every published event has been manually checked against the retailer’s own product page.

Confidence tiers

EAN-swap candidates are classified into three tiers:

  • Tier 1 — High confidence: both RPs already point to the same canonical product. Rare (≈ 2.5 % of NL volume).
  • Tier 2 — Medium confidence: similarity ≥ 0.85 on cleaned names but different canonicals. The workhorse tier — the vast majority of published events come from this bucket.
  • Tier 3 — Triage: similarity between 0.65 and 0.85. Never published publicly — operator-only inbox for manual review. The public API filters these rows out regardless of query parameters.

Not detected

  • Recipe shrink: same packaging, different ingredient ratio (no historical data available).
  • Cross-channel arbitrage: price differences between online and in-store.
  • Within-EAN variant downgrade: quality or ingredient-grade reduction without a size or EAN change.
  • Price hikes disguised as promo expiry — outside the shrinkflation definition (no size change).

See also the public register of verified events.

Changelog

This log records every change to the methodology that affects journalist-cited measurements: basket composition, retailer coverage, comparable-tier definitions, rounding rules. Bump policy: major bump (v1 → v2) for retailer/basket/tier changes; minor changes are dated under the same version.

v1 — 2026-05 (baseline)

  • Baseline established: 7 NL retailers (Albert Heijn, Jumbo, Dirk, Plus, Vomar, Aldi, Hoogvliet); 6 UK retailers (ASDA, Tesco, Sainsbury's, Morrisons, Waitrose, UK Aldi).
  • Comparable tiers: EQUIVALENT / COMPARABLE / ALTERNATIVE / NON-COMPARABLE (CHANGE-246 model, CHANGE-301 ML quality gate).
  • datapoints_total floor = RESEARCH_LAUNCH_DATE_NL / RESEARCH_LAUNCH_DATE_GB, set per region on first prod deploy of CHANGE-367.
  • Counts rendered on hub pages are exact (not rounded). Consumer pages continue to use rounded values per CHANGE-364 A2.
  • 2026-05-21 — A-brand Price Index section moved to working draft pending first publication.

Corrections

Spotted an error in our numbers? Email [email protected]. We evaluate every report within 5 working days and publish confirmed corrections to the corrections log within a further 5 working days.

The corrections log will publish once the first correction has been processed.