Yesterday at its f8 developer conference, Facebook engineers Ruchi Sanghvi and Ari Steinberg gave what may be the first thorough walkthrough of the underpinnings of Facebook News Feed, the all-important page that users see when they first log on to the site. After giving an overview of the history of News Feed, which has evolved quite a bit since it launched in 2006, they offered some insight into the algorithms that allow News Feed to show you relevant content, collectively called EdgeRank.
You may not realize it, but News Feed only displays a subset of the stories generated by your friends — if it displayed everything, there’s a good chance you’d be overwhelmed. Developers are always trying to make sure their sites and apps are publishing stories that make the cut, which has led to the concept of “News Feed Optimization”, and their success is dictated by EdgeRank.
At a high level, the EdgeRank formula is fairly straightforward. But first, some definitions: every item that shows up in your News Feed is considered an Object. If you have an Object in the News Feed (say, a status update), whenever another user interacts with that Object they’re creating what Facebook calls an Edge, which includes actions like tags and comments.
Each Edge has three components important to Facebook’s algorithm:
First, there’s an affinity score between the viewing user and the item’s creator — if you send your friend a lot of Facebook messages and check their profile often, then you’ll have a higher affinity score for that user than you would, say, an old acquaintance you haven’t spoken to in years.
Second, there’s a weight given to each type of Edge. A comment probably has more importance than a Like, for example.
And finally there’s the most obvious factor — time. The older an Edge is, the less important it becomes.
Multiply these factors for each Edge then add the Edge scores up and you have an Object’s EdgeRank. And the higher that is, the more likely your Object is to appear in the user’s feed. It’s worth pointing out that the act of creating an Object is also considered an Edge, which is what allows Objects to show up in your friends’ feeds before anyone has interacted with them.
In other, hopefully less confusing words, an Object is more likely to show up in your News Feed if people you know have been interacting with it recently. That really isn’t particularly surprising. Neither is the resulting message to developers: if you want your posts to show up in News Feed, make sure people will actually want to interact with them.
Some other interesting points: Steinberg hinted that a simpler version of News Feed may be on the way, as the current two-tabbed system is a bit complicated. That said, many people still use both tabs, with over 50% of users clicking over to the ‘most recent’ tab on a regular basis.
There were some things that the Facebook engineers wouldn’t talk about — the group sort of punted on a question regarding how stories initially get seeded, explaining that they weren’t going to unveil all of EdgeRank’s secrets. But they did say that there are some signals involved that weren’t detailed during the talk, and that they’re experimenting with more, like analyzing the outbound links users click on.