So you’ve decided to build a recommendation system for your product. Cool — maybe you have an...
Collaborative Filtering vs Content-Based Filtering
Zooming in on two popular recommendation system techniques
Each item, for example a t-shirt in an online shop, a movie on a streaming platform or a news article in an online magazine has specific features. There is almost an endless list of different features, examples are the color of a shirt, the title of a movie, or the length of an article. Each of those feature helps to better classify such items and subsequently show them to the right person at the right moment.
Users, just as items, have features as well. These features can be explicitly provided, for example by choosing the category “thrillers” or filtering “only red shirts”. Other features are implicit and based on previous actions taken by the user. For example videos which were recently watched, items that were bought or content that was looked at longer than average. Based on each action taken by users, the system improves it’s understanding of the features each specific user is looking for.
Summing up, the ultimate goal is to show the users the items they are looking for by showing similar items, based on things they liked before, expressed by previous actions, or by explicit feedback. As seen, this filtering method generates results that are specific to just one user, while no information on other users is utilized. However, considering what other users are doing can help to understand what each specific user might be looking for. Let’s look at the following scenario: if every second customer who buys a fishing hat gets some racing sunglasses with it, this is most likely caused by some fresh TikTok or Instagram trends. As the mentioned items have no similar features, it becomes difficult if not impossible to successfully employ content-based filtering. As you don’t want to miss out on that potential, we are going to talk about another, even more important filtering method designed for such (and many other) scenarios.
This filtering technique uses collaborative interactions to generate recommendations. In other words, this technique generates recommendations based on which items were liked by similar users. Based on what users like, they can be compared to other users and their behavior. Users that are very similar in their behavior to other users can be summarized into groups.
Firstly, to get started with collaborative filtering, you need a database of many different users’ behaviors, and secondly, you need to identify patterns through which recommendations can be made based on feedback and user preferences. Subsequently, automated predictions can be made about which items a customer might like based on behavior histories of similar users. Let’s take a look at an example of how a typical workflow of collaborative filtering might look:
- User X visits an online shop for food supplements. By rating, buying, or by some other way of interacting with products, the user reveals their interests.
- By comparing other user’s histories, the system finds that both user Y and user Z have a similar interest pattern as user X.
- Both user Y and Z bought the same protein shake, a shake that has not yet been seen by user X. The system will automatically recommend the shake to user X, who then ideally also buys the shake.
To successfully deploy collaborative filtering there are however shortcomings and challenges you need to be aware of. The complexity of collaborative filtering systems requires data science skills to build them as well as a thorough understanding of big data. To handle the growing data set, the right infrastructure needs to be in place for efficient scalability. Lastly, falsely assumptions often negatively impact the recommendations made by the model.
At Flike we want to ensure that you can successfully use the perks of content-based and collaborative filtering while avoiding possible shortcomings. By using machine learning predictive analytics and real-time analytics, we can further improve on recommendations, to make sure your customers stumble on what they need to see. The integration of our personalized recommenders can be set up through our API within minutes, which saves you a lot of time, money, and energy.
Note: This blog post used simple use cases to increase the understandability of the described concepts. However, there is an infinite amount of use cases which can profit from advanced recommenders. Reach out to us to discuss your specific use case or if you have any questions at email@example.com.