Algorithm suggested at the moment is using Alternating Least Squares (ALS) to optimise the result. ALS is easy to parallelise, but may not be as accurate as Stochastic gradient descent.

Thus, one area to explore is how can computation time increase accuracy? Or, conversely, if we’re short on time, degrading the accuracy gracefully.