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 label | Public level | Definition | Used in claims |
|---|---|---|---|
| EQUIVALENT | Level 1 — identical product | Same EAN/GTIN across ≥ 2 supermarkets | Underpins Level 1 product claims and provides data for Level 2 basket claims |
| COMPARABLE | Level 2 — comparable branded | Same brand + same size class | Level 2 claims |
| ALTERNATIVE | Level 3 — comparable own-label per kg/l | Functional equivalent per kg/l | Level 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_totalfloor =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.