**In minisymposium: Matrix Methods in Network Analysis**

A dataset of recommendations can be viewed as a sparse, weighted bipartite graph $G=(U \cup I, \Omega)$ where $U$ is the set of users, $I$ is the set of items and $\Omega\subseteq U\times I$ is the set of direct edges from users to items. Each edge is weighted with a positive rating or "vote" that the user assigns to the item. We can represent this system by means of a nonnegative matrix $A$ of size $|U|\times |I|$ such that $a_{u,i}$ is the rating of user $u$ on item $i$ and $a_{u,i}$ is an unspecified entry in case the user has not rated that item. The goal of a recommender system is to predict missing votes, in order to make personalized recommendations meeting users' tastes.

A promising approach is based on a low-rank nonnegative matrix factorization of $A$ where items and users are represented in terms of a few vectors. A recommender system can be constructed as the solution of a constrained minimization problem in the two matrices of the factorization. The problem is non-convex and hence might have many local minima, however it becomes convex when either one of the two matrices of the factorization is fixed. We propose and analyze an alternating least square method combined with a thresholding technique to compute a low-rank approximation for $A$. We perform numerical tests to estimate the accuracy in predicting the missing entries and we compare our approach with other techniques in the literature. For these experiments we used the MovieLens databases containing ratings on movies.