Designing algorithms to recommend items such as news articles and movies to users is a challenging task in numerous web applications. The crux of the problem is to rank items based on users' responses to different items to optimize for multiple objectives. Major technical challenges are high dimensional prediction with sparse data and constructing high dimensional sequential designs to collect data for user modeling and system design. This comprehensive treatment of the statistical issues that arise in recommender systems includes detailed, in-depth discussions of current state-of-the-art methods such as adaptive sequential designs (multi-armed bandit methods), bilinear random-effects models (matrix factorization) and scalable model fitting using modern computing paradigms like MapReduce. The authors draw upon their vast experience working with such large-scale systems at Yahoo! and LinkedIn, and bridge the gap between theory and practice by illustrating complex concepts with examples from applications they are directly involved with.