Two SneakerBinge price-history panels comparing a rejected fake discount anchor against a verified real markdown

How to Spot a Fake Sneaker Discount (3 Numbers to Check)

You've seen it: “$220 → $140, 36% off.” Feels like a deal. Half the time, it isn’t — that $220 was never a real price, it’s a number picked specifically to make $140 look aggressive. The FTC has had rules against this since the 1960s (16 CFR 233.1): a “former price” only counts if it was a real price the item actually sold at, for a real stretch of time, in good faith. Retailers inflate it anyway, because almost nobody checks.

We check. Building out automated deal detection for SneakerBinge meant deciding exactly how much to trust a retailer’s own “was” price — and the answer we landed on cost us coverage on purpose.

Two SneakerBinge price-history panels comparing a rejected fake discount anchor against a verified real markdown, showing the 20% minimum discount, $15 minimum drop, and 1.5x anchor cap thresholds

The situation

Our pipeline already scrapes boutique Shopify catalogs every six hours for release data. Shopify’s product feed carries a field called compare_at_price — the retailer’s own declared strikethrough price (Shopify’s own pricing docs cover how merchants set it). It’s free, it’s already in the payload, and it fires the instant a sale goes live. It’s also the easiest number in retail to fake — set the “compare at” high enough and every price looks like a deal.

So compare_at_price alone was never going to be the whole system. We built a second signal to check it against: price_history, a table that logs every price we observe for every product, every scrape. A discount only becomes a real SneakerBinge deal when both signals agree.

The decision, and the tradeoff we took on purpose

The rule: a discount only fires if the retailer’s declared “was” price doesn’t exceed 1.5x the trailing median price we’ve actually observed for that product — or it matches the confirmed retail price on a shoe already in our release database. On top of that, it needs to clear a 20% minimum discount and a $15 minimum dollar drop, so a $4 markdown on a $60 accessory never counts as a “deal.”

That 1.5x anchor cap was a real call, not a default we left untouched. The looser version would have surfaced more deals, faster, on day one. We chose the strict version anyway — hold the 1.5x cap exactly as specified, accept slower and thinner coverage while the price-history table is still warming up, and only loosen it later if a manual review shows the guard is killing real deals instead of fake ones. Coverage was the thing we were willing to lose. Trust wasn’t.

There’s a cold-start problem baked into that rule: a product needs a track record before we can judge its “was” price against anything. A price drop with no retailer-declared compare_at_price at all only qualifies once we’ve logged at least 6 price observations across 3+ days. A retailer-declared discount can fire on the first sighting, because the retailer is the one making the claim — but it’s still subject to the 1.5x cap.

Before any of this touches a live deal feed, it runs in shadow mode for roughly two weeks: the pipeline logs every candidate to an internal report, writes nothing user-facing, and we check the candidates against the live retailer pages by hand before flipping it on.

Run the same 3 checks yourself

You don’t need our pipeline to apply the logic. Next time you see a sneaker “sale”:

  1. Is the discount at least 20%, and at least $15 off? Anything smaller isn’t worth the deceptive-pricing risk for a retailer to fake — and it’s usually not worth chasing either.
  2. Does the “was” price hold up against what you’ve actually seen the shoe sell for? Pull the product page on the Wayback Machine and check the last month. If “was $220” only ever shows up the same day as “now $140,” that’s not a former price — the FTC’s own word for it is “fictitious.”
  3. Does the “was” price match the shoe’s actual retail? If a $190 release is suddenly “was $260,” something’s off — no boutique sold it at $260 first.

Fail any of those three and the “sale” is doing more marketing than math.

SneakerBinge already runs a Deals feed in the app; this same three-gate logic is what we’re rolling into it now, live once the shadow-mode review clears. Get the app to see it land.

Retour au blog

Laisser un commentaire

Heads up: this post may contain affiliate links. If you buy through them, we may earn a small commission at no extra cost to you. Learn more.