A topic in the Open Knowledge Graph — a free, open map of 15,290 topics and the order to learn them in.

Recommendation Systems

Graduate Depth 83 in the knowledge graph ☐ I know this ☆ Set as goal
2topics build on this
399prerequisites beneath it
See this on the map →
Supervised Learning Fundamentals→→Collaborative FilteringContent-Based Filtering
recommendation personalization ranking

Core Idea

Recommendation systems predict user preferences to suggest relevant items. Core challenges include data sparsity (few user-item interactions), cold-start (new users/items with no history), and scalability. Systems range from popularity-based baselines to collaborative filtering, content-based approaches, and neural architectures.

Explainer

A recommendation system answers a deceptively simple question: given what we know about a user and a catalog of items, which items would this user most likely enjoy? You encounter these systems constantly — Netflix suggesting movies, Spotify building playlists, Amazon proposing products. The core challenge is that the interaction matrix between users and items is extraordinarily sparse: a typical user has rated or clicked on a tiny fraction of available items, so the system must generalize from very limited observations.

The simplest approach is content-based filtering, which draws on your supervised learning background directly. Each item has features (a movie's genre, director, actors; a product's category, price, description), and the system learns a model of each user's preferences over those features. If you have watched and enjoyed several sci-fi thrillers, the system predicts you will like other sci-fi thrillers. This is essentially a per-user classification or regression problem. The strength is that it works for new items immediately — as long as the item has features, the model can score it. The weakness is that it can only recommend items similar to what the user has already consumed, creating a filter bubble with no capacity for serendipity.

Collaborative filtering takes a fundamentally different approach: it ignores item features entirely and relies on the patterns in user-item interactions. The insight is that users who agreed in the past tend to agree in the future. If users A and B both loved movies X, Y, and Z, and user A also loved movie W, the system recommends W to user B — even without knowing anything about what these movies are about. Matrix factorization formalizes this by decomposing the sparse user-item interaction matrix into two low-rank matrices: one mapping each user to a latent vector and one mapping each item to a latent vector. The predicted rating is the dot product of the user and item vectors. These latent dimensions are learned automatically and often correspond to interpretable concepts like "preference for action" or "tolerance for slow pacing."

The practical challenges are where recommendation systems get interesting. The cold-start problem is fundamental: collaborative filtering cannot recommend for a new user with no history or score a new item that nobody has interacted with. Real systems address this with hybrid approaches — using content-based features to bootstrap and switching to collaborative signals as interactions accumulate. Data sparsity means that even established users have rated less than 1% of items, making the signal-to-noise ratio low. Scalability matters because real catalogs contain millions of items and inference must happen in milliseconds. Production systems typically use a two-stage architecture: a fast retrieval stage that narrows millions of candidates to hundreds using approximate nearest neighbors, followed by a precise ranking stage that scores those candidates with a more expensive model. Evaluation is also subtle — accuracy metrics like RMSE on ratings tell you less than ranking metrics like precision@k or NDCG, because users care about the top few recommendations, not whether the system accurately predicts the difference between a 3-star and 4-star rating.

Practice Questions 5 questions

Prerequisite Chain

Understanding Zero → The Number Zero → Counting to Five → Counting to 10 → Counting to 20 → Counting a Set of Objects Up to 20 → Cardinality: The Last Number Counted → Matching Numerals to Quantities → Subitizing Small Quantities → Addition Within 10 → Number Bonds to 10 → Addition Within 20 → Doubles and Near Doubles → Doubles Facts Within 10 → Near Doubles Facts Within 20 → Mental Math Strategies for Addition → Mental Math: Adding and Subtracting Tens → Addition Within 100 → Repeated Addition as Multiplication → Multiplication as Equal Groups → Multiplication: Arrays → Basic Multiplication Facts (0s, 1s, 2s, 5s, 10s) → Multiplication Facts Within 100 → Division as Equal Sharing → Division as Grouping (Measurement Division) → Division: Grouping (Repeated Subtraction) Model → Division: Fair Sharing Model → Division as Equal Sharing → Division as Grouping → Basic Division Facts → Division Facts Within 100 → Multiplication and Division Fact Families → Relationship Between Multiplication and Division → Division Facts as Inverse of Multiplication → Remainders and Quotients in Division → Division Word Problems → Multi-Step Word Problems → Solving Multi-Step Word Problems → Multiplication Word Problems → Division Word Problems → Introduction to Long Division → Factors and Multiples → Prime and Composite Numbers → Equivalent Fractions → Relating Fractions and Decimals → Decimal Place Value → Integers and the Number Line → Comparing and Ordering Integers → Absolute Value → Adding Integers → Subtracting Integers → Multiplying Integers → Introduction to Exponents → Order of Operations → Integer Order of Operations → Variable Expressions → The Distributive Property → Variables and Expressions Review → Introduction to Polynomials → Adding and Subtracting Polynomials → Multiplying Polynomials → Factorial → Permutations → Combinations → Counting Principles: Addition and Multiplication Rules → Introduction to Graph Theory → Propositional Logic Foundations → Logical Equivalences → Boolean Algebra → Boolean Type and Truth Values → Comparison Operators and Boolean Tests → Logical Operators and Boolean Algebra → Conditional Statements → Defining and Calling Functions → Functions: Decomposing Problems → Function Parameters and Argument Passing → Return Values → Variable Scope → Introduction to Classes → Objects and Instances → Methods and Attributes → Algorithm Design Basics → Supervised Learning Fundamentals → Recommendation Systems

Longest path: 84 steps · 399 total prerequisite topics

Prerequisites (1)

Leads To (2)