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. £520 (£62/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.
| Category | ONS weight |
|---|---|
| Bread and cereals | 18% |
| Meat | 17.5% |
| Milk, cheese and eggs | 11.4% |
| Vegetables | 11% |
| Non-alcoholic beverages | 8% |
| Fruit | 7.8% |
| Food products n.e.c. | 6.2% |
| Sugar, jam, confectionery | 6% |
| Personal care | 4.4% |
| Household goods | 4% |
| Fish | 3.2% |
| Oils and fats | 2.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.
| Basket | Products | Best 2-store split vs avg | Best 3-store split vs avg | Structural savings |
|---|---|---|---|---|
| UK CPIH reference basket | 30 | 16% | 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).
| Retailer | Basket total (raw £) | ONS-weighted index | Coverage | Savings vs most expensive |
|---|---|---|---|---|
| Morrisons | £102.90 | £193.44 | 30/30 | 20% |
| Asda | £105.96 | £197.90 | 30/30 | 18% |
| Sainsbury's | £110.40 | £204.99 | 30/30 | 14% |
| Tesco | £121.30 | £224.86 | 30/30 | 6% |
| Waitrose | £128.70 | £236.78 | 30/30 | 0% |
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
| Product | Pack | Asda | Tesco | Sainsbury's | Morrisons | Waitrose |
|---|---|---|---|---|---|---|
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:
- 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.
- 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.
- 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.
- 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.
- 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