User Similarity
Two people who have both watched the same twelve obscure films are evidently alike. Two who share nothing might be alike too, and there is no way to tell. User similarity is the number that has to make that judgement from whatever overlap happens to exist.
How it is computed
On explicit ratings the standard choice is Pearson correlation over co-rated items, where mean-centring cancels the gap between a generous rater and a strict one; on implicit vectors of clicks or plays it is cosine, or Jaccard over the raw sets. Two corrections matter in practice: significance weighting discounts pairs whose overlap is only two or three items, and an inverse-popularity weight stops we both watched the top ten from registering as shared taste.
What it is used for
- Selecting the k-nearest users for a target — the filter that defines the neighbourhood.
- Weighting each neighbour inside the prediction, so a close match counts for more than a marginal one.
- It is symmetric and reusable, but it shifts whenever either user interacts, so cached values go stale.
Why it is the hard part
At the sparsity of a real user-item matrix, most pairs have no co-rated items and the scores that do exist rest on thin evidence. Computing all pairs is quadratic in the number of users, so production reaches for MinHash or an approximate-nearest-neighbour index over user vectors. Item-item similarity is preferred wherever it will do: item co-occurrence is denser and stable enough to precompute, while a user's similarities move every session.
User similarity is a numeric measure of how alike two users' interaction histories are, computed over the items both have touched — Pearson correlation on explicit ratings, cosine or Jaccard on implicit signals. It both selects a target user's neighbours and weights their contribution in user-based collaborative filtering. On a sparse matrix most pairs overlap on few items, so scores are shrunk by significance weighting to stop a coincidental match from dominating.
If two people's shelves hold the same unusual books, you would guess they would enjoy the same next read. If their shelves share only one bestseller, you would guess much less — half the country owns that one.
User similarity is software making that judgement as a score. It compares your history of clicks, plays and ratings with someone else's and returns a number for how alike the two look. Popular items count for little, because nearly everyone has them. The obscure overlaps count for a lot. Those scores are what let a system find the people whose taste matches yours and borrow their choices to build your suggestions.