Recommendation systems are algorithms that predict what a user may want to watch, buy, read, or listen to next. They matter because modern platforms have millions of items, far more than anyone can search through manually. A good recommender reduces information overload by ranking the most relevant options near the top.
These systems shape many everyday experiences, from streaming playlists to online shopping suggestions.
Key Facts
- A recommendation system ranks items by predicted usefulness or preference for a user.
- Collaborative filtering uses patterns from many users, such as users who liked A also liked B.
- Content-based filtering recommends items similar to ones a user already liked, using item features.
- A simple predicted rating can be written as r_hat(u, i) = average(u) + similarity_score(u, i).
- Cosine similarity is often used to compare preference vectors: cos(theta) = A dot B / (|A||B|).
- Common evaluation metrics include precision@k, recall@k, mean absolute error, and click-through rate.
Vocabulary
- Recommendation system
- A program that predicts and ranks items a user is likely to prefer.
- Collaborative filtering
- A recommendation method that uses similarities among users or items based on past behavior.
- Content-based filtering
- A recommendation method that uses item features and a user's past preferences to find similar items.
- User-item matrix
- A table where rows represent users, columns represent items, and entries store ratings, clicks, or other interactions.
- Cold start problem
- The difficulty of making good recommendations when a new user or item has little or no data.
Common Mistakes to Avoid
- Treating clicks as perfect proof of preference is wrong because users may click out of curiosity, by accident, or because of misleading titles.
- Using only popularity is wrong because it recommends the same common items to everyone and ignores personal interests.
- Ignoring missing data is wrong because most user-item matrices are sparse, so blank entries usually mean unknown rather than disliked.
- Evaluating only with training data is wrong because it can hide overfitting and make the system seem more accurate than it is for new users.
Practice Questions
- 1 A user has rated three movies 5, 4, and 2 stars. The system predicts a new movie rating using the user's average rating. What rating does it predict?
- 2 Two users have rating vectors A = (5, 0, 3) and B = (4, 0, 3), where 0 means no rating and should be ignored for the dot product and magnitudes over rated shared items. Compute the cosine similarity using the shared rated items.
- 3 A music app keeps recommending only the most popular songs to every user. Explain why this may reduce personalization and name one method that could improve the recommendations.