Hi. I'm Michael Munn, a machine learning engineer at Google. In the next few modules, we'll discuss recommendation engines. Recommendation engines are one of the most successful and widely spread business use cases of machine learning and power many of our favorite applications. Think of applications like YouTube or Google Play, and the suggested videos that are served to you when you use those products. Where do these videos come from? They're the results of recommender models working behind the scenes. So, what exactly are recommendation engines? What do they do and how do they work? Let's start with what recommendation engines do. Well, they do a lot of things. Primarily, recommendation engines identify things that a user may like based on products that they've interacted with in the past, but the video recommendations you see when you log into YouTube. For this user, the recommendations share a common theme generally programming, TensorFlow or machine learning. But they also suggest new items that the user might not have thought to search for themselves, like this video on quitting sugar. It doesn't quite fit with the general theme of the other videos, yet it is still relevant for the user. This is especially useful for a product like YouTube, which has billions of videos in its catalog. It's not feasible for a person to search through all of the content. Recommendation engines provide a way of surfacing new content that a user might like but didn't know to search for. Or consider the example of Smart Reply in Gmail. From the merely possible responses to this email about project metrics, we are recommended three short replies. Recommender systems also allow us to personalize a user's experience. By recording interactions such as likes or dislikes, we can start to learn preferences unique to that user, and thus personalize future content and make personalized recommendations like this. Recommenders can suggest new products or apps relevant to the interests that that user has shared. Google Search is another great example of how recommendation engines can provide personalization. Your Google search queries take into account your location, your user history, account preferences, and previous searches to ensure that what you were served is most relevant to you, the user. For example, typing "giants" into the search bar might yield different results depending on where you're located. If you're in New York, you might get a lot of results for the New York Giants football team. However, the same search in San Francisco might return information about the San Francisco baseball team instead. Recommenders also help you to find content that goes together, content you are already looking for or that you didn't know you wanted. So, when you use Google search to find Keras TensorFlow tutorials, you're also recommended similar results based on what other people also search for. Or if you make it to the bottom of the page, you'll see related searches, in this case suggesting the best books on neural networks. This same kind of recommendation is working behind the scenes. When say you're buying a jump rope and you're recommended to buy a water bottle or a gym bag along with it. These recommenders have learned that certain items go together and customers who bought one of these things are likely to benefit from buying the other as well. Recommender systems also provide a way to keep us engaged. When you watch a video on YouTube, you've probably noticed the banner just to the right of your video that contains a list of recommended videos that are up next. When your video finishes, these new ones will play, and we'd like them to be interesting and useful for you. This serves two purposes, it keeps the user happy and interested and also keeps them engaged with the product. Even outside the realm of products, recommender systems have become an important way for businesses to interact with their customers. For example, when you contact a call center, our recommendation engine can help ensure that your query is directed to the appropriate division, which improves their operations and keeps customers happy. In all of these examples, recommender systems provide benefit both for the people who provide them and the people who use them. For users, they help us explore and understand the item space, whether that is by helping us find related content or helping us explore new items entirely. They also improve decision-making by decreasing a potentially massive item space to only those few items relevant to the user and much more. From the recommender provider perspective, they increase user satisfaction and engagement, which leads to deeper customer loyalty and trust. They also allow providers to learn more about their customers by examining their interactions with the recommended suggestions or even change user behavior and drive demands towards less popular but still relevant items for the user. In short, recommender systems provide a way to model people's preferences and behaviors, which allows providers to reach the right customer efficiently and effectively with the right message at the right time. In the upcoming modules, we'll cover some of the details of recommendation engines. We'll discuss different types of popularly used recommendation engines including content-based and collaborative filtering, knowledge based recommenders, and deep learning techniques. We'll do a deep dive into some of these approaches in later modules. We'll also see how you can design and build your own recommendation engine following each of these methods. We'll end this module by discussing some of the common pitfalls that arise when developing recommender systems, and how they can be addressed.