The guide
A recommender ranks items for each user from the past behaviour of all users. Collaborative filtering does it with no knowledge of the items at all: two items are similar if the same people like them.
Matrix factorisation is the model that made this scale. It gives every user and every item a short vector and predicts with their dot product. You fit it with SGD, or with alternating least squares, which turns the problem into many small ridge regressions.
Most real data is implicit: clicks and views, not ratings. That changes
the loss, and BPR learns to rank seen items above unseen ones. It also
changes the evaluation, which looks only at the top of the list. That is
why precision at k and NDCG are the metrics here.