In today's world, recommender systems have become essential. They have made our lives easier and more comfortable, from suggesting books, movies, and songs to recommending what to buy next. According to reports, Netflix states that algorithmically-generated recommendations influence 80% of its viewership.

But how do these systems work? What are the different types of recommender systems available? This article aims to introduce the various recommender systems and their strengths and weaknesses. What's important is that we discuss our personal experience of working with them.

What are recommender systems?

Recommender systems, also known as recommendation systems, are machine learning algorithms that use data to recommend items or content to users based on their preferences, past behavior, or their combination. These systems can recommend various items, such as movies, books, music, products, etc. 

Different approaches to building recommender systems include collaborative filtering, content-based filtering, demographic-based filtering, utility-based filtering, knowledge-based filtering, and hybrid approaches. The ultimate goal of recommender systems is to help users find items they will likely enjoy and increase user engagement with the application or platform.

Making recommendations involves two main stages:

  • Candidate generation — creating a subset of products the user might be interested in.
  • Scoring — reducing and sorting a candidate list.

Large enterprises such as Google, Instagram, Spotify, Amazon, Reddit, and Netflix frequently employ them to boost engagement with their platform and users. By collecting user data, Amazon utilizes recommendations to propose products to diverse users. For instance, Spotify suggests songs similar to the ones you've often played or liked to keep you using their service to stream music.


What types of recommender systems exist?

There are three primary sub-categories that most recommendation engines fall into, which depend on the method used to choose and suggest products or services that cater to the individual needs of each customer.

  • Collaborative filtering;
  • Content-based filtering;
  • Hybrid recommendation systems.
Types of Recommender Systems

Let's look at each of them separately.

Collaborative filtering

In this scenario, the emphasis is placed on customers and their experiences with the online platform and their opinions on products instead of the features of the items themselves. As a result, recommendation systems falling under this category leverage machine learning algorithms to gather feedback from users and comprehend what they prefer. This enables the system to suggest products other users with similar preferences purchase.

Collaborative Filtering
Broader exposure to many different products. The cold-start problem is where new users or items have no or scant ratings or interactions, which the system may find challenging to provide suitable recommendations for.
No need for domain knowledge or understanding of item content. Data Sparsity is where data is not enough to model the user's preferences accurately, which may result in poor recommendations.
Captures the change in user's preferences over time. Scalability issue, where growing the number of users and items exponentially increases the size of the user-item matrix.
Enhances user experience by recommending popular items among similar users. The problem with privacy since users have to disclose their rating or interaction data to the system.
Easy creation and use of the model. Limited diversity in recommendations since it tends to recommend popular items with high ratings.

Content-based filtering

Content-based filtering in recommender systems recommends items to users based on their previous actions or preferences. It analyzes item metadata to identify items with similar characteristics to those that the user has interacted with before. This approach examines the characteristics of the items users have expressed an interest in to recommend similar items, unlike collaborative filtering, which finds similarities among users. Content-based filtering is widely used in e-commerce, news feeds, music, and movie recommendations.

Content-Based Filtering
Content-based filtering does not require data about other users' preferences, making it easier to implement and potentially more scalable. Lack of novelty and diversity in recommendations due to the emphasis on characteristics similar to items the user has already interacted with.
It can make recommendations for new items immediately without waiting for users to provide feedback or data. The requirement of hand-engineered item features or domain knowledge for the feature selection.
It can consider individual users' preferences and the specific features they are looking for in a product, leading to more relevant recommendations. Difficulty in recommending new or unpopular items that have not been rated by many users yet.
Due to transparency, recommendations can be easier to understand and explain since they are based on specific features and attributes of products rather than more complex relationships between users and items. The potential for incorrect or insufficient metadata or characteristics could result in inaccurate recommendations.

Hybrid systems

Hybrid recommendation systems combine two or more recommendation strategies in different ways to leverage their complementary strengths.

