A recommender system ranks items a person may find useful by learning from product interactions and item information. Its output may drive search suggestions, home-page ranking, notification selection, or merchandising rather than a single “you may also like” widget.
Collaborative Filtering #
Collaborative filtering recommends items using patterns across users and items. An interaction can be an explicit rating or an implicit signal such as a click, watch time, purchase, save, or skip. For \(n\) users and \(m\) items, the observations can be represented as a sparse \(n \times m\) interaction matrix.
User-based and item-based approaches compare interaction patterns to find similar users or items. Matrix factorization instead learns lower-dimensional user and item vectors whose dot product estimates affinity. Modern systems often use these embeddings for candidate generation, followed by a richer ranking model.
Sparse data, popularity bias, and new users or items are practical challenges. Evaluation should also match the product goal: offline rating error is not equivalent to the quality of a ranked recommendation list.
Content-Based Filtering #
Content-based filtering uses properties of the item itself, such as categories, text, creators, price, or image embeddings. It can recommend a new item before it has accumulated interactions and can explain a result through shared attributes. Its limitation is that it tends to recommend items similar to those already consumed, which can reduce discovery.
Hybrid Systems #
Production systems commonly combine collaborative and content signals. Content features help with cold starts, collaborative signals capture collective behavior, and business constraints can enforce availability, diversity, safety, or fairness. Recommendations should use consented data, avoid treating noisy behavioral signals as definitive preferences, and be monitored for feedback loops.
Comments
Read or comment on GitHub (sign-in required to comment)