Traditional approaches to recommendation systems are limited by the restrictive modelling assumptions that they implicitly make. We will explore two examples of this in collaborative filtering and contextual bandits. Pairwise and pointwise collaborative filtering makes unrealistic independence assumptions about ratings or rating comparisons. First, we will introduce a new approach to listwise collaborative ranking that works directly on the user’s partial ranking of items. We will see how we can make this method scalable and highlight some statistical guarantees that we can make for listwise algorithms. Contextual bandits typically assume that the reward distributions are stationary, which will limit the performance in changing environments. We propose an approach to the non-stationary contextual bandits problem based on combining online changepoint detection with linear upper confidence bounds (linUCB). We will show that this method can achieve regret bounds that are similar to that of linUCB, but in non-stationary environments. We will conclude by highlighting current challenges for state of the art recommendation systems, and how statistical thinking can improve existing algorithms.