Over the past decade, the concept of user experience has firmly established itself as a necessity for any new application. This idea has taken root not only due to the goal of better meeting user demand but also because a wide range of technology has gradually made it possible. Imagining a new product today without personalized content seems almost reckless, given how digital giants have accustomed us to browsing content on the internet that resonates with us.
From your browsing on Amazon, to your shares on Instagram, and your Google searches (not to mention your Netflix evenings), your entire online experience is personalized. In addition to enabling users to more easily find satisfaction, these companies develop a deep understanding of their users' expectations and can go beyond mere product recommendations, photos, or one-night movies.
What exactly lies behind this "personalization"? What would it bring to your product? How do you go about implementing it?
Before showing you how to integrate content personalization into your application, let's first review some fundamentals of the underlying theory of this concept.
The initial idea involves a user, a set of content, and the interactions of the user with that content. If you enjoy particular content, you logically expect to see more related content.
There isn't just one type of personalization, as the sets being studied (users, content, interactions) are rich and distinct enough to infer several ways to personalize an experience. Here, we'll try to understand four different types: User-Based Collaborative Filtering, Content-Based Collaborative Filtering, Content-Based Recommendation, and Domain-Based Recommendation.
The goal is to group users by similarity and then recommend based on these groups. All the information lies at the interaction level: two users may be diametrically different but have overlapping tastes.
Let's take the case of two people on a book platform: each of them will have read a whole set of books. It's the books they have in common in their history that bring them together. Logically, those that one has read but the other hasn't will be recommended to them, and vice versa. Even if they don't entirely share the same history, the characteristics of the books with which they have interacted allow the creation of a form of group.
This is precisely Netflix's policy through its Taste Communities. By interacting with Netflix content, the personalization engine tries to understand you and place you in groups of users who have similar interactions with the platform.
If we were to make an analogy with the Amazon platform, it would be similar to the "customers who bought this item also bought" section. For example, on the page of a tennis racket:
This filtering is very similar to the previous one, as it also relies on comparing user interactions with content. However, unlike the previous method, it takes the perspective of the content this time.
Let's consider users who have read the same set of books. These books are similar: they have been read by users with similar interaction styles. In this way, it is possible to assume that if one is interested in one of these books, they will also be interested in others that have been sources of interactions similar to theirs.
As a result, if a new user reads one of the books read by this group of users, even if they are not part of the same Taste Community at all, we will recommend the rest of the books in that set to them. Similarly, the content of the books doesn't matter much. It's likely that these books naturally resemble each other, but the personalization engine's assessment of their similarities is based solely on the interactions they have received.
To draw another parallel with the Amazon platform, this type of recommendation corresponds to the "frequently bought together" section. If we take a smartphone as an example this time, we notice that often purchased with it are the case and screen protector.
Nevertheless, it is also about utilizing the intrinsic characteristics of our content (which would be a shame not to use!).
Naturally, if a user reads many books from a category, we will recommend other books from that same category to them (independently, initially, from other users).
To conclude our comparisons with Amazon, this recommendation is found in the "products related to this item" section. If we finally take the example of "The Lord of the Rings" trilogy book:
Note: Among other books and stories, one will notice a mug in the recommendations! Even though it's not a book, this mug has a lot of connection to the literary work as it is based on its content (The Lord of the Rings).
This final "type" of personalization allows for more control over the system by determining yourself which content should be recommended. It is in this type of recommendation that we can find rankings like "popular," "trending," "hot," etc., which are determined by simple business rules.
It is also possible to see promotional and seasonal content here. Unlike the previous more "natural" and autonomous recommendations, this style requires delving into user metrics and understanding the interest in presenting a certain type of content to a certain type of users at a certain moment in time.
To come back one last time to Amazon, you will notice the small indicator "Sponsored" above the section corresponding to content-based recommendation. Here you can see an example of business-based recommendation: Amazon offers services (paid) to highlight your products when you are a seller.
It is obviously possible to mix these personalization systems to create a hybrid system capable of adapting its recommendation mode based on what will be most beneficial for the user. The goal is to accompany the user as much as possible through relevant recommendations, both for the interest they will show and for the curiosity they will demonstrate in visiting content they do not initially know.
In all these types of personalization, Artificial Intelligence takes on the role of decision-maker, making the choice at the end of the process of what will be most relevant to offer to the user, and potentially in what order. After generating possibilities, it is this Intelligence that (among other things) selects what will be most interesting.
Content personalization requires a lot, a tremendous amount of information. You need to be able to know absolutely everything the user does on your platform. Apart from the ethical issues this could cause you, you need to have a tracking system. For this, either you already have your own system, or you use the offerings of Customer Data providers such as Mixpanel, Amplitude, or Airship. In addition to tracking, these providers give you a structured and synthetic view of your users' interactions with your platform, making you gain understanding and clarity about the outcomes of the latter.
A first possibility is to use Cloud services that will allow you to quickly and easily obtain quality recommendations. Whether it's AWS Personalize, GCP Recommendations AI, or Amplitude Recommend, all provide pre-trained models and are easy to set up.
The advantage of these solutions is that from the launch of your product, you will have access to both qualitative and easy-to-integrate content recommendation. If you are launching a product based on content recommendation, these tools are highly recommended. Their pricing grid is to be studied but remains reasonable for the quality of service you get in return (GCP Recommendations AI: 30 cents for 1000 recommendation requests).
If you are interested, we encourage you to check out the series of technical articles written by the team at betomorrow.ai. We detail precisely how, thanks to Mixpanel and AWS Personalize, it is easily possible to set up a recommendation system from user tracking to content recommendation. Click here: A recommendation playthrough: tracking users with Mixpanel and exporting data to AWS S3.
Not all personalization systems necessarily work in collaborative filtering or "content recommendation", and some need to be entirely conceived and designed for a vision. Let's imagine, for example, that you want to recommend the right exercises to students that will finally allow them to finish with integral calculus! This is no longer a simple problem of users, content, and interactions, but a much richer form of data that requires a separate study and design...
There are myriad tools for this purpose, such as ElasticSearch, Apache Spark, Scikit-Learn, or many others that allow you to create your own solution, designed and parameterized for your needs. There is no universal right answer for personalization anyway. It all depends on your budget, the priority of the feature, and your development team. Every aspect counts: from data and user study to technical realization, through the constitution of your Dataset via user Tracking, everything is crucial if you want to get the most qualitative response possible.
Anyway, making a decision on a critical aspect of your product is not an easy task, especially when it requires both theoretical and technical knowledge of what it implies. The risk is even greater when you invest in a specific direction with a self-managed team.
You are not alone. In such situations, the best solution could just as well be to call on actors whose business revolves around Artificial Intelligence and Data. These actors can guide you to clarify your needs and accompany you in achieving your project successfully. Faced with a plurality of possible solutions, the expert eye of people whose business is at the heart of it will allow you to approach the future and the success of your product with confidence.
At BeTomorrow, we are convinced of the impact of content personalization, both from a product and technical point of view. Because we are aware of what these visions imply, we have made pedagogy and support our first duties. Our goal is not to sell a functionality, but to make you learn all its facets, and we work on each case to make everyone benefit from its maximum potential. It is in this spirit of conception and realization, "hand in hand", that we encourage and support the incorporation of Content Personalization into existing projects.
Personalization is a branch of Artificial Intelligence that has the potential to bring a lot of value to your product. We have studied its fundamental principles here, but have not exposed all its possible applications (prioritization of search results, coupling with adaptive learning, decision support, etc.). In addition to being scalable to your needs thanks to the diversity of possible solutions, it is generally a strategic investment to add to your services a value with high potential.
Do you want to know more? We will be happy to discuss it with you at BeTomorrow. Contact us!
Thank you for reading this article.