Precision@k
A recommender never hands a user a score for every item in the catalogue; it hands them a short list — ten films, five products, three articles. Precision@k asks the only question that matches that reality: out of the k things you actually showed, how many did the user want?
How it is computed
Take a user's top-k recommendations, count how many appear in their held-out set of relevant items, and divide by k. Average over users. With k = 10 and three hits, Precision@10 is 0.3. Nothing below rank k counts, and order inside the list is irrelevant — a hit at rank one and a hit at rank ten contribute equally.
What the number hides
- Rank position — when order matters, NDCG or MRR is the right instrument.
- Catalogue coverage — a model that recommends only blockbusters scores well while serving everyone the same list.
- Unlabelled items — anything the user never saw counts as irrelevant, so the metric understates a recommender that surfaces genuine discoveries.
Why it is still the default
It maps straight onto the slots a product actually has, which makes it legible to people who do not read metrics for a living. On MovieLens-style benchmarks it is reported beside Recall@k, and the pair is informative: precision says how clean the shown list is, recall how much of what the user wanted fitted into it. With implicit feedback and a fixed number of slots, that trade-off is the design problem.
Precision@k measures what fraction of the top k recommended items are relevant to the user, averaged across users. Because a recommender only ever shows a handful of slots, it scores the list a reader actually sees rather than the full ranking. It ignores position within the list and penalises nothing below rank k, so it is reported alongside Recall@k to show both list cleanliness and how much relevant material was captured.
Imagine a friend recommends five films for your evening. Three turn out to be ones you enjoy, two are duds. Three out of five — that is the idea behind Precision@k.
The k is simply how many suggestions were made. Precision@5 means we judged a list of five; Precision@10, a list of ten. The score says how much of what you were shown was worth your attention. It deliberately ignores everything the system did not show you, because a screen only has room for a few things, and those few are what you are going to judge it on.