How Recommendation Systems Rank Choices

Photo: Google DeepMind / Pexels
A recommendation system's hardest job is not deciding whether you might like something. It's deciding, out of millions of candidates, which handful to show first, in what order, on this device, at this moment. Netflix ran a public, three-year, $1 million research competition, the Netflix Prize (2006–2009), specifically to sharpen the mathematics behind that ordering problem, and the winning approach reshaped how the entire industry builds recommenders. This piece walks through how those systems actually decide what to rank where, using the real algorithms, the real competition, and the real trade-offs engineers still argue about.
What a recommendation system is actually solving
Recommendation system — software that predicts which items a specific user is most likely to want, then orders those items for display. The word "recommends" undersells the engineering problem. A system serving a media platform, an online store, or a music app typically has a catalog running into the tens of millions of items and needs to select and order a handful of them, in well under a second, for every single user session.
That means two distinct sub-problems get bundled together under the word "recommendation." The first is candidate generation: narrowing millions of possible items down to a shortlist of, say, a few hundred plausible options. The second is ranking: putting that shortlist in the exact order most likely to produce a click, a watch, or a purchase. Early recommender research, dating to the mid-1990s work on collaborative filtering at sites like GroupLens, mostly treated these as one problem. Modern large-scale systems treat them as two separate stages with different algorithms, because the computational cost of scoring millions of items precisely is too high to do for every user on every request.
It helps to think of the difference the way a librarian thinks about a request. If you ask a librarian for "something like the last three mystery novels I checked out," they don't need to consider every book in the building; they mentally shortlist a genre and an author cluster first, then rank within that shortlist based on subtler cues like pacing or how recent your last checkout was. Recommendation engines do the same two-step, just at a scale and speed no human librarian could match, and it is the reason a media platform's "For You" row loads before you've finished glancing at your phone.
The word "ranking" is doing real work here, and it's worth being precise about what it means mathematically. Ranking is not the same task as prediction. A system can predict a user's likely star rating for a movie reasonably well and still produce a mediocre ranked list, because getting the relative order of two items right is a different optimization target than getting either item's absolute score right. That distinction, glossed over in early recommender research, became one of the central lessons to come out of the Netflix Prize era, and it still shapes how production systems are built today.
Two fundamentally different signals to learn from
Recommendation algorithms broadly draw on two kinds of evidence, and understanding the difference explains almost every design decision that follows.
Collaborative filtering — a recommendation approach that infers a user's preferences purely from patterns in behavior across many users, without needing to know anything about what the items actually contain. If two users have historically rated many of the same movies similarly, the system infers they share taste, and recommends to one user items the other liked but they haven't seen yet. This is the "people who bought this also bought that" logic, and it comes in two classic flavors: user-based collaborative filtering, which finds users similar to you and recommends what they liked, and item-based collaborative filtering, which finds items similar to items you've already rated highly, an approach Amazon described in a widely cited 2003 IEEE Internet Computing paper on its own recommendation architecture (Linden, Smith, and York, "Amazon.com Recommendations: Item-to-Item Collaborative Filtering," IEEE Internet Computing, 2003).
Content-based filtering — a recommendation approach that looks at the actual attributes of items, a movie's genre, director, and cast, or a product's category and description, matched against a user's history of preferences for those specific attributes. Content-based filtering doesn't need any other users' data at all; it only needs to know what an item is and what you've liked before. That gives it one crucial advantage: it can recommend a brand-new item the moment it's added to the catalog, since the system already knows its attributes even with zero interaction history.
That advantage points directly at collaborative filtering's biggest weakness, a limitation researchers named the cold-start problem. Collaborative filtering needs a meaningful volume of interaction data, ratings, clicks, purchases, before it can find reliable behavioral patterns. A brand-new user with no history, or a brand-new item nobody has rated yet, is functionally invisible to a pure collaborative system. Content-based filtering, or a hybrid that blends the two signals, is the standard fix, since content attributes are known the instant an item enters the catalog, long before any user has interacted with it.
The math behind "people who liked X also liked Y"
Modern collaborative filtering at scale rests heavily on matrix factorization — a technique that represents every user and every item as a vector of numbers, called latent factors, positioned in a shared mathematical space so that combining a user's vector and an item's vector mathematically predicts how that user would rate that item. Matrix factorization methods, particularly variants of singular value decomposition (SVD) adapted for sparse, incomplete rating data, became the technique most associated with the Netflix Prize after the competition's leading teams converged on it as their core building block (Koren, Bell, and Volinsky, "Matrix Factorization Techniques for Recommender Systems," IEEE Computer, 2009).
Picture a giant spreadsheet with one row per user and one column per movie, where most cells are empty because most users have rated only a small fraction of the catalog. Matrix factorization doesn't try to fill in that spreadsheet directly. Instead, it searches for two much smaller tables, one describing each user as a short list of numbers, one describing each movie the same way, such that multiplying a user's row by a movie's column reproduces the known ratings as closely as possible. Once those two smaller tables exist, multiplying any user's row by any movie's column, including movies that user never rated, produces a predicted score.
The "latent" in latent factors is the key idea. Nobody tells the algorithm that one of its dimensions should represent "how much action the movie has" or "how much this user likes tragic endings." The algorithm discovers whatever numeric dimensions best explain the pattern of existing ratings, and those dimensions often end up loosely correlated with things a human would recognize, like genre lean or maturity level, without ever being labeled that way by anyone. It's closer to how a wine expert might describe a bottle along axes like tannin, acidity, and body: useful, consistent dimensions, but ones a taster develops through pattern recognition across many bottles, not ones a winemaker printed on the label.
The Netflix Prize's winning solution didn't rely on matrix factorization alone. BellKor's Pragmatic Chaos combined more than 100 individual predictive models, blending matrix factorization variants with neighborhood-based collaborative filtering and models that accounted for temporal effects, the fact that a user's rating behavior and a movie's average rating both drift over time (Koren, "The BellKor Solution to the Netflix Grand Prize," 2009). That ensemble approach, stacking many separately imperfect models to produce one better combined prediction, became a lasting lesson of the competition independent of any single algorithm.
Why the Netflix Prize mattered beyond Netflix
The competition's real legacy wasn't a single winning algorithm; it was that it pulled matrix factorization and rigorous, benchmarked evaluation into mainstream practice across the recommender-systems research community, influencing how nearly every large personalization system, well beyond video streaming, approaches the ratings-prediction problem to this day (Koren, Bell, and Volinsky, 2009).
Why ranking is a different problem than predicting a rating
Predicting that a user would rate a specific movie 4.2 out of 5 stars is a mathematically distinct problem from deciding the correct order in which to display a hundred candidate recommendations. A model can be quite accurate at predicting absolute ratings and still produce a poor ranked list, because rating-prediction error is measured item by item, while ranking quality depends on getting the relative order between pairs of items right.
This gap is why the field developed learning-to-rank — a family of machine learning methods that directly optimize for correctly ordering a list of items, rather than treating good ordering as an automatic byproduct of accurate individual score prediction. Learning-to-rank methods generally fall into three categories: pointwise approaches that still score items individually, pairwise approaches that learn from which of two items a user preferred, and listwise approaches that optimize an entire ranked list's quality at once. Pairwise and listwise methods grew substantially in recommender-systems and information-retrieval research through the 2000s and 2010s precisely because they target the actual production output, an ordered list, rather than a proxy for it.
An analogy makes the distinction concrete. Imagine two students grading a stack of essays. One grades each essay in isolation and assigns a numeric score; the other reads them in pairs and simply decides which of each pair is better. The second grader can produce a near-perfect final ranking even with much fuzzier absolute judgment, because ranking only requires getting relative comparisons right, not precise scores. Learning-to-rank systems are built on that same insight: get the pairwise or listwise order right, and the absolute prediction accuracy matters far less than it would in a pure rating-prediction task.
| Approach | What it uses | Cold-start susceptibility | Typical role today |
|---|---|---|---|
| Collaborative filtering | Behavioral patterns across many users (ratings, clicks, purchases) | High for new users and new items | Core signal for taste modeling once history exists |
| Content-based filtering | Item attributes (genre, category, description) matched to user history | Low for new items; still needs some user history | Fallback for new items and thin-history users |
| Matrix factorization | Latent numeric factors learned from a sparse user-item ratings matrix | High, same as collaborative filtering generally | Primary technique behind large-scale rating prediction |
| Hybrid systems | Combination of collaborative, content-based, and contextual signals | Low to moderate, depending on blend | Standard architecture at nearly every large-scale platform |
Collaborative filtering and matrix factorization are powerful once behavioral data exists, but both are blind to brand-new users and items until content-based or hybrid signals fill the gap.
Why context changes the ranking, not just preference
Static, long-term preference is only one input into a modern ranking system. Time of day, device type, recent in-session browsing behavior, and even location can shift which items get ranked highest for the same user, because intent while quickly scrolling on a phone during a commute is not the same as intent while settled in for an evening on a living-room television.
Session-based recommendation — a family of models that predict what a user wants next based primarily on the sequence of actions within their current visit, rather than relying mainly on long-term historical preference. This approach directly addresses a version of the cold-start problem: session-based recommendation is essentially designed for situations where the system has little or no access to a user's long-term identity or preferences, which describes most anonymous e-commerce browsing sessions. One influential model, GRU4Rec, published at the International Conference on Learning Representations in 2016, applied gated recurrent units, a type of recurrent neural network built to model sequences, to predict the next likely action from the sequence of items a user clicked, searched, or added to a cart within a single session (Hidasi et al., "Session-based Recommendations with Recurrent Neural Networks," ICLR, 2016).
Context-aware ranking treats a user less like a fixed profile and more like a moving target. Two people with identical long-term viewing histories might get very different rankings on a Tuesday morning versus a Friday night, because the system has learned that recent, short-term signals often predict immediate intent better than a stable, months-old preference profile does. This is part of why the same account can see visibly different recommendations across different devices logged in at different times of day.
How do recommendation systems handle the cold-start problem?
Collaborative filtering and matrix factorization both require existing interaction data to find behavioral patterns, so they can't produce good recommendations for brand-new users or newly added items. Systems typically compensate with content-based filtering, which relies only on known item attributes, session-based models that use in-visit behavior instead of history, or simple popularity-based defaults until enough real interaction data accumulates.
Why almost every large-scale system is now a hybrid
Pure collaborative filtering struggles with new users and new items, as covered above, but it has a second weakness: it needs a sizable, active user base generating ratings before its behavioral patterns become reliable at all, which is part of why the earliest deployed collaborative-filtering systems, GroupLens's Usenet news recommender in the mid-1990s among them, focused on communities that already generated dense interaction data.
Pure content-based filtering has the opposite problem. Because it only ever compares an item's attributes to a user's established preference profile, it tends toward overspecialization, recommending an increasingly narrow band of items that closely resemble what the user has already consumed, and rarely surfaces anything genuinely novel. A user who watched one documentary about the ocean might get buried in ocean documentaries and nothing else, even if their broader taste is far more varied.
Hybrid recommendation systems, which combine collaborative and content-based signals along with contextual features and, at many companies, deep-learning components trained on both, are now standard practice at essentially every major platform running personalization at scale. The blend lets each approach cover the other's blind spot: content-based signals handle new items and thin-history users, collaborative and matrix-factorization signals handle taste modeling once enough interaction data exists, and contextual and session-based signals adjust the final ranking for the specific moment a user shows up.
Why exploration matters as much as exploitation
A ranking system that only ever recommends items closely matching a user's known history risks two related problems at once. The first is the filter bubble — a state in which a user's recommendations narrow so tightly around their established pattern that genuinely different content essentially disappears from view. The second is a data problem: a system that never shows a user anything outside their predicted preference never learns whether they might actually enjoy something new, which stalls the system's own ability to improve.
Production recommendation systems address this with deliberate exploration, occasionally ranking items outside a user's predicted top preferences into the visible list, specifically to gather fresh signal and avoid narrowing too far. This is a version of the classic exploration-exploitation trade-off studied broadly in reinforcement learning and multi-armed bandit research: a system that only exploits what it already knows works well in the short term but degrades over time, while a system that explores too aggressively annoys users with irrelevant suggestions. Getting that balance right is itself an ongoing area of applied research, not a solved problem with one fixed answer.
Think of it the way a good bookstore clerk operates. A clerk who only ever hands you books identical to your last five purchases will eventually run out of new things to offer and may miss whole genres you'd have loved. A clerk who occasionally says "this is different from what you usually read, but I think you'll like it" is taking a calculated risk, one that sometimes misses but that keeps your taste profile, and the store's understanding of it, from calcifying.
Common misconceptions
A common misunderstanding is that recommendation systems simply find items "similar" to what a user already liked, the way a search engine finds similar documents. Collaborative filtering in particular works nothing like that: it makes recommendations based on the behavior of other users with similar patterns, which can surface items a user has never shown any interest in before, purely because people with matching taste profiles happened to enjoy them. The recommendation isn't derived from item similarity at all in that case; it's derived from user similarity.
Another misconception is that a more accurate rating prediction automatically produces a better ranking, an assumption baked into a lot of earlier recommender-systems evaluation. As the learning-to-rank section above lays out, the two objectives are related but genuinely distinct, which is why the field increasingly builds systems that optimize ordering directly rather than treating good ranking as a free side effect of accurate rating prediction.
A third misconception worth naming plainly: recommendation systems are not neutral arbiters of quality. They optimize for whatever objective they were trained to predict, typically clicks, watches, or purchases, which is not the same thing as "what's actually best for the user." A system trained purely to maximize immediate engagement can, and sometimes does, drift toward whatever reliably captures attention rather than whatever a thoughtful human curator would recommend. That's a design choice embedded in the training objective, not an inevitable property of the underlying math.
Do more accurate predictions always mean better recommendations?
No. A system can predict individual item ratings very accurately and still rank a list poorly, because rating-prediction accuracy is measured per item while ranking quality depends on getting the relative order between items correct. This is precisely why learning-to-rank methods, which optimize ordering directly, have become standard in production systems rather than relying solely on rating-prediction accuracy.
The takeaway
A recommendation system's real job is producing the correct relative order among many candidates for a specific user, at a specific moment, on a specific device, not identifying every item a user might theoretically enjoy in the abstract. Collaborative filtering and matrix factorization, the techniques the Netflix Prize sharpened between 2006 and 2009, solve the "who likes what" half of that problem using behavioral patterns alone. Content-based filtering, session-based models, and learning-to-rank methods solve the "in what order, for this person, right now" half, and nearly every large platform today runs some hybrid combination of all of it, with deliberate exploration built in so the system keeps learning rather than narrowing forever.
Read next:
- How clustering finds hidden groups
- What feature engineering means
- How gradient descent finds better answers
FAQ
Q: What is the difference between collaborative filtering and content-based filtering?
Collaborative filtering recommends items based on patterns across many users' behavior, without needing to know what an item actually is. Content-based filtering recommends items based on their specific attributes matched against a user's past preferences, and can handle new items that lack interaction history because it never needed other users' data in the first place.
Q: What is matrix factorization in recommendation systems?
It is a technique, popularized during the 2006–2009 Netflix Prize competition, that represents users and items as numeric vectors, called latent factors, in a shared mathematical space. Multiplying a user's vector by an item's vector produces a predicted rating, and the winning Netflix Prize team combined matrix factorization with over 100 other blended models to reach its final score.
Q: Why is the cold-start problem difficult for recommendation systems?
Collaborative filtering and matrix factorization both need existing interaction data to find behavioral patterns, so they can't make good recommendations for brand-new users or items with no history yet. Content-based filtering, session-based models, or simple popularity defaults typically fill that gap until enough real interaction data accumulates.
Q: Why do most large platforms use hybrid recommendation systems?
Pure collaborative filtering struggles with new users and items, while pure content-based filtering risks overspecialization, narrowing recommendations to only very similar items. Combining both signals, often alongside contextual and session-based components, addresses the weaknesses of each individual approach and is now standard practice at large-scale platforms.
Q: Why do some recommendation systems deliberately suggest items outside a user's known preferences?
This is called exploration, part of the broader exploration-exploitation trade-off studied in reinforcement learning. It serves two purposes: avoiding filter bubbles that trap users in an increasingly narrow set of recommendations, and gathering new data about preferences the system doesn't yet have information about.
Q: Did the Netflix Prize actually get used in Netflix's real recommendation system?
Netflix later stated publicly that it did not fully implement the winning ensemble in production, citing the engineering complexity of the blended model relative to the accuracy gain it offered outside the offline competition dataset. The competition's lasting impact was on the field's research and methods, particularly popularizing matrix factorization and rigorous benchmarked evaluation, more than on Netflix's specific production stack.
Follow new articles
Add SciHub101 to your feed reader to see new science and technology stories.
About the Author
SciHub101 is an independent science and technology publication founded and edited by Buğra Sözeri, a software engineer and app developer based in Türkiye. AI tools assist with drafting and research. Source documentation in the existing archive is uneven, and articles are being reviewed and corrected. The Editorial Team byline identifies editorial responsibility; it does not certify specialist or independent human review. Where we compare products, anything built by our own team is labelled as such — see the editorial guidelines and About page for how corrections and disclosures work.
Related Articles


PCA Explained: How Dimensionality Reduction Works
Principal component analysis explained: how PCA finds the directions of greatest variance, how to choose components, and when PCA, t-SNE, or UMAP mislead.
Why 99% Accuracy Can Be Useless: Precision and Recall
Why 99% accuracy can be useless: how the confusion matrix, precision, recall, F1, and PR curves behave on imbalanced data, with a fully worked example.

