How we
verify deals.
Definitions, formulas, and operational rules behind the Live Feed. Last updated: 14 May 2026.
1. What counts as a deal on Glitchdeals?
A "deal" on Glitchdeals is an Amazon UK product whose current selling price is materially lower than its 90-day rolling average, as supplied by the Keepa price-history dataset. We do not compare against an "RRP" or any retailer-set "was" price, because those are routinely inflated under UK Advertising Standards Authority guidance. The 90-day median is the price the product has actually been sold at — anything below it is a real reduction.
2. The glitch score
Every detected price drop is scored as: glitch_score = current_price / avg_90 where avg_90 is the average Amazon UK price over the prior 90 days. A score of 0.30 means the listing is at 30 % of its 90-day average — i.e. a 70 % discount versus history. Lower is rarer.
3. Tiers
Every deal that clears the ingestion threshold is classified into one of three tiers: • STANDARD — passed our scoring thresholds, a normal price drop versus the 90-day median. • GLITCH — a significant anomaly versus the 90-day average; large enough to be unusual but not necessarily a mispricing. • CRITICAL_GLITCH — a probable pricing error. These are also registered for Keepa webhook tracking so we are notified the moment the retailer corrects the listing. Tiers are assigned by the automated pipeline. No human curator can promote a deal between tiers.
4. Detection cadence
Our ingestion pipeline polls Keepa's "Browsing Deals" endpoint on a continuous cadence, surfacing newly detected anomalies within minutes of Amazon updating a price. There is no manual submission queue: deals appear in the Live Feed because the algorithm has classified them, not because a user posted them. The "Just dropped" badge on a deal card reflects the ETL's published_at timestamp.
5. The heat score
The heat score is the community-driven ranking shown on /hottest. Authenticated users can vote a deal hot or cold; each user gets one vote per deal, enforced by a UNIQUE(asin, user_id) database constraint. The composite score is a time-decay function: score = votes / (age_in_hours + 2) ^ 1.5 so a hot vote loses weight as the deal ages. This is the same logic used by traditional link-aggregator boards (Hacker News, Reddit) and is the reason the Live Feed is always fresh.
6. Expiry and reporting
A deal leaves the Live Feed when one of the following happens: • The retailer corrects the price and the ETL detects the change on its next pass. • A registered user reports the deal as expired or inaccurate via the in-page report button. We require a small number of independent reports before marking the deal expired, to defend against malicious flagging. • The retailer's stock signal goes out-of-stock and stays out-of-stock for the configured cooldown window. Expired deals are not deleted. They move to /graveyard for transparency — the cheapest historical price for that ASIN remains visible so users have a reference price to wait for.
7. Database integrity
All deal, vote, comment, and report tables are protected by Postgres row-level security (RLS) on Supabase. End-user writes (votes, comments, reports) are constrained by RLS policies that check the Clerk JWT; ingestion writes run as the service role and are not exposed to the browser. We log every write with an inserted_at timestamp; nothing is silently overwritten.
8. What we don't do
We do not pay sources for tip-offs. We do not currently take a commission from any retailer — every outbound deal link is a direct link to Amazon UK with no affiliate tag attached. If that changes in future, we will add an "(Ad)" label to outbound buttons in line with ASA / CAP Code guidance and update our Terms of Service to disclose the relationship.