How Sales Rank is Calculated

Written By: Timothy Fish Published: 3/30/2007

Anyone who sells anything on is interested in the sales rank that is listed with each item. Some people, such as Morris Rosenthal, have gone to great lengths to determine what sales rank translates into as far as actual sales. Other people have determined that only the top so many books have their sales rank recalculated on an hourly basis. In reading the various articles on the subject, it seems clear to me that there are a lot of people out there that really have no idea what sales rank is telling them. This is in spite of the fact that makes it fairly clear.

Sales rank serves to rank everything on has so many items available and so many items that come and go that it would be useless to just list everything in terms of total sales or even total sales over the last year. They might list things in terms of sale for one day, but they want to encourage people to find things that arenít already popular and they want to generate interest in the site by having the ranking change frequently. It would not do to base ranking off of sales for short periods of time like one hour or one day because there are some items that donít sell that quickly. Some books might sell at a rate of at least one an hour, but there would be thousands of books that would have no ranking at all. This requires a scheme that updates the rankings frequently, but does not cause items that donít sell to lose their ranking. does not give specific details of how they do this, but the general idea is that they base rankings on the sales within a sliding twenty-four hour period. The rankings are published on an hourly basis, but the actual rankings are updated with each sale. When a book is sold the ranking is updated, but no one knows what it is until the hourly update. works with millions of items in many different categories. To simplify things, letís consider only four books in a category that we will call Our Four Books. The titles of these books are A, B, C and D.

When the books are first added to the system they have no ranking. There is no way to rank books that have not yet sold. After a while they will begin to sell. Letís suppose that the books sold as is shown below:

  • Day 1 Time 0100 Book C
  • Day 1 Time 0205 Book D
  • Day 1 Time 0315 Book A
  • Day 1 Time 0430 Book C
  • Day 1 Time 0515 Book D
  • Day 1 Time 0600 Book D
  • Day 1 Time 0625 Book B
  • Day 1 Time 0704 Book A
  • Day 1 Time 0815 Book A
  • Day 1 Time 1009 Book B

At 0100 book C is the first book to be ranked. It is a simple thing to determine that it is ranked number one because it has sold more book copies than any other. At 0205 book D is sold. Now we have two books that have sold an equal number of copies within a twenty-four hour period. They canít both be ranked number one. Since D was sold the most recently, we give it a rank of 1 and give C a rank of 2. At 0315 we do the same with A making D rank 2 and C rank 3. When another copy of C is sold at 0430 we have two copies of C that have sold within a twenty-four hour period. This moves it to position one in our category and everything else moves down so we have C=1, A=2 and D=3. At 0515 D displaces C and gives us D=1, C=2, A=3. The book sold at 0600 does nothing to change the rank because D is already in position one, but within that same hour there is another sale so the 0700 update will reflect new rankings. B has not sold any copies and we must determine where it goes. This is why it is important to base the ranking on a moving twenty-four hour period instead of strictly on an hourly period. If it was based on an hour period then the one sale would place it in position one, but D has been selling a lot more copies to this point. Instead of displacing D we look to see which books have sold less than or equal to the number of books that B has sold in the twenty-four hour period. A has sold one copy and D and C have sold more. This means that we displace A but not the others. This gives us D=1, C=2, B=3, A=4. At 0704 A sells another copy, but it has only sold as many copies as C in the twenty-four hour period, so we have D=1, A=2, C=3, B=4. At 0815 another copy of A sells. Now A has sold as many copies as D within twenty-four hours so we have A=1, D=2, C=3, B=4. You will notice at this point that it looks like C and B have not been updated. The reason for this is because the only movement is occurring at a level that has no impact on them. Some books could go for days before a book that impacts its rank is sold. At 1009, B is sold so the ranks become A=1, D=2, B=3, C=4.

Now suppose that these books went for a couple of days before any more books were sold. They would retain their rank all that time, but when one of them was sold it would automatically jump to the front of the list (even if it was book C) because it had sold more within twenty-four hours than any of the rest.

The best way to understand sales rank is as a method of estimating the popularity of unpopular items. No one is surprised if the books listed on the New York Times bestseller list appear with low sales rank numbers in an order similar to their listing in the Times. That is to be expected, but makes its money by selling books that no one else sells. The reason no one else sells them is because they canít sell enough of them to pay for stocking the book. Some of the books that sells will not sell for several months. Some may not sell for years. It would be impossible to rank every book if they were ranked by how many were sold within a certain period. Instead a dynamic system is used that can be updated as books are sold.

As you can see, the process isn't all that complicated.† It doesn't translate well into the number of books sold because there are some periods of time when people are buying many different kinds of books.† There are periods of time when people are buying many of particular books.† There are period of time when people are buying popular books and periods when people are buying not so popular books.† The time at which a book is sold can have an impact on what the rank means in terms of the total number of books sold.†

Timothy Fish is the author of Church Website Design: A Step by Step Approach.