Hybrid Systems
Can lead to improved recommendation accuracy and better coverage of diverse products. More advanced computing power and intricate architectures are required to combine the mechanisms of both approaches into a unified system.
Can overcome the limitations of individual recommendation strategies and provide more personalized recommendations.
Can significantly enhance the effectiveness and efficiency of recommendation engines in a variety of applications.

How powerful are the recommendations?

Recommender systems can be improved by understanding and analyzing relationships between:

  • User and product. When the user has a preference for a specific product. For example, one Netflix user may prefer thrillers, whereas another likes comedies.
  • Product and product. Similar items are known as product and product. Similar music or movies, for example.
  • User and user. The same or different tastes of users concerning the same item. For example, teenagers may differ from adults in terms of the content they consume.

Designing a recommender system with user-item relationships in mind can greatly improve the user experience and increase engagement with the product. An excellent example is YouTube, where personalized recommendations keep users hooked for extended periods. Imagine browsing YouTube without recommendations tailored to your interests; the experience wouldn't be as engaging or enjoyable.

What is the role of machine learning?

While it's fair to say that most people have a basic understanding of recommender systems, many may not be aware of the role that machine learning plays in their advanced functionality. Machine learning (ML), a sub-branch of artificial intelligence (AI), is crucial to creating algorithms that can handle enormous datasets, identify patterns and correlations among multiple variables, and build accurate predictive models. 

The key differentiator of ML is its ability to learn and improve on results over time based on experience processing vast amounts of data. This can result in models that accurately predict customers' wants and future developments. For example, an ML-powered solution might identify a connection between customer age and preference for one brand. In this way, ML-based recommendations can provide valuable insight into customer behavior and preferences.

The name "learning" in ML is significant, as it enables ML systems and reinforcement learning applications to improve their capabilities through experience continually. As these algorithms process more data, they can identify more relationships among data points and refine their models, improving over time.


How does it work?

Let's see an example to clarify how ML-based recommender systems perform their duties. You can boast solid expertise in the latest movies and TV serials. Furthermore, your knowledge is already framed as you know what you usually watch perfectly. In addition to an extensive range of personal factors, including but not limited to cultural interests, social environment, and profession, numerous other aspects could have influenced your tastes.

But not all platforms have this privilege because when you see it for the first time as you open a new streaming service. Hence, to suggest movies that align with your preferences, the service providers will have to engage with you, gather relevant information, comprehend the kind of customer you are, and make recommendations accordingly. In marketing terms, they have to segment you, namely categorize you into a certain customer archetype or buyer persona according to your characteristics (purchase patterns, interests, gender, etc.), and target you with a suitable movie suggestion.

Market segmentation variables

In digital marketplaces, recommendation systems perform the same functions as traditional sales staff, separating and proposing items to potential buyers. However, while human sellers use their experience and instinct to assess a limited set of factors during a brief interaction with customers, recommendation engines employ ML techniques to assess vast amounts of customer data and a wider array of criteria to achieve classification and targeting. These criteria may include browsing trends, purchasing history, data usage, personal data from user profiles, item evaluations, and device preferences.

Apply this to all users on a particular platform. You can see how a recommendation system can gain a comprehensive understanding of individual buyers, the overall audience, and even the underlying sales trends that would be difficult for a human observer to discern. Moreover, ML algorithms can take into consideration diverse contextual factors that are not always directly linked to customers. For instance, an e-commerce website that utilizes an ML-powered recommendation engine will begin recommending Valentine's Day-related products as the holiday approaches. Similarly, a streaming service could adjust its recommendations for weekend family-friendly movies and documentaries.

Highly-rated recommendation systems on the Web

