Recommendation System Overview
A recommendation system chooses items for users from a catalog under sparse feedback, changing inventory, eligibility rules, and product objectives. The usual production shape is a pipeline: log interactions, build features, retrieve candidates, rank them, apply constraints, expose results, and evaluate the consequences.
Retrieval and ranking
Most systems separate retrieval from ranking:
where is a small candidate set drawn from the full item catalog . Candidate generation optimizes coverage and speed; ranking optimizes ordering among plausible items.
Worked example
A tiny log with three users and four items becomes this implicit-feedback matrix:
| User | Item 0 | Item 1 | Item 2 | Item 3 |
|---|---|---|---|---|
| 0 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 2 | 0 | 1 | 0 | 1 |
The item popularity vector is . User 0 has already seen items 0 and 1, so the popularity fallback can only recommend unseen items 2 and 3; they tie at popularity 1. This toy pipeline builds a utility matrix, removes seen items, and returns popularity candidates. Real systems add collaborative filtering, content, diversity, and online logging.
Caveats
Recommendations change the data they later train on, so feedback loops are not a side issue. Offline metrics can improve while user satisfaction or inventory health worsens. Keep exposure logs, eligibility decisions, and experiment assignments available for evaluation.
References
- Adomavicius and Tuzhilin, 2005, Toward the Next Generation of Recommender Systems
- Herlocker et al., 2004, Evaluating Collaborative Filtering Recommender Systems
Nav