How Facebook makes recommendations for App Center’s 220M users

Think Facebook is showing you an arbitrary or editorially driven selection of applications in its App Center? Think again.

The social network, as described in a comprehensive blog post, goes to great lengths to ensure that the now 220 million people who visit its new application hub, launched in waves over the summer, find items tailored specifically to their tastes and immediate wants.

“The goal is for curation of the App Center to be driven by quality and personalization, instead of editorialization,” Facebook engineers explained today. “Just as with news feed, personalization in App Center will improve over time as people and their friends engage with more apps.”

The App Center runs atop a dynamic recommendation engine that looks at aggregated data, real-time updates, user feedback, application quality, and a number of algorithmic elements designed to learn about a person’s preferences. The ultimate aim is to make even the most obscure applications visible to the right people at the right time.

On the quality-control front, Facebook considers user ratings and positive or negative signals for each application. The social network randomly surveys app users to get their ratings and ties the average rating of an app to that of its daily active user base. “We settled on a formula for app quality that is primarily a function of its average rating as well as average daily active users,” the engineers wrote.

When it comes to learning more about you for the sake of better recommendations, Facebook, in laymen’s terms, considers your demographic details, friends’ activities, and your “likes.” The method by which the company uses this data to make recommendations is far more complex, however.

Facebook, for instance, considers “select items related to objects liked or interacted with” by you in the past. The company refers to these elements as “learned latent features” and uses them in a matrix to fill in the blanks about other qualities you may not have overtly expressed.

Here’s a detailed explanation for those who speak engineer:

The basic problem is to find out the values of missing entries for the user object response matrix. The idea is to approximate the response matrix using the product of two low-rank matrices. Each row of matrix U is the latent representation of a user and captures the intrinsic taste of a user. Each column of matrix O is the latent representation of an object. It reflects the flavor of that object. The dot product between these two vectors is the predicted response from the user to the object.

The complex process appears to be paying off for Facebook; more than 40 percent of the 220 million people who vist the App Center each month are likely to return on a following day.


Mobile developer or publisher? VentureBeat is studying mobile app analytics. Fill out our 5-minute survey, and we'll share the data with you.