Recommendation systems have become essential for major digital service providers and e-commerce companies to offer an individualized user experience and increase their sales performance and advertising revenues.

  • Amazon. This service uses an algorithm to recommend products and search results to users based on strategies like "recommended for you," "bought together," and "recently viewed." Amazon also sends off-site recommendations via email. The recommender engine was implemented in 2011-2012 and contributed to a 29% sales increase in the second fiscal quarter of 2012.
  • Facebook. This platform employs a deep learning and neural network-based recommendation engine named DLRM (Deep-learning Recommendation Model) to provide suggestions, sort the News Feed, and recommend pages, groups, and products on its Marketplace.
  • LinkedIn. It has implemented a recommendation system to provide suggestions for job postings, connections, and courses. This system includes LinkedIn Recruiter, a robust HR tool that can gather a list of eligible candidates for open positions and rank them based on their skills, experience, and response probability.
  • Netflix. This streaming service utilizes a recommendation system to suggest movies to its users. The system considers various useful features such as browsing history and ratings, the popularity and type of movies, seasonal trends, and the similarity between previously viewed content and other available options. The results are then displayed on the home page of Netflix, segregated into horizontal rows of movies.
  • Spotify. It provides users with 30 new song recommendations every Monday, and these recommendations are mainly determined by an AI system called 'Bandits for Recommendations as Treatments' (BaRT for short)
  • YouTube. It has introduced a recommendation system that prioritizes specific videos, suggests relevant news, and encourages channel subscriptions. The system utilizes an engine that considers numerous parameters, known as "signals," to identify user preferences more accurately. Such signals include clicks, likes, dislikes, watch time, and shares.

How do you write a recommendation system?

To write a recommendation system, you must follow these general steps:

  • Define the purpose of your recommendation system and what type of data you will be working with (e.g., movies, products, books, etc.).
  • Gather and preprocess your data. This may involve cleaning your data, removing duplicates, and structuring it in a format your model can use.
  • Choose a recommendation algorithm. This will depend on the data type you are working with and the problem you are trying to solve. Collaborative filtering, content-based filtering, and hybrid approaches are common recommendation algorithms.
  • Train and test your model. Split your data into training and testing sets, and use your training set to train your model. Test your model by measuring its accuracy on the testing set.
  • Evaluate and optimize your model. Adjust the parameters and settings of your model to improve its accuracy. You may also consider adding additional features or data sources to improve your model.
  • Deploy your model. Once satisfied with your model, you can deploy it to your application or platform.

Overall, building a recommendation system involves a combination of data processing, machine learning, and software engineering skills. You can find resources online and try to do it by yourself, or you can contact us, and we will develop a suitable one for your system.

Mad Devs experience in recommender systems development

First, let's address whether recommender systems are necessary. Yes, they are essential, and their potential benefits are substantial. It is important to implement them as soon as possible if you want to use them for a store, as they can be used to predict future sales, purchases, logistics, and more, so this can ultimately lead to increased profits in the future.

Let's take an example of an e-commerce project that we worked on. Store customers make purchases required to become members of the bonus program. However, the store's profits began to decline over time. To address this issue, the team decided to find ways to increase profits from loyalty points as quickly as possible. Initially, various options, such as reducing operating costs or logic costs were considered. Still, the most effective solution was found to be increasing the average purchase amount by promoting promotions and offering discount coupons to users.

We were tasked with processing significant data and creating profiles of buyers and their anticipated shopping carts. Why? This will enable us to establish groups and subgroups of buyers, streamlining the algorithm's work.

Initially, we migrated all the data from 1C to the data warehouse to easily handle vast data. Later, we segregated the groups:

  • Which stores do you visit the most?
  • Gender and age
  • Frequent items in the cart
  • How often do purchases occur
  • What time and days are shopping
  • Average ticket price, etc.

This has helped us realize that clients can alter their preferences based on the season, financial situation, and marital status. For instance, during spring and summer, retirees might opt to live in the countryside and purchase goods with a long shelf life, whereas during autumn and winter, their consumer behavior may shift. Additionally, we have observed that alcohol and snacks are frequently purchased on Fridays, whereas diapers are often purchased in multi-packs.

By comprehending consumer preferences, customer personas, and buying trends, we can create strategies to increase the average purchase value, develop impact matrices, and implement promotions to enhance the store's profitability.

It took us eight months to develop the recommender system, and then we conducted A/B tests after implementing it. The first results became visible after four months, so the average check increased by 15.5% and profitability by 27-29%. In some areas with higher income, profits increased by 38-40%.

