Ever noticed how the news feeds of the multitude social networking sites and applications differ drastically from one person to another? Each feed seems to have been tailored to an individual to deliver content that has been predicted in order to provide the ideal platform for users. Predicted being the key word here makes one infer that there is probably some machine learning that goes behind the precise unique arrangement of posts on mega social platforms such as Facebook, Instagram and Twitter. This inference in the current day and age, where machine learning is the common lingo, is bound to be correct. In fact, Facebook was the first platform to transit from a chronological wall to an algorithm based feed. Other social media channels are now following the trend that Facebook first laid.
So, let’s take up the example of this trendsetter and explore the algorithm behind The Facebook Newsfeed.
The news feed algorithm has undergone several changes over the years. Previously, back in 2015 the algorithm behind the Facebook feed was the Edge Rank Algorithm. A rank-based approach was followed to determine the order of posts, governed by three parameters: Affinity Score, Edge Weight and Time Decay discussed in the article behind the link below.
Now, the news feed algorithm has been revamped into a machine learning approach that takes into account more than 10000 weights. The algorithm at present focuses on posts that are predicted to promote “active engagement”. This term denotes that the algorithm predicts scores by assigning greater weights to parameters that make a post personal and worthy of conversation.
The four parts of this algorithm along with some of these parameters, as described by Adam Mosseri (once the head of the Facebook newsfeed and now the head of Instagram) are as follows:
This comprises of all the posts in queue that are yet to be seen by the end user. These posts include promotional content, posts from pages followed as well as content from friends. Thousands of such posts must compete with one another each day to rise in the eyes of the algorithmic arbiter. In the end, only a few hundred of these finally make it to the news feed of the user once the algorithm has made its decision, taking the parameters into consideration.
This stage is all about consideration about the content. Each post is analyzed based on the data available such as:
- Number of likes, comments, shares and reactions
- Type of post (video, images, written content)
- Owner of post
- Time and Day of post
- Speed of internet connection
- Type of device in use
- Blocked Content
- Marked as spam
- Time spent on post
- Top fifty interactions
- Video engagement (turning on audio, changing to full-screen or HD)
The signals above are generated from the users and given weightage. For example, sharing a post (personal/public) has greater weightage than liking or reacting to it. Similarly, content from family and friends are usually weighed higher than content from pages followed depending on the information gathered.
The above-described data is then used to make informed decisions. The algorithm attempts to make predictions based on information available to determine what the users prefer to see on their feed, what they may hide, how probable are they to engage with it actively or ignore it. For example, a post from a friend who has previously received a comment from a user on a similar post in the past will likely be predicted to interest the user over content from a page followed that has received a like from the same user previously. If video content is seen to be receiving higher engagement over written matter or images, such posts are predicted to be preferred by the user.
These predicted posts in individual scenarios along with the weights are used to arrive at a relevancy score. The posts are then ordered based on this score in descending order. These posts are then delivered in the determined sequence to the news feed.
The News Feed Algorithm is thus described as a “ranking to organize” approach.
Other news feed algorithms are also built on similar lines. However, the Facebook Algorithm is the most complex of all the News Feed Algorithms out there today. The mystery behind the detailed working of this complex algorithm is what withholds the ease of trust into the working of Facebook and researchers behind the scenes. Yet, it is continuously developing and surpassing the barriers of AI to provide a platform dedicated to connecting people.
- EdgeRank Algorithm - Algo behind Facebook News Feed
- Fetching top news using News API
- Python Desktop News Notifier in 20 lines
- Facebook API | Set-1
- Why should you not Hack Facebook!
- How Facebook Display Ads for something you searched
- Python | Automating Happy Birthday post on Facebook using Selenium
- Design data structures for a very large social network like Facebook or Linkedln
- Cristian's Algorithm
- Berkeley's Algorithm
- Different Types of Clustering Algorithm
- Back-off Algorithm for CSMA/CD
- ML | Expectation-Maximization Algorithm
- How to solve RSA Algorithm Problems?
- Raft Consensus Algorithm
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.