Facebook now re-ranks News Feed stories in real time on the client side
An architectural change puts an even bigger premium on speed, as content will be ranked while users scroll through their News Feed.
Facebook’s efforts to make News Feed more accessible to all users regardless of the speed or reliability of their internet connections has led to a change in how stories are ranked. For brands, publishers and marketers using Facebook, it means that speed is more important than ever.
To understand the change, it helps to first know how News Feed stories used to be ranked. In the past, when a user visited Facebook, the ranking for all possible News Feed stories was calculated on Facebook’s servers and sent to the user in the exact order that Facebook’s algorithm decided was best. The problem was that it didn’t take into account the speed or strength of a user’s internet connection. Last December, Facebook announced that it was changing News Feed to accomodate users with slower connections — but the ranking of stories was still happening on Facebook’s servers.
Facebook engineers Alexandru Petrescu and Sami Tas explained this week that they’re now able to rank stories on the client side, after they’ve been sent from the server — i.e., as they appear on your phone, tablet or computer. They’ve written a fairly technical explanation of this on the company’s engineering blog, but there are two sections that do a good job of explaining the change in plain language and what it means for marketers and publishers (emphasis added by me):
In our new architecture, instead of waiting to show new stories until after you’ve seen the stories we already ranked, the next best story is selected from a pool of both new stories from the server and unseen stories from the persistent cache, and then rendered in feed. This happens each time you scroll down one story. Every time the server sends another story, we can rank the story on the client and insert it in the appropriate spot in your News Feed in real time, even on a poor connection.
In other words, rather than ranking all stories while they’re on Facebook’s servers, stories are leaving the servers and being put into a pool of possible content to show in the News Feed. And then Facebook is able to rank them in real time as a user scrolls through the News Feed.
What does this mean for publishers and marketers? As the blog post explains, speed is more important than ever. (Emphasis again added by me.)
This architecture also enables us to surface stories that have been optimized for your connection at the time of your session. For example, slow-loading content gets temporarily down-ranked while it loads because, before we show a story in your News Feed, we check to see whether the media in the story — the image, the video, the link preview, etc. — has been loaded on your device. If it hasn’t, we re-rank the stories on the client and prioritize those that have fully-loaded media.
The Facebook engineeers wrap up by saying even though these changes were born from trying to improve Facebook for users in emerging markets, “these updates also will benefit people who typically have strong internet connections, as we all experience less than ideal internet connections at times.”
We’ve reached out to Facebook for more information about the change but have not had a reply yet. In the meantime, see Facebook’s blog post for more on this change in News Feed infrastructure.