UK supermarket savings methodology

Onze Britse methodologie in een notendop

Allsupers vergelijkt Britse supermarktprijzen op basis van drie principes: dagelijkse prijsverversing, vergelijkingen op prijs per eenheid en een ONS CPIH-gewogen referentiemandje. Elke ochtend rond 05.00 UTC halen wij de prijzen op bij Tesco, Sainsbury's, ASDA, Morrisons, Waitrose en Aldi, inclusief lopende aanbiedingen. Producten worden vergeleken op prijs per kilo, per liter of per stuk, zodat een literpak melk van £1,09 eerlijk vergeleken wordt met een tweeliterpak van £1,89. Het mandje zelf bevat 30 zorgvuldig gekozen A-merkproducten verdeeld over 12 ONS CPIH-categorieën, waarbij het aantal items per categorie ongeveer overeenkomt met de uitgavengewichten zodat goedkope, frequent gekochte categorieën zoals brood het totaal niet domineren. Een retailer wordt alleen toegelaten als deze minstens 50 procent van het mandje direct in het assortiment heeft, zodat cijfers nooit worden bijgeschat vanuit gemiddelden van andere winkels.

Snapshot taken: 2026-04-25. This page is a worked example of our methodology. The retailer totals below describe the basket on the snapshot date; we regenerate them on a regular cadence so the page stays representative as prices move.

How much can you save?

UK households spend, on average, £62/week on food and non-alcoholic drinks (ONS Family Spending). Our reference basket shows that splitting a weekly shop across the two cheapest stores saves 16% versus shopping at one average-priced store.

Potential annual saving on food and drink: approx. £52062/week × 52 weeks × 16%)

The number above assumes you replicate the category mix in our reference basket. Your actual savings depend on your weekly shop, brand preferences, and how far you're willing to travel between stores.

Methodology

We designed the reference basket from ONS Consumer price inflation, updating weights: 2026. The ONS publishes annual category weights for the Consumer Prices Index (CPIH), describing how UK households distribute their spend across food and household-staples categories. We use the normalised weights below to guide basket composition.

CategoryONS weight
Bread and cereals18%
Meat17.5%
Milk, cheese and eggs11.4%
Vegetables11%
Non-alcoholic beverages8%
Fruit7.8%
Food products n.e.c.6.2%
Sugar, jam, confectionery6%
Personal care4.4%
Household goods4%
Fish3.2%
Oils and fats2.5%

Designed from ONS CPIH 2026 category weights (food + household staples). National-brand products present at 5+ of 6 UK supermarkets. Prices include active promotions.

Which retailers we include

A retailer is admitted to the comparison table when it directly stocks at least 50% of the basket (15 of 30 items in this snapshot). The threshold is mechanical so the rule extends naturally to new retailers (Lidl, Ocado, Iceland, Co-op) when their price coverage comes online.

Retailers below the threshold are listed separately under each basket with their actual coverage shown. We do not impute totals or savings figures for them — an imputed Aldi total (28-of-30 cells averaged from peers) was the credibility issue this restructure addresses.

How we weight category spend (ONS-weighted index)

A raw £ sum of the basket items under-represents categories where unit prices are low (bread, biscuits, cola). To bring the per-retailer total into line with how UK households actually allocate spend, we compute an ONS-weighted basket index: each product contributes price × (category_weight / category_count) to its retailer's total, so each ONS division's £-share of the index matches its CPIH weight regardless of which individual items are cheap or expensive. The raw £ sum and the weighted index are both shown in each basket table.

Results

The table below summarises savings per basket and strategy. Click a basket name to jump to its full breakdown.

BasketProductsBest 2-store split vs avgBest 3-store split vs avgStructural savings
UK CPIH reference basket3016%21%17%

UK CPIH reference basket

