Trust + methodology
DealIndex Methodology
v1.0 — effective 2026-05-01 · changelog
Every rule change bumps the version number so past reports remain defensible under the methodology in force at publication. Prior versions are archived at /methodology/v1.0.
The DealIndex Promise
Every rule in this methodology serves the same promise: the deals we publish are real, and we will tell you when they aren’t.
- No countdown timers unless backed by real retailer stock data.
- No “only X left” claims unless from a real-time retailer API.
- No inflated “was” prices — we publish the actual 90-day price range.
- No sponsored deal placements — every deal is scored by the same algorithm.
- No user-submitted content — eliminates fake-deal spam and moderation bias.
- Full affiliate disclosure on every page that carries an affiliate link.
- Compliant with the Digital Markets, Competition and Consumers Act 2024.
How Real-Deal Detection works
Every product passes through five gates before it appears on DealIndex. Most don’t make it.
Gate 0 — Stock check
We check whether the product is available directly from the retailer. If it’s out of stock, it’s rejected immediately. If it’s only available from a third-party marketplace seller, we flag it — you’ll see a “Marketplace seller” badge on the deal card.
Gate 1 — Price-data depth
We require a minimum of 15 price observations over the past 90 days before we’ll score a product, rising to 30 once the catalogue passes 100 active deals. New products without price history can’t game the system with a fake “was” price.
Gate 2 — Below median
The current price must be below the product’s 90-day median price. If a product has been sitting at £49.99 for three months and is now “on sale” for £49.99, that’s not a deal. We check.
Gate 3 — Meaningful discount
The discount must be at least 5% below the 90-day median during catalogue ramp-up, rising to 10% once we pass 100 active deals. A 2% dip isn’t a deal — it’s noise.
Gate 4 — Cross-retailer verification
Where possible, we check the same product across multiple UK retailers. If Amazon claims it’s £79.99 but Argos sells it for £69.99, we show you the cheapest option and tell you where to find it. Tolerance: 5% — if a sibling retailer undercuts by more than that, the Amazon listing doesn’t publish.
Products that pass all five gates are scored from 0 to 100 based on discount depth, price rarity, customer demand, cross-retailer position, and freshness. We publish deals scoring 40 and above; heroes (the weekly top picks) score 70 or higher.
Current ramp-up mode: the site is under 100 active deals, so Gates 1 and 3 are at their looser thresholds (15 points / 5% discount). Once we pass 100 actives, they tighten automatically to 30 points / 10% discount. This page reflects the live rule set — we don’t hide which mode is in effect.
What we track
DealIndex continuously monitors UK retailer prices across tracked products. For every product we record:
- RRP — the retailer’s declared recommended retail price at each observation.
- Sale price — the price the retailer actually charges, inclusive of promotions.
- Observation timestamps — at least once per day per product; more often during retailer sale events.
We hold a rolling 90-day price history per product per retailer for discount verification, and a 180-day RRP observation window for claim verification.
How we define a “real” price drop
A sale is a real price drop if and only if all three of the following hold:
- Stable-with-tolerance RRP. The retailer’s declared RRP has varied by no more than ±2% (coefficient of variation ≤ 0.02) over the prior 60 days.
- Actually-charged. In the prior 60 days, the retailer actually transacted within 5% of RRP on at least one day. This prevents us crowning a drop from an RRP the retailer never actually charged near.
- Beats the 90-day floor. The sale price is at or below the 90-day low for that product at that retailer.
Basis: CTSI Pricing Practices Guide (2016) requires a reference period ≥ sale duration; CMA’s 2024 mattress reference-price guidance requires both a sufficient volume of sales at the “was” price and a duration at or above the sale period.
How we flag a “fake” deal
A sale is flagged fake if any of the following is true:
- Inflated-advertised. The advertised discount is ≥2× the real saving the buyer gets versus the 90-day median sale price at that retailer.
- Pre-sale RRP spike. RRP was raised by ≥10% within 30 days before the sale began.
- Never-charged RRP. The retailer did not actually charge within ±2% of the claimed RRP on any day in the prior 180 days. This is the “tumble dryer pattern” documented by Which? in 2024 — an RRP that was never a real price at that retailer.
Basis: ASA/CAP RRP guidance (“RRPs should reflect the price at which the product is generally sold”) combined with CMA’s November 2025 enforcement drive under DMCCA and the Which? 2024 Black Friday investigation.
Retailer quality score
Each named retailer receives a quality score:
quality = 0.30 · avg_genuine_discount (capped at 95th percentile)
+ 0.25 · share_beat_90d_low
+ 0.15 · genuine_discount_frequency
+ 0.10 · price_stability
− 0.35 · fake_deal_rate Sampling rules:
- Minimum sample floor. Retailers with fewer than 20 tracked deals in a report month are listed separately as “insufficient sample” and are not ranked.
- Outlier cap. The
avg_genuine_discountterm is capped at the 95th-percentile value across the eligible retailer set to prevent a single clearance-line product distorting the score. - Weight rationale. A fake deal is a reputational hit that a genuine average-sized discount does not compensate for; the fake-deal penalty is therefore larger than any single positive term.
Seasonality rule (year-1 protocol)
Until DealIndex has three years of its own price history (target: from 2028):
- Amazon-sold ASINs: primary source is Keepa’s 3-year price history. Inline citation “Source: Keepa, 3y window”.
- Non-Amazon SKUs: require ≥2 external sources in agreement (e.g. PriceSpy UK + manufacturer MSRP history + Google Shopping historical). Inline citation names both.
- Hard floor: no seasonality claim published with less than 2 years of combined data (DealIndex + external).
- Labelling: year-1 claims carry a “Seasonal signal — external data” tag and a visual treatment distinct from the post-2028 treatment.
Right-of-reply
Every retailer named in a monthly leaderboard receives their row and the contributing deal data 48 hours before publication. Corrections and context are accepted by email to [email protected] up to 18:00 BST the day before publication. Published reports note any correction applied.
Forecast accuracy
Published before the event, scored after, nothing removed from the record.
How we score
- Correct — the actual outcome matched the prediction within the stated tolerance.
- Partial — the direction was right but the magnitude or timing was outside tolerance.
- Missed — the actual outcome contradicted the prediction.
How to verify
-
Live scorecard at
/forecast
and machine-readable via
GET /api/forecast/accuracy. - Each row in the scorecard links to the underlying recap article with sources.
-
AI agents can query the same data via the
get_forecast_accuracytool on mcp.dealindex.ai .
Versioning
This is methodology v1.0. Every rule change — a threshold, a weight, a definition — bumps the version number. Historical reports remain governed by the methodology version in force at their publication. The full change log lives at /methodology/changelog.
Sources
- CMA CMA209 — Unfair commercial practices: price transparency
- ASA/CAP — Recommended retail prices (RRPs)
- CMA 2024 reference-price guidance summary — Lewis Silkin
- GOV.UK — CMA launches major consumer protection drive (Nov 2025)
- Which? — Are Black Friday Deals Real? (2024)
- CTSI Guidance for Traders on Pricing Practices (2016)
Questions, data requests, or right-of-reply: [email protected] .