Non-Personalized Recommender Systems in e-commerce websites

Nowadays, when visting any websites, it is easy for us to get a recommendation such as friends in facebook, news ranking in reddit or products in amazon. All these have the same purpose : help users find the information they maybe interested in more easily. It is an example from Amazon. In this page, it shows a list of items which customers who also co-viewed with watching item.

Recommendation in amazon

Recommendation systems have two types: non-personlized recommender and personlized recommender. With non-personlized recommender different users will see a same recommendation list, but with personlized, each user have their own list which is different from other users' lists.
In amazon or many e-commerce websites a recommendation list in non-personlized often deal with some problems: "customers who viewed this item also viewed", "customers who bought this item also bought". There are some solutions for this two similar questions: use association rule or use a easy fomular to calculate the relevant of product x with other products and then pick top N products have highest score.

This is a basic fomula:
This fomula looks reasonable but for some special cases it becomes worse. Imaging that, in a store, there is a product (for example: Y) that is so popular. It is easy that many customer who view X continue view Y because of the popularity of Y instead of the relevant of X and Y. That lead numerator become close to denominator and the fomula are wrong. It is called banana trap.
There are two fomula that fix this problem:


Both fomula will lower the score which Y is too popular and the result is much more better.