Online Recommendation Systems
Apr 11th, 2007 by Rajan Desai
I have been registered user of Amazon.com for many years now. I still remember when Amazon started to recommend books to me upon log-in. I wasn’t very impressed with the recommendations made by Amazon’s initial implementation of the recommendation system. But that was my first experience with the on-line recommendation systems, which have become very common (popular) now-a-days. Over these years, Amazon must have collected lots of data about my behavior on their site - What am I searching for? Which items am I buying, rating or recommending?. Along with me they have such information about millions of other users as well. Amazon is using this metadata for good use in their recommendations. Over years their recommendations have improved considerably.
Most on-line recommendation systems, including Amazon.com, use some variation of an algorithm called Collaborative Filtering.
Collaborative filtering (CF) is the method of making automatic predictions (filtering) about the interests of a user by collecting taste information from many users (collaborating).
There are three common implementations of the recommendation algorithms: Traditional Collaborative Filtering, Cluster Model and Search Based Model. Amazon has implemented another variant called item-to-item collaborative filter. This algorithm focuses on finding similar items, not similar customers (as done in the traditional CF and Cluster model). For each of user’s purchased and rated items, the algorithm finds similar items to generate recommendations.
Recently I chanced upon a recommendation engine called Criteo. According to their site they are the leading experts in real-time personalized recommendation solution. I haven’t used their recommendation engine so I can’t comment on that claim. Criteo’s recommendation engine appears to be one or more implementations of collaborative filtering. I tried out their Movie Recommendation Demo Application to see how their engine works. The demo application looks interesting but depends on the user’s active ratings. Based on user’s ratings, the application tries to find twin users - probably other users who have rated similar movies before. Interestingly I found the following statement on their site:
To be efficient, content approaches need a complete preliminary configuration of products. Unfortunately, this is barely possible in an open environment. Moreover, results are in general very disappointing in terms of predictive accuracy. For these reasons, content approaches are losing ground on the Internet.
Even though I agree that the content based approach is more complicated to set up, I don’t think it produces disappointing recommendations. In my opinion the converse is probably true.
I am certainly interested in exploring open-source implementations of Collaborative Filtering libraries like Taste (Java -based), Cofi (Java -based) and Vogoo (PHP-based) .
Recently Google entered the recommendation space with their new initiative called Personalized Search Engine. This space is getting very interesting day-by-day.
But as I see it, the implementations of Personalization or Recommendation Systems as they exist today, are very fragmented. I have to be a registered user of Amazon.com, Google, Barnes and Noble and Criteo to get my personalized recommendations and each system interprets me differently. Does my taste in books or movies change when I visit Amazon.com instead of Barnes and Noble?
I would like to maintain same personality as I participate in the Ubiquitous Web. Won’t it be cool if the web can be treated as one big community where everybody knows who I am (or rather what my preferences are, without knowing me)? Won’t it be nice if the user uses Google to research a particular topic and then visits Amazon.com to gets related recommendations on books? Now, I am not expecting exact same recommendations from all the web sites that I visit (because that won’t be fun, right?), just hoping that I don’t have to define myself on each and every such site.


Great post ! We also think the recommendation space is pretty interesting these days
When we started Criteo, we thought we’d target first websites which don’t have any kind of recommendation system. To our surprise, we found out that our best early adopters were websites which had already implemented an in-house solution or used an existing one. The reason is that those websites had already seen the value of recommendations. We just had to prove them that we had better a predictive accuracy with more features and a fully scalable and robust solution.
If you’re interested in recommendation systems, I encourage you to create an account on criteo.com, so you can compare for yourself. It’s entirely free (for limited use).
We will also launch a whole new batch of recommendation products in a few weeks. We’re currently looking for alpha testers. If you’re interested, please contact me directly by e-mail.
Regarding your idea on sharing identities between websites, we’d love to do that ! But our customers usually don’t want to hear about it.
Thanks again,
Franck Le Ouay
Co-founder & Chief Scientist - CRITEO