Item-Item CF
Amazon's 2003 paper on recommendations made one structural choice that mattered more than any algorithm in it: compare items with items, not people with people. That choice is item-item collaborative filtering.
How it works
The method precomputes a similarity between every pair of catalogue items from the user-item matrix alone — the users who interacted with both — and keeps each item's top k neighbours. To recommend for a user, it walks the items in that user's history, pulls each one's neighbour list, and sums the similarities, weighted by the user's ratings, to produce a score per candidate. No parameters are learned for the user at all.
Why it displaced the user-based version
Items are fewer and far more stable than users in most catalogues, so the similarity table changes slowly and can be rebuilt nightly while tastes shift hourly. Three consequences follow:
- A fresh interaction changes recommendations immediately, with no retraining — the history is read at request time.
- Serving is a handful of table lookups, so latency stays flat as the user base grows.
- The reason for a recommendation is inspectable: "because you watched this".
Where it runs out
Accuracy plateaus below a fitted model's, because similarity is a fixed formula rather than something learned — on MovieLens, latent-factor methods pass it clearly. A new item has no neighbours until people interact with it, and a very sparse catalogue leaves the intersection with a user's history empty too often. It survives as a strong, cheap candidate generator rather than a final ranker.
Item-item collaborative filtering recommends by precomputing item-to-item similarities from the interaction matrix, then scoring candidates as a similarity-weighted sum over the items a user has already engaged with. It learns no user parameters, so a fresh interaction changes results instantly and serving is a few table lookups. Stable item similarities and flat latency made it the production default for years; it now mostly works as a cheap candidate generator ahead of a learned ranker.
The obvious way to suggest something is to find people like you and copy their choices. Item-item collaborative filtering turns that around. It works out which products resemble each other, then looks at what you have already chosen.
The advantage is practical. People change their minds daily, but the relationship between two films barely shifts, so all the comparing can be done overnight and reused thousands of times. It also explains itself honestly — "because you watched this" is a real reason. Its weak spot is anything brand new, which nobody has chosen yet, and so resembles nothing.