Why Doesn’t Amazon’s Price Sort Work?
Pretend you’re in the market for a new iPod. You go to Amazon and type in a search. Then, you sort the results by price, low-to-high. For infrequent Amazon users, the results may be surprising [1].
The results are far from monotonic. This is true regardless of whether Amazon’s sort considers only new items or if it also evaluates the price of used items from the “Amazon Marketplace”. The consensus among Amazon pros is that the site uses the latter approach. If that’s the case, only 11 of the 24 iPods on the first page are more expensive than the iPod that immediately precedes it in this rank of “increasing” price.
Why would Amazon fail badly at something that seems so simple? The immediate cause is probably caching. Amazon likely has a task that periodically caches the low price for each item. The inventory of used items in the Amazon Marketplace changes constantly and the cache does not refresh every time an item is sold, so the data quickly becomes stale. Tellingly, if you search for items without many Marketplace listings, the price sort is much more reliable.
Smart folks at Amazon have no doubt tried to solve this [2]. Perhaps they can stop trying; why not just exclude Marketplace items from the price sort calculation altogether? That (probably) solves the monotonicity problem. More importantly, it gives users what they want when they sort by price sort. Doing a price sort is usually a quick way of saying “what is the cheapest type of iPod Apple is currently making?” Including used Marketplace items in the sort algorithm just confuses the answer to that question.
[1] The results in this graph will be stale the moment I hit publish. But I don’t think the overall lack of monotonicity will change much.
[2] …within the confines of running the biggest e-commerce site on Earth. A huge constraint.