Reflects typical UK grocery spend, weighted by ONS CPIH 2026 category weights. National-brand products available at 5+ of 6 major UK supermarkets (Asda, Tesco, Sainsbury's, Morrisons, Waitrose, Aldi).

RetailerBasket total (raw £)ONS-weighted indexCoverageSavings vs most expensive
Morrisons£102.90£193.4430/3020%
Asda£105.96£197.9030/3018%
Sainsbury's£110.40£204.9930/3014%
Tesco£121.30£224.8630/306%
Waitrose£128.70£236.7830/300%

Not in the comparison above:

  • Aldi directly stocks 2 of 30 basket items — below the inclusion threshold so we don't show a basket total or savings figure that would otherwise be mostly imputed from peer averages.

Best 2-store split

Asda + Morrisons

£95.68save 16% vs average store

Best 3-store split

Asda + Morrisons + Sainsbury's

£90.42save 21% vs average store

View all 30 products
ProductPackAsdaTescoSainsbury'sMorrisonsWaitrose
Kellogg's Krave Milk Chocolate Breakfast Cereal 410g
Bread and cereals
410 g£2.85£3.50£3.50£3.50£3.75
Weetabix Protein 24 pack cereal
Bread and cereals
24 st£3.95£3.95£3.95£3.00*£4.00
Ben's Original Egg Fried Microwave Rice 220g
Bread and cereals
220 g£1.32£1.40£1.00£1.40£1.45
McVitie's Dark Chocolate Digestive Biscuits 266g
Bread and cereals
266 g£1.50£2.25£2.25£2.25£2.35
Jacob's Cornish Wafers Crackers 150g
Bread and cereals
150 g£1.68£1.70£1.70£1.70£1.85
Lurpak Slightly Salted Butter 200g
Milk, cheese and eggs
200 g£2.47£2.80£1.95£2.70£2.95
Anchor Salted Butter 200g
Milk, cheese and eggs
200 g£1.65£2.60£2.60£1.70*£2.75
Anchor Spreadable Blend of Butter and Rapeseed Oil 400g
Milk, cheese and eggs
400 g£4.08£4.45£2.75£3.75£4.65
Filippo Berio Extra Virgin Olive Oil 1Litre
Oils and fats
1 l£12.48£12.50£12.75£9.00*£12.50
Lindt Excellence Dark 85% Cocoa Chocolate Bar 100g
Sugar, jam, confectionery
100 g£3.48£3.50£3.25£3.00*£3.75
Ritter Sport Colourful Variety Marzipan 100g
Sugar, jam, confectionery
100 g£1.70£1.90£2.00£1.90£2.25
Bonne Maman Apricot Conserve 370g
Sugar, jam, confectionery
370 g£3.00£3.60£3.00£3.00*£3.60
Ben & Jerry's Churrifically Churros-y Ice Cream Tub 465 ML
Sugar, jam, confectionery
465 ml£3.00£5.55£5.55£5.75£5.80
Hellmann's Mayonnaise 100% Plant-based 400 g
Food products n.e.c.
400 g£3.34£3.75£3.75£3.40£3.95
Bonne Maman Sweet & Crunchy Peanut Spread 230g
Food products n.e.c.
230 g£2.88£2.90£2.00£3.00£3.00
Baxters Chicken Broth 400g
Food products n.e.c.
400 g£2.00£2.00£2.00£2.00£2.15
Coca-Cola Original Taste 1.25L
Non-alcoholic beverages
1.25 l£2.24£2.25£2.35£2.15£2.35
Pepsi Max No Caffeine No Sugar Bottle 2L
Non-alcoholic beverages
2 l£1.50£2.15£2.45£1.75£2.55
Twinings Assam 80 Tea Bags 200g
Non-alcoholic beverages
200 g£4.97£5.80£5.80£6.00£6.20
Taylors of Harrogate Yorkshire Gold 80 Tea Bags 250g
Non-alcoholic beverages
250 g£3.50£4.30£3.50£4.00£4.50
Robinsons Apple & Blackcurrant No Added Sugar Squash 1L
Non-alcoholic beverages
1 l£1.84£1.85£2.00£2.00£2.10
Colgate Triple Action Toothpaste 75ml
Personal care
75 ml£1.24£1.25£1.25£1.25£1.35
Aussie Bouncy Curls Shampoo 400xml. Gently Cleanses and Moisturises Wavy and Curly Hair
Personal care
400 ml£4.00£6.00£5.50£4.00*£6.20
Bulldog Skincare Original Shower Gel 500ml
Personal care
500 ml£5.00£5.00£3.30£5.00£5.25
Aussie Mighty Mega Lightweight Conditioner 275ml. Daily Moisturiser for All Hair Types
Personal care
275 ml£4.00£5.70£5.50£4.00*£6.20
Lynx Anti-Perspirant Roll On Africa 50ml
Personal care
50 ml£1.70£1.70£1.50£1.70£2.00
Ariel Washing Liquid, 63 Washes, Original
Household goods
1.953 l£9.00£11.30£9.25£6.00*£13.25
Comfort Botanical Fabric Conditioner First Blooms 960 ml (64 washes)
Household goods
960 ml£4.98£5.00£4.00£4.00*£5.00
Air Wick Active Fresh Refill, Fresh Linen & White Orchid Air Freshener, 228ml
Household goods
228 ml£6.64£6.65£6.00£7.00£7.00
Cif Infinite Clean All in One Cleaner Lavender & Eucalyptus 280 ml
Household goods
280 ml£3.97£4.00£4.00£3.00*£4.00

Of the total 21% savings, 17% is structural (regular-price differences between retailers) and 4% is from current promotions.

How we generate this

The snapshot above is produced by a deterministic, repeatable process. Re-running the steps below against fresh price data regenerates this page's figures end-to-end:

  1. We collect current prices from each retailer's public product catalogues. The latest available price per retailer-product is held in our internal records and is what the basket below reads from.
  2. For each of the 30 hand-picked national-brand products in the basket, we read the latest observed price at every retailer that directly stocks the product.
  3. Each retailer's coverage is computed as products directly stocked / total basket products. Retailers below 50% coverage are listed under each basket but excluded from the comparison table, the savings figures, and the 2-store / 3-store split optimiser.
  4. For admitted retailers we report (a) the raw £ sum of the basket and (b) an ONS-weighted indexwhere each product's contribution is scaled by its ONS CPIH division weight divided by the number of basket items in that division.
  5. The 2-store and 3-store split optimisers brute-force every combination of admitted retailers and pick the cheapest-per-item allocation. The savings figure compares that optimised total to the average admitted-retailer total.

The generator script lives at backend/scripts/generate_uk_savings_baskets.py in our public repository; the basket composition is committed alongside it. Operators run the script with --write to refresh frontend/src/data/uk-savings-baskets.json, which the page reads at build time.

Notes and limitations

  • The reference basket uses only national-brand products available at 5 or more of the 6 retailers. Own-label and retailer-tier products (e.g. "Tesco Finest") are excluded from Phase 1 to keep comparisons like-for-like. A separate own-label vs national-brand price index is planned.
  • Ocado, Lidl, Iceland and Co-op are not included in this comparison; the inclusion rule above will admit them automatically once their price coverage is in place.
  • We include current promotions in the effective price. The analysis above reflects the snapshot at 2026-04-25; figures will move as we regenerate.
  • These savings estimates do not account for travel costs or the time required to visit multiple stores.

Source: ONS Consumer price inflation, updating weights: 2026 | ONS Family Spending in the UK