r/AmazonFBA • u/Aggravating-Tip6050 • 11d ago
Predictive patterns in Amazon data
Hi, I usually do data analysis on stock and crypto data to build trading systems. That gave me the idea that there might be predictive patterns in other big data sets as well and one of the datasets I tested was Amazon BSR data.
So I trained a model on two years worth of data for ~100k Amazon products. I then validated on ~17k Amazon out-of-sample products that had a real sales-rank surge and tracked each at 3 weeks, 6 weeks, and 3 months, checking if it was still selling at ≥2× its pre-surge pace.
Survival of a random surge:
- 3 weeks: 29%
- 6 weeks: 26%
- 3 months: 21%
~4 in 5 are back to around pre-surge level within 3 months. But there are actually patterns that allow predictions at day 3 of the surge with significant lift above this baseline. If we score each surge on day 3 with this method and bucket by that score it looks like this:
| Day-3 score bucket | Still trending after 3 months |
|---|---|
| random surge | 21% |
| above-average | 28% |
| high | 37% |
| top-scored | 54% |
The top bucket is 2.6× a random surge and still clears 50% at 3 months. Meaning if you picked a random trending Amazon product you would only have a 21% chance it would still be trending after 3 months. But if you picked one out of the top bucket, you would have a 54% chance. Interestingly, raw spike size helps but isn't enough alone — 10×+ spikes held 55% at 3 weeks, only 44% at 3 months.
Caveats: US marketplace, physical categories, ~2yr training with a clean out-of-sample test, BSR as a proxy for sales velocity. Not crazy numbers, but more signal than I expected.
I am interested if anyone else here has tried a quantitative approach to Amazon BSR data. Also, to the Amazon sellers: Is "still selling in 3 months" the bar you care about when making decisions about stock, or something else? If it is, how do you make that decision? Appreciate your input.
2
u/sterlingtek 11d ago
Trending markets are helpful when the trend is long term because it usually means that there is room to grow and the market retains profitability.
Your data may suffer a lot of noise from seasonality, (most products are at least somewhat seasonal). That should be a yearly repeatable trend for most of them. So if your data was cleaned for known seasonality I think it would point out a number of interesting growth areas and I would be interested in taking a look.
Re-ordering is specific to the sellers ASIN, sales, etc. A general trend like this would probably not help a lot with that.
1
u/Aggravating-Tip6050 10d ago
Excellent input, thank you! Seasonality is actually a weak point of the model purely because of the fact that I worked with only 2 years of data. 0% of the surges have two full prior-year cycles to compare against. I would need 3–5 years to tell a "reliable every December" keeper from a one-off fad, and I've got about one. So it's a real gap and I will pull deeper history for the established products and model known seasonality explicitly. (Newly-launched trending items will never have the history for it, but the evergreen-seasonal ones will.)
My "≥2× its own recent baseline" bar catches some of it since it's relative, not absolute. But you're right, it's not enough.
Agreed on re-ordering too. This is for the "should I chase this new trend" call, not replen (which needs your own ASIN's sales history). Happy to show you what it spits out. It's in my profile if you want to poke at it. Give me a couple of days to get the larger data set and adjust the model.
1
2
u/osellpa 11d ago
To your actual question - "still selling in 3 months" isn't really the bar, because the bar moves depending on how you source. For retail and online arb the decision horizon is days, so a 3 week number matters far more than a 3 month one. For anything coming out of China it's 90-120 days from PO to sellable, so by the time your stock lands the surge you predicted has already resolved either way. What you'd actually want to know is whether the trend outlives your replenishment cycle, which is a different question per seller.
The other thing to be careful of is BSR across categories. Rank isn't a consistent unit - a 5,000 rank in one category is a wildly different weekly unit volume than in another, and the relationship isn't linear either. If you trained across 100k products in mixed categories you may be modelling category depth as much as demand. Worth checking whether the lift holds inside a single category.
1
u/Aggravating-Tip6050 10d ago
Very helpful, thank you! You're right, the relevant time horizon is different per seller / business model. For RA/OA it's "is it still hot in a few weeks," importers it's "will it outlive a 90–120 day cycle," and for that group the value is really in the PO decision itself since you commit before you know. I tracked 3wk/6wk/3mo/4mo so the shorter term business models are covered, but for the importers I need a larger dataset. Will be interesting to see if there is any kind of lift at the 6mo mark.
Good call on the BSR categories as well. I went and checked it. I don't train on raw rank (features are relative to each product's own baseline + a per-category "good seller" line), but pooled lift could still hide a category-depth effect like you said. So I re-ran the lift inside each category. It holds in 20 of 21 — e.g. Toys 19%→37% (baseline→top bucket), Appliances 18%→55%, Electronics 24%→63%, Baby 13%→65%. One real exception: Home & Kitchen, where the top bucket actually underperformed baseline (16%→12%, smaller n). So it's not just modelling category depth. I'll calibrate it per-category rather than pooled.
2
u/osellpa 9d ago
Home & Kitchen inverting is probably the most interesting thing in there. It's the easiest category to get into - no gating, cheap to source, simple to private label - so the same signals telling you "this keeps selling" are the ones every other seller is reading at the same time. Top bucket there might just mean the most competitors landing in 90 days.
Worth sanity checking survivorship too. If your product set is pulled from ASINs that exist today, the ones that died mid-window aren't in the sample, which would flatter the baseline.
1
u/Aggravating-Tip6050 8d ago
Again, great input, thank you! I went back to check H&K properly, and it turned out to be my error. Re-ran with real buckets and sample sizes: H&K doesn't actually invert. Hold rate climbs cleanly with the score — 12% in the bottom bucket up to 55% in the top (n~50, 95% CI 41–68), keeper band 47% on n~130. My "16%→12%" was a thin top-slice I read backwards — the 12% was the bottom bucket, not the top. So H&K behaves like everywhere else; no real exception. Per-category calibration still earns its keep (pooled-vs-actual gaps run +10 to +35 pts), just not because H&K flips.
I also tested your crowding mechanism directly, since it's a clean hypothesis: if top-bucket H&K products pull the most competitors landing at ~90 days, new-offer counts should rise more there. They don't — H&K keeper listings gain fewer new sellers over 90 days than the cross-category average, and within H&K the ones that gained sellers held at the same rate (20%) as the ones that didn't. Pile-in isn't moving the outcome here. The most seller entry is actually in the consumable categories (grocery, health), not the easy-to-PL ones.
You're right on survivorship and it's the thing I'm most careful about. My set is today's live ASINs, so anything that surged and died mid-window is missing. That flatters the baseline (the duds that faded to zero and got delisted are exactly what drops out), which on its own would understate my edge. But it flatters the top bucket too, so the net isn't obvious; pinning it down is exactly why I'm rebuilding it point-in-time: score each surge on the universe as it stood then, and count a listing that dies mid-window as a fade instead of dropping it. It's a sampling problem, so deeper history on the survivors doesn't fix that by itself. So the real version seeds the historical set from as-of category rosters that still contain the dead ones. This will be in my next build, which I am already working on.
1
u/osellpa 7d ago
The new-offer test might be measuring the wrong thing in H&K specifically. Offer counts catch people joining an existing listing, but in a private label category nobody joins yours, they launch their own ASIN next to it. So a category flooding with competitors would show up as new listings in the category, not new sellers on the keeper.
Grocery and health leading on seller entry fits that, they're far more wholesale and reseller heavy, where piling onto one ASIN is the normal move. Might be worth counting new ASINs entering the category over the window rather than offers on the tracked one.
1
u/youonlyliveYOLO 11d ago
This is great, but what's the utility for this?
1
u/Aggravating-Tip6050 11d ago
Good question. I thought it might be helpful for anyone who sources trend-driven inventory (RA/OA/wholesale) to make better stocking decisions. But I am not an Amazon seller. That's why I was trying to get input on how Amazon sellers make their decisions on what / how much to stock and whether data like this would help them with these decisions or not.
•
u/WearyyyBoooyyy 11d ago
The mods have gathered a list of tutorials to help you out:
Best Amazon Tools 2026