The authors focus on collaborative filtering approaches. It is mainly because collaborative filtering-based methods can be applied to many data sets without lots of adaptation, since it is independent of the domain. The authors start with basic collaborative filtering methods, which are easy to understand and implement. Recommendation systems refer to computational systems deployed for many users, analyzing each individual's taste on products and actively suggesting preferable items based on the analysis. There are several goals or tasks with recommendation systems. Although these goals are inter-related, the most important goal can be different for each system or domain. The authors categorize recommendation systems into roughly three categories: content-based filtering, collaborative filtering, and hybrid approaches. Recommendation systems can be evaluated in various ways. When a system is deployed as a real application, it may be tested with real users on a real situation.