Glossary

Recommendation System

A Recommendation System predicts which items (products, movies, articles, songs, ads) a user is likely to engage with and ranks them accordingly. Recommendation systems mediate the choices of billions of users and drive major fractions of revenue for Amazon, Netflix, YouTube, Spotify, and nearly every major consumer internet service. Their commercial importance is rivalled only by their social significance, as they increasingly shape what billions of people read, watch, buy, and believe.

Classical approaches include collaborative filtering, which exploits patterns in user-item interactions (users who liked the same things tend to like similar other things), and content-based filtering, which recommends items similar to those a user has previously enjoyed, based on item features. Matrix factorisation decomposes the sparse user-item interaction matrix into low-rank user and item factors; it was the backbone of commercial recommendation for over a decade. Two-tower models encode users and items into a shared embedding space, enabling efficient candidate retrieval via approximate nearest-neighbour search.

Modern systems use deep learning throughout: Wide & Deep, DeepFM, and various transformer-based architectures (SASRec, BERT4Rec) capture complex feature interactions and sequential patterns. A production recommender typically has multiple stages: candidate generation (fast retrieval from a massive catalogue), ranking (scoring candidates with a richer model), and re-ranking (applying business rules, diversity, and freshness constraints). Evaluation combines offline metrics (nDCG, MAP) with online A/B testing of click-through, conversion, and retention. Beyond accuracy, recommendation systems must navigate concerns about filter bubbles, manipulation, and fairness, making them a frontline for responsible AI deployment.

Interactive

Two-tower recommendation: users and items in shared embedding space. User tower and item tower learn embeddings; relevance is the dot product.

Related terms: Embedding

Discussed in:

This site is currently in Beta. Please get in touch via chrispaton.org with any suggestions, questions or comments.