At Viral Launch, we thrive on understanding and discovering the intricacies of the “science” of Amazon’s marketplace and the process of selling successfully. One of our recent targets was reverse engineering the Amazon Best Sellers Rank (BSR) algorithm with the intent of building an incredibly robust Amazon sales estimation algorithm with unprecedented accuracy. While we have built a far more accurate BSR to sales mapping algorithm than what is currently available, reverse engineering the BSR algorithm requires a far greater amount of data plus more sophisticated machine learning tactics.
Here are our findings on BSR and the downfalls of using Amazon’s Best Sellers Rank as a tool to estimate sales. This is a technical piece so I apologize for it being so dry.
What is Amazon’s Best Sellers Rank?
A product’s Best Sellers Rank can be found on the product’s detail page. As you can see products are typically listed in multiple categories. There is usually a top level category (in this example it is #2,235 in Beauty & Personal Care), and then a subcategory, in this case the product is the 41st best seller in the sub sub sub sub category, Serums. Often you’ll find a product in multiple sub sub subcategories and less frequently in multiple top level categories. For sales estimation equations, it is the top level category that the algorithms pay attention to. If someone had enough data to map out any of the current 64,000+ subcategories, then they may use those numbers, but that seems unlikely.
How is the Amazon’s Best Sellers Rank (BSR) Calculated?
A product’s Best Sellers Rank or BSR is a calculation of a product’s number of orders compared to other products in the same category within a given amount of time.
In simple terms, the “best selling” product in a category will have a BSR of #1 in that category. The second “best selling” product in a category will have a BSR of #2 in that category.
So what does “best selling” refer to exactly? What is the time frame in which orders are taken into account?
We tried using a few different machine learning algorithms with the most logical/successful being called Linear Regression to figure out how much weight Amazon was placing on various timeframes (if you care, we also tried Decision Forest Regression, Bayesian Linear Regression, and Boosted Decision Tree Regression algorithms). So generally, with this kind of dataset, we would expect to use Linear Regression to help us understand how Amazon weights sales each hour. Ex. sales today are more heavily weighted than sales a year ago when calculating BSR. To briefly explain how Linear Regression would help us reverse engineer the BSR equation, Linear Regression is an AI equation that helps to find the proper coefficients for an equation trained with massive amounts of data. The equation looks something like BSR = X(a)+ Y(b) + Z(c)….. a, b, and c are the number of orders for each period of time, and X, Y, and Z are the amounts each period of time is weighted. Ex. sales over the last hour (a) are worth 40% of the BSR calculation (X) and sales two hours ago (b) are worth 20% of the BSR calculation (Y).
Unfortunately, this approach did not return the exact calculation we were looking for but did help us uncover some great insights.
Though BSR has been difficult to work with, through trial and error, as well as simply analyzing massive amounts of data, we definitely learned a lot! Some of these are not new discoveries, but for those unfamiliar here you go:
- BSR updates for a product within 2-3 hours of a sale (we assume depending on when the payment clears relative to Amazon updating the market’s BSR).
- The BSR calculation more heavily weights recent sales.
- Historical sales still hold considerable weight in the calculation.
- We’ve seen two products with near identical BSRs have different sales by a couple of hundred during the last month. (Ex. BSR #76,430 and #76,433 with monthly sales of 94 and 310 monthly sales respectively).
- We’ve seen products with much lower BSRs with far fewer sales (Ex. BSR #720 at 366 sales over the last month.).
- New items with no sales do not have an Amazon Best Sellers Rank.
- When it comes to listing variations. Some types of variations do not have their own BSR and see their sales roll up to the parent ASIN. Other variation types do have their own Best Sellers Rank.
- BSR is order dependent and unit independent. (e.g. 90 items in a single order has as much impact as an order for 1 unit).
- BSR can swing by tens, even hundreds of thousands in the lower ranks with a single sale. Likewise, BSR can plummet just as fast (we’ve seen drops of 10,000 per hour until another sale occurs).
- BSR is re-calculated every hour for every product. We’ve never seen two products with the same BSR in the same hour.. so you can’t just re-calculate the top X products each hour as some people suggest.
So as you can see, BSR can be both an indicator of how well a product has sold in the past and an indicator of how well it has sold over the last few hours. The problem is you can’t tell exactly which, unless you have detailed BSR history.
Example of BSR Fluctuations
Let’s take Product A and Product B. Product A has been selling steadily at 40 units per day in the Patio, Lawn, and Garden department for the last 6 months and Product B has only ever had 1 sale which was 31 days ago.
Let’s say that Product B get’s their stuff together and starts really promoting their product and sells 120 units total over the last two days. We would expect Product B to have a very similar BSR to Product A even though Product B has only sold 120 units over the last 30 days and Product A has sold 1,200.
Pretty crazy huh?
Different Ranks But Same Sales
With there being millions of products per category it is very possible for two ASINs to have the same number of sales, but have very different BSRs.
Let’s say that Product A has had 197 sales and Product B has had 200 sales over the last 30 days and their BSR is sitting at 12,000 and 10,0000 respectively. Okay, now let’s say that Product A had three sales in the last three hours, while product B has had none. We would expect Product A to be ranking somewhere in the 8,000’s even though they have had the same number of sales over the last month.
Timing Is Everything
Product A has only ever had two sales on Amazon and they both occurred 18 months ago and is now sitting with a BSR in Patio, Lawn, & Garden of 2,000,000. Let’s take Product B that has only had 1 sale, but that sale occurred 12 months ago, we would expect to see this product with a BSR of 1,000,000 or so. Even though Product A has had more sales, those sales happened earlier and reached “the bottom” of the BSR calculation, while Product B didn’t hit “the bottom” of the BSR calculation until much later. As BSR updates each hour, products that don’t report a sale generally get pushed down the ranks (increasing in BSR), and products that have a sale rise above.
BSR Is Bad For Sales Estimation (But It’s The Best We Have)
In our journey of crafting the most accurate sales estimation algorithm, we brainstormed all possible indicators of sales on Amazon’s platform. One thought was estimating sales based on an assumed average review rate per market, which would look something like, if an average of 25 reviews were added per product in a month and we assume review rate is 1% of organic sales then we would assume there were 2,500 sales that month. This is obviously not the proper approach, but in brainstorming, no idea is a bad idea. The most popular alternative is tracking inventory levels, which has some major weaknesses. This approach does not allow for situations in which sellers are driving sales from external sources as well as listings whose inventory levels are above 999 units, or listings with their Max Order Quantity set.
Why were we so turned off by BSR when there are existing tools that take this approach and are fairly accurate?
We were opposed to using the Best Seller Rank because it is such a volatile metric. BSR is globally updated per hour meaning each product’s Best Sellers Rank is calculated and adjusted each hour. Each time Amazon pushes a BSR update, a given product’s rank can fluctuate dramatically. For example, we watched a product’s Best Seller Rank jump from 98,000, one hour later due to one sale moved to 38,000, to the next hour rank fell down to 76,000. This is happening across the marketplace all the time.
Moving forward, let’s call the BSR that you find on Amazon a “snapshot” (because it is just a snapshot in time as BSR changes hourly).
So as an example of snapshot BSR being a poor metric for estimating sales volume, let’s imagine you are wanting to source a tea kettle. When are people most likely to remember that they need to purchase a new tea kettle? For the example’s sake let’s say people remember to purchase a new tea kettle in the morning when they have their morning tea/coffee before work. That means, that BSRs for tea kettles are likely going to be lower (showing higher sales estimates) in the the morning than at night. So, if you do your sourcing research in the mornings, you are going to estimate higher sales volume than if you do your research at night. The same can be true for times of the week. Let’s say for example’s sake that half of tea/coffee drinkers only drink tea/coffee on work days to get some extra pep in their step on the way to work. That would mean that BSR/sales figures are going to be different when looking over the weekends versus weekdays.
Essentially because there is no direct calculation, and because BSR can fluctuate so drastically within the scope of a day, week, and/or month, the Amazon Best Seller Rank is a poor indicator of past sales.
How We Built Our Sales Estimation Algorithm With This Knowledge
We don’t feel comfortable sharing too many specifics, but here are a couple of key aspects that allow us to have an incredibly accurate estimation algorithm in our Amazon product research tool.
As you can see, the Amazon Best Sellers Rank can be extremely volatile hour to hour, day to day, and week to week. So in order to build a sales estimation tool with any degree of accuracy, we had to build a tool that was going to take into account the vast fluctuations in BSR that occur all month, and we’ve done just that. Using a snapshot of BSR and trying to estimate the number of sales over the last month is like trying to predict the plot of a movie based on a single still frame. It can be extremely inaccurate.
One feature of our algorithm I would like to highlight is that we continually update our BSR to sales mapping algorithm each night. This allows our calculation to remain consistent with the natural trends of the market. Due to seasonal trends across Amazon, as well as Amazon increasing in popularity, estimation tools that do not refresh their algorithm regularly will find their estimations quickly become stale and continue to decrease in accuracy as time goes on.
Latest posts by Casey Gauss (see all)
- Announcing Keyword Research, the Most Accurate Keyword Tool in the Galaxy - March 8, 2018
- Viral Launch Origins: A Story of Entrepreneurial Inspiration & Humble Beginnings - December 18, 2017
- The First of the FBA Amazon Seller Tools Available On the Alexa - July 26, 2017