What is content-based filtering?

Last updated November 1, 2026

Content-based filtering recommends items whose attributes or embeddings resemble what a person has already engaged with. It reads the content rather than the crowd, so it handles new items and explains itself, but its results drift toward sameness.

Content-based filtering recommends items whose attributes or embeddings resemble the ones a person has already engaged with. It reads the content itself, a product’s category and brand, an article’s topic and entities, a song’s genre and tempo, rather than the behavior of other people, and it matches new candidates to a profile built from what this person has clicked, bought, or read.

How it works

Every item is described as a set of features: structured attributes such as category, price band, author, and tags, or a learned embedding, a vector that places the item in a space where similar things sit close together. The system builds a profile of the person from the items they have engaged with, often by averaging or weighting those item features, and then recommends the unseen items closest to that profile. Because the match is item-to-profile, it can score a brand new item the moment it has a description, with no waiting for anyone to interact with it first.

What it is good at

Two strengths follow directly from reading the content rather than the crowd.

  • It handles new items well. A product added this morning can be recommended this afternoon, because its attributes are known even though no one has bought it yet. This is the opposite of collaborative filtering’s cold-start problem for new items.
  • It is easy to explain. The system can point to the shared attribute: “because you read this article about interest rates” or “more from this author.” Explanations like these are cheap to generate and tend to build trust.

It also needs no data about other users, so it can personalize for a person in isolation, which matters when the audience is small or when privacy constraints limit cross-user data.

Where it falls short

Its central weakness is the mirror image of collaborative filtering. Because it recommends what resembles the past, results tend to be too similar to each other, a problem usually called overspecialization. A person who reads one article about interest rates gets ten more just like it, and never discovers the adjacent topic they would have loved. It cannot surface the pleasant surprise that comes from “people like you also enjoyed this,” because it does not look at other people at all.

It is also only as good as its features. If the item descriptions are thin, inconsistent, or missing, the similarity it computes is weak. Rich embeddings help, but they can encode biases present in the content, and they are harder to inspect than a plain tag.

How it is used in practice

Content-based filtering is rarely the whole system. Most production recommenders are hybrids that use it alongside collaborative filtering, so that content similarity covers the new and long-tail items where behavioral data is thin, while collaborative signals add the serendipity that content alone misses. A common pattern is to let content-based similarity generate candidates and a behavioral model rank them, or to feed content features into a single ranking model. Which combination works for a given catalog is a question only measurement can answer, and it depends on the data and identity layer underneath.

Common questions

What is the difference between content-based and collaborative filtering?
Content-based filtering matches items to a person using the items' own attributes or embeddings, so it reads the content. Collaborative filtering learns from the behavior of many people, so it reads the crowd. Content-based handles new items and explains itself easily; collaborative filtering finds surprises but struggles with new items and users.
Does content-based filtering have a cold-start problem?
It avoids the new-item cold start, because an item can be recommended as soon as it has a description. It still has a new-user cold start: with nothing engaged yet there is no profile to match against, so the system falls back to popularity or context until the person acts.
Why do content-based recommendations feel repetitive?
Because they recommend what resembles the past, a tendency called overspecialization. Someone who engages with one topic gets more of the same and little that is new. Production systems add diversity rules or blend in collaborative signals to counter it.