I have a recommender that, for some users in some folds, has less than k items in the ground truth. Therefore, the precision@k is less than 1, even with a recommender that recommends the ground truth. For that reason, I calculate the results of a perfect recommender for multiple metrics.
By definition, the perfect ndcg@k is 1. I thought this was the case for $MAP@k$ too, but it is not, the average MAP@5 of various folds of mine is 0.99, but I even have a fold with a MAP@5 of 0.7! I’ve also noticed that perfect MAP@k is exactly equal to recall@k, but I haven’t found any resources that explain this coincidence.
Keep in mind that I’m talking about implicit feedback, and the ideal recommender just assigns 1 in the prediction field, so the order should not matter.