Recommender systems help people make decisions. They are particularly useful for product recommendation, a setting where favorable products are suggested to a customer. For streaming services, products may consist of television shows and films. Research has shown that various approaches can be used to build successful recommender systems. In this paper, we survey linear models, content-based methods, collaborative filtering, and deep learning. We have an in-depth discussion of collaborative filtering and deep learning systems and present the strengths and weaknesses of each approach. We use the benchmark MovieLens dataset to demonstrate the performance of two models for predicting film rating. Our results reveal that a neural network model ...