Algorithm

Sell Price

What a product has actually been selling for, as a range rather than a single number

Updated 2026-08-12

Sell Price answers the question every sourcing decision rests on: what does this actually sell for? Rather than quoting one number, it reports the range of prices the product has been changing hands at, shown on the product card as What it has sold for.

What It Measures

Amazon does not publish transaction prices. What it does publish is sales rank, and a sales rank that drops sharply is the visible shadow of a sale. Sell Price uses those rank drops as sale proxies: for each one, it asks what the price was at that moment, and builds a distribution from the answers.

The result is three figures:

| Band | What It Is | What It Means | |------|-----------|---------------| | Move fast | 25th percentile | Price here and you are at the cheap end of where this product has been selling. Expect to move units quickly, with the thinnest margin. | | Market | Median | The middle of the observed distribution. Half the observed sales happened above this, half below. | | Stretch | 75th percentile | The upper end of what buyers have actually paid. Achievable, but slower. |

These are observations, not recommendations. The bands describe where this product has changed hands, not where you should price it. They know nothing about your costs, your fees, or your competition today. Treat them as evidence about the market, and make the pricing decision yourself.

Why It Matters for Resellers

A single "average price" hides the thing you most need to know: how much room there is. Two products can both average $30, but one sells between $28 and $32 while the other swings from $19 to $45. The first gives you a reliable margin calculation; the second means your outcome depends on timing and luck.

  • The gap between Move fast and Stretch is your room to manoeuvre. A wide gap means pricing strategy matters and patience pays. A narrow gap means the market has already decided the price.
  • Where the current price sits in the range tells you whether you would be entering cheap or dear. The reading reports this directly.
  • The confidence rating tells you how much to trust any of it. A low-confidence read on thin evidence should not anchor a purchase decision.

How We Calculate It

Finding the sale moments

A rank drop counts as a sale proxy when it clears a threshold that scales with the rank itself: the larger of 50 places, or 2% of the prior rank. A product at rank 800 needs to move 50 places; a product at rank 400,000 needs to move 8,000. A single fixed threshold would either flood the deep ranks with jitter or miss everything shallow, so both arms apply together and the larger one governs.

Choosing a method

We prefer the strongest reading the data can support, and fall back in order:

  1. Sales-weighted — Buy Box prices in force at each sale proxy. This is the closest thing to a transaction-price distribution and is the only method that can reach high confidence.
  2. Floor at sale — where Buy Box coverage is too thin, the lowest available price at each sale moment. This is the market floor when sales happened, not what buyers paid, and it is never presented as a transaction price. Capped at low confidence by design.
  3. Time at price — where sale proxies are too sparse to build a distribution, the prices the market simply sat at, weighted by how long it sat there. Requires at least 30 days of coverage.
  4. Averages — where even that is unavailable, plain 30, 90 and 180-day means. No bands, always low confidence.
  5. No read — where there is no usable price history at all, we say so rather than inventing a number.

A banded read needs at least 8 matched sale events. The primary window is 90 days; where that is too thin, we widen to 180 days and cap confidence at medium.

Confidence

| Confidence | When | |-----------|------| | High | Sales-weighted read over 90 days with 15 or more matched sale events, and no guard triggered. | | Medium | Sales-weighted with 8 to 14 events, or a read that fell back to the 180-day window, or any read a guard has capped. | | Low | Floor-at-sale, time-at-price, or averages. |

Several guards can pull confidence down, each with a stated reason:

  • Unmatched events. Where more than 30% of sale proxies had no price recorded at that instant, the bands may under-represent those moments.
  • Disagreement with Keepa's own drop count. If we detect far more drops than Keepa does, the surplus is likely rank jitter contaminating the bands, and confidence drops hard. If Keepa sees substantially more than we do, our events are real but a sparse sample, and confidence is capped at medium.
  • A stale rank series. Where rank history ends more than 14 days before the rest of the data, the tail of the window has no sale coverage.
  • A stale product. Where the whole payload is old, the read is capped and the age disclosed.

What Else the Reading Tells You

  • Current position — whether today's price sits below Move fast, between the bands, or above Stretch.
  • Drift — whether the last 30 days have been softening or firming against the wider window. Movement beyond 5% is called out.
  • Sales skew — whether observed sales cluster toward the lower or higher end of the range, rather than spreading evenly. On a product with a detected season this is reported as unknown, because seasonal timing explains the skew better than pricing does.
  • Market state — where the Buy Box is currently suppressed, the reading says so. Suppression never moves the bands; suppressed asking prices are systematically inflated, which is precisely why the read must not swing on them.

Limitations & Caveats

  • Rank drops are a proxy, not a receipt. We never see a transaction. A rank drop can be caused by something other than a sale, and a sale can happen without a visible rank movement. The bands are an inference from public data.
  • Everything derives from one price series. Bands, current position, percentile and drift all come from whichever basis was selected — Buy Box or lowest-new. They are internally consistent, but a read on the lowest-new basis is describing asking prices, not won sales.
  • Shipping changed meaning partway through history. Keepa's price series became shipping-inclusive on 23 February 2026, having been item-only before. A window that straddles that date mixes two conventions, and the reading carries a caveat when it does. Every read states what its prices include.
  • The history tail can lag the live price. Where the current price differs from the last recorded value, the reading says so — the series may not yet have caught up.
  • A wide range is information, not a defect. Products genuinely sell across a spread. A low-confidence narrow band is far more dangerous than a high-confidence wide one.
  • Requires price and rank history. Very new listings will produce averages or no read at all.

Related Metrics

  • Price Position: Where today's price sits against the product's own 365-day history, rather than against its observed sale prices.
  • Price Trend: Which direction the price has been moving over the last 90 days.
  • Race to Bottom: Whether the range you are reading is about to shift downward.
  • Seasonality: Whether the timing of observed sales reflects a seasonal pattern rather than a pricing one.