The Science Behind How Yahoo Aviate Suggests Apps for You

Feb 18, 2015

By Andrew Gelfand

Meet Paul. Paul is a typical Yahoo Aviate user. His phone includes a typical mix of communication apps (e.g., WhatsApp and Skype), social apps (e.g., Facebook and Tumblr), sports apps (e.g., Yahoo Fantasy Football and ESPN Sports Center), tools, games, travel apps, and more. Like most Aviate users, Paul also likes to frequently install and try new apps. But with more than 500 thousand apps in Google’s Play store, it can be challenging for him to discover new apps that he enjoys. With the goal of solving this problem, Yahoo Aviate and the Personalization Sciences team at Yahoo Labs are working together to make it even easier for Paul to find his next indispensable app.

So which app should Paul install next? Traditionally, engineers would rely on collaborative filtering approaches to answer this question and identify a set of apps to recommend to Paul. The idea behind collaborative filtering is fairly simple: leverage historical usage behavior to identify a person’s app preferences and suggest new apps to each person by looking at other users with similar app preferences. For example, if Paul is an American football fan, as evidenced by his heavy usage of the Yahoo Fantasy Football app, and other American football fans often use the theScore mobile app, then it’s easy to conclude that Paul might want to also try the theScore (assuming it isn’t installed on his device already). Standard collaborative filtering approaches to app recommendation such as the one described above base their recommendations on implicit feedback like usage or installation patterns. The implicit feedback also includes information about the apps being recommended, such as their category, text description, and star rating in the Google Play Store. But is this all that matters when recommending apps? Our Personalization Sciences researchers looked into it along with Yahoo Aviate data scientists and discovered that time of day (and context) is also a key driver of app usage behavior. The set of apps that Paul uses in the morning when he is commuting to work is different than the set of apps that he uses when he is at work, and different still than the set of apps he uses when relaxing at home on the weekend. Paul’s installation behavior also varies with time. Consider Aviate’s weekly app installation pattern, which is simply the total number of app installs occurring on all devices with Yahoo Aviate as their default launcher during each hour of each day of the week. Notice in the graph below that there is a strong daily pattern. As one might expect, relatively few apps are installed in the early morning between 4 a.m. and 6 a.m., while apps are heavily installed in the evening between 8 p.m. and 10 p.m. Even more interesting from a recommendation perspective is the percentage of apps of each type that are installed throughout the week. Installs of personalization apps (e.g., Zedge Ringtones & Wallpapers and the Go SMS Pro Emoji Plugin) peak around midnight, a couple hours after the overall peak in installs. In contrast, installs of communication apps peak in the middle of the day, while shopping app installs peak around 10 a.m. This is very useful from a recommendation perspective because if Paul likes to shop, as evidenced by his usage of the app, and other people who use the app also use the Groupon app, then not only do we know it is a good idea to recommend the Groupon app to Paul, but we also know we should do so at 10 a.m. rather than the late evening when he is likely to be interested in installing other types of apps. image We also know that one’s location (e.g., whether at home, work, or out at a restaurant), activity (e.g., whether walking, running, or driving), and even social setting drive app usage and installation behavior. The set of apps that Paul is interested in installing and using when he is at home in San Francisco on Sunday evening is frequently different than the set of apps he is interested in when he is meeting up with friends while visiting Chicago. As is shown in the table below, when Paul is in Chicago, we should probably recommend BRYQ for messaging, rather than Snapchat or WhatsApp.

So back to our original question: Which app should Paul install next? Clearly it depends on all of the factors we’ve discussed: Paul’s location, the time of day, Paul’s usage and installation history, the usage and installation history of people using the same apps as Paul, and more. At Yahoo Labs and Yahoo Aviate, we are using all of these contextual and behavioral signals to build models of Paul’s installation behavior and provide him with the best contextually relevant app suggestions.

Aviate’s vision is to bring you the information you need when you need it. Helping you find the right mobile app is just one of the ways in which Aviate and Yahoo Labs are working in partnership to achieve this goal. As we continue to iterate on our scientific research, look for Aviate to serve you recommendations based on your interests and context, such as movies and nearby restaurants!