Alternating least squares for personalized ranking | Synapse