A recommendation system is a tool that actively finds information that may interest a user from a large amount of information. What can Mad Devs do for you? Book a call, and we will consider your problem individually and find a beneficial solution.

Problems we faced

While working, we had to deal with a large amount of data, and there were several problems, such as:

  • Due to the transfer from one system to another, there were data losses that had to be restored manually.
  • We faced difficulty in grouping since we only had access to basic information about the buyers. Therefore, we had to gather the rest of the information by analyzing the purchases, frequency of orders, and other relevant factors.
  • As only individuals with cards could make purchases at the store, we began to observe irregularities in the contents of shopping carts over time. We discovered that one explanation for this was passing cards to other customers or occasions when a large variety of items were being purchased for a group of friends. With technology development, owners found a solution to transfer plastic cards to the application.
  • Once we had segmented the customers into different groups, we realized this was insufficient, so we created subgroups and taught the system to recognize them. This ensures that minor changes in a customer's basket wouldn't cause them to be transferred to a different group and be presented with irrelevant promotions and products.

We can conclude that the problems we faced required time but ultimately proved solvable.

Advice for those who want to implement recommender systems

Drawing from our experience and the challenges that arose during work on this project, we have some recommendations for individuals interested in developing recommender systems:

  • At the beginning stage, it is important to focus on establishing a strong infrastructure for data collection. This will help prevent various issues related to data management and transfer.
  • Begin with the basics and plan by devising a list of hypotheses you will develop during the work.
  • Keep in mind that you need to start with good data besides working on the ML part of the project. You must collaborate closely with business analysts and the marketing department. So you will get high-quality data that accurately represents your customers' preferences. This way, you can efficiently create groups, establish criteria and tags for merging, and develop an action plan.
  • Do not forget to incorporate feedback. Finally, be open to customer feedback and incorporate it into your system. This can help improve the recommendations' accuracy and ultimately drive customer satisfaction and loyalty.

We hope these tips help you as you work to implement your recommender system.


Adopting machine learning-based recommendation systems across different industries is being accelerated by the range of capabilities they offer. In their 2021 Recommendation Engine Market report, Mordor Intelligence predicts that the global recommendation system market will see significant growth, from $2.12 billion in 2020 to $15.13 billion by 2026, due to various benefits and opportunities.

global recommendation engine market forecast

According to the 2021-2028 Recommendation Engine Market Size, Share & Trends Analysis Report, Grand View Report on the market size, share, and trends analysis of recommendation engines, the retail industry had the biggest revenue share in 2020, indicating positive predictions for the market. The report also found that collaborative filtering-based engines held the leading market share by type. At the same time, the hybrid system segment is expected to have the highest compound annual growth rate.

Global Content recommendation engine market 2021-2028

The revenue forecast for the recommendation engine market in 2028 varies across different reports and segments. According to a report by Grand View Research, the global recommendation engine market size is projected to reach USD 12.03 billion by 2028, growing at a compound annual growth rate (CAGR) of 29.6% from 2021 to 2028. 

Another report by GlobeNewswire suggests that the Europe recommendation engine market is estimated to increase from USD million in 2022 to USD million by 2028, growing at a CAGR of 37%. However, it's worth noting that revenue forecasts are subject to change due to various factors and uncertainties in the market.


Integrating recommendation systems with AI and ML has allowed businesses to fully personalize customer experiences to balance the desire for customized shopping and the need for digital service providers and retailers to enhance sales performance in a highly competitive market. Many ML engineers and data scientists envision the future of recommendation systems to be in AI and intensive learning.

Since their introduction, these systems have developed significantly and have great potential for various applications. The capacity to develop an intelligent system that can learn and suggest items with superior accuracy compared to a human presents immense customer engagement and conversion opportunities. Research in deep learning is focused on enhancing recommender systems, and further investigation in this field is anticipated.


Personalization and recommender systems – what is the difference?

What is a machine learning-based recommendation system?