Overview of modern recommendation systems

It has turned out that the sector of food product sales for individual customers is—and will be—involved in competitive battles using recommendation tools. This battle is becoming increasingly dynamic, as new tools and recommendation systems appear. It is a kind of arms race taking place in the online sales market. Sellers who do not participate in it lose the market and ultimately will lose the possibility to conduct sales activity at all. Speed and efficiency in persuading customers are what matter. Thousands of scientists around the world are working on creating increasingly perfect tools.

Just 10 years ago, it was enough to tell the customer, “others are buying this too,” and they would gladly purchase additional products and services. Today, this rivalry takes on a different dimension—more sophisticated, more complex.

Overview of modern recommendation systems

In this study, I present the most important directions in the development of recommendation systems based on the latest publications from around the world. In most of the tools described here, I have indicated existing libraries and cloud modules that can be downloaded directly and used in your own recommendation applications. The emergence of these tools has made building your own recommendation system simpler and at the same time more efficient. Unfortunately, in the case of cloud-based solutions, there is also the necessity to pay for usage.


Collaborative Filtering (Matrix Factorization)

Modern recommendation systems have moved away from simple customer grouping (e.g., k-means clustering) toward collaborative filtering based on user–product matrices. Matrix Factorization methods have become the standard—they learn hidden factors describing users and products, allowing prediction of preferences based on interaction history rather than static clusters.

Matrix Factorization can take into account many features simultaneously—this is the essence of the next development step. Simple k-means clustering considered only two features (or three using a “kernel trick”), meaning you could create clusters based, for example, on shopping frequency or the industry in which the customer operated.

The limitation of a small number of features for clustering was addressed using Principal Component Analysis (PCA). However, the new collaborative filtering method is faster, more flexible, and works better in real life. Examples include Factorization Machines (FM) and their extensions (e.g., DeepFM, Wide & Deep), which capture interactions between many variables (user attributes, item attributes, context) in large datasets.

Thanks to this, recommendations can be more personalized—not only “customers similar to you bought X,” but also taking into account, for example, book genre, time of day for music playback, thematic preferences, etc.

Example Python libraries:

  • scikit-surprise (SVD/SVD++, kNN implementations)

  • lightfm (hybrid feature modeling)

  • xLearn (efficient FM/FFM)

Cloud services:

  • Amazon Personalize (“User-Personalization” model based on factorization and sequences)

  • Google Cloud Recommendations AI (matching based on models trained on catalog data and behaviors, with optimization for engagement or trial→subscription conversion)

  • Traditional collaborative filtering modules within Big Data platforms (e.g., ALS in Spark MLlib)


Deep Learning for Recommendations

Deep learning has revolutionized recommendation systems in recent years. Even simple matrix factorization can be framed as a neural network, and Neural Collaborative Filtering (NCF) adds nonlinear layers to better capture complex relationships between users and items.

Deep learning models combine different data types (e.g., text features, images) and learn embeddings from multiple sources. In subscription media, modeling sequential user behavior and learning short- vs. long-term preferences is crucial.

Modern systems track the sequence of listened tracks or read e-books to predict future interests. Sequential recommender systems (e.g., RNN, Transformers) can analyze event sequences over time—from simple RNN/LSTM/GRU to attention-based architectures like SASRec or BERT4Rec, which use self-attention to model long behavior sequences.

Examples:

  • BERT4Rec applied the BERT language model to predict the next playlist item, improving recommendation accuracy.

  • Models like GRU4Rec, Transformer-XL are used in music streaming to recommend “what to listen to next.”

Example Python libraries:

  • TensorFlow Recommenders (for building wide&deep, two-tower networks, etc.)

  • PyTorch implementations (NCF, Variational Autoencoders like Mult-VAE for recommendations)

  • RecBole framework (dozens of advanced models in one library)

  • NVIDIA Merlin (e.g., Transformers4Rec module for sequential recommendations)

Cloud services:

  • Amazon Personalize (AWS) with hierarchical RNNs and real-time sequence modeling

  • Google Recommendations AI (GCP) with state-of-the-art ML models on click/view data

  • Azure AI Personalized Ranker and Databricks for custom deep learning on large datasets


Cloud/AutoML Ready-to-Use Recommendation Services

  • AWS Amazon Personalize – Data in, model trained automatically, recommendations via API. Offers “recipes” like User-Personalization, Similar Items, Ranking. Uses RNN, factorization machines, etc. under the hood.

  • Google Cloud Recommendations AI (Vertex AI) – Fully managed, real-time recommendations, configurable for CTR maximization, time-in-app, revenue, etc.

  • Microsoft Azure Personalizer – Reinforcement learning-based, online learning of the best choice for a given user. Learns from all users’ behaviors and contexts.

Other tools include Microsoft Recommenders (OSS), Google BigQuery ML for matrix factorization with SQL, NVIDIA Merlin APIs, Recombee, Synerise, etc.


Hybrid and Knowledge-Centric Approaches (Knowledge Graphs, Generative Models)

Hybrid systems combine collaborative filtering with content-based methods (considering item features). Knowledge graphs capture relationships between entities (e.g., author–book, artist–album), used for feature augmentation or graph-based methods like RippleNet.

Graph Neural Networks (GNNs) such as PinSage, GraphSAGE, KGAT improve diversity and explainability of recommendations.

Python libraries: PyTorch Geometric, DGL, graph databases like Neo4j, Amazon Neptune.


Large Language Models (LLMs)

A new trend is using LLMs (e.g., GPT-4, PaLM) and Retrieval-Augmented Generation (RAG) for personalization. LLMs can generate recommendations or descriptions based on user data and product databases. RAG combines retrieval from an external knowledge base with natural language generation.

This can enable dialog-based recommendations where the model searches for relevant items and generates personalized suggestions with explanations—addressing cold-start issues and enabling personalized content creation.

Example tools: HuggingFace Transformers, LangChain, LlamaIndex.
Cloud services: Azure Cognitive Search + OpenAI Service, AWS Kendra + Amazon Bedrock.


W-MOSZCZYNSKI ps 8-25

Summary

Building an effective recommendation system may require knowledge of many techniques—or just choosing one and specializing in it. Cloud modules and specialized APIs make it easier than ever. Not implementing a recommendation system means giving up significant revenue and, ultimately, the ability to sell online. The question is not whether to have a recommendation system, but which one to choose.

Wojciech Moszczyński