Every time you open your Facebook account, the first thing you see is your newsfeeds. All likes, comments, tags, status updates, shares and many more such things by your friends.
Ever wondered how you get these feeds in the way that you find it interesting and not like any random order?
The answer is that Facebook employs a machine learning algortihm that considers certain parameters to find relations between you and the person who has written that post. Prior to employing a machine learning algorithm, the EdgeRank Algorithm was being used by Facebook to rank the updates to be displayed on your feeds page. This algorithm not only ranks the feed but also sorts it to select which feeds should be shown on your feed at the very beginning and which one’s at the very last.
There are certain ingredients that are worked upon in the EdgeRank Algorithm before the feeds are served to you. They are Affinity Score, Edge Weight and Time Decay.
Affinity Score : It means how well the person publishing the post and you are connected. For, instance, if you are best friends with that person, and you like, comment and share each of their posts, then you have a high affinity score with them. So, the algorithm deduces that you probably want to see posts by your friend.
For calculating affinity score, following factors are considered :
1. The strength of the action – Each action amongst share, like, tag, comment, etc. has a weight associated to it. So, the more efforts you do with that post, higher is your affinity score. Affinity score is taken into account only if you interact with it. So, just reading through the post without clicking or sharing does not count. So, if your brother is posting about his engagement, marriage, graduating, etc., then his posts hold somewhat higher affinity score than other posts.
2. How close the person who took the action was to you – Your linkage with the person posting the content is considered an important factor for calculating the affinity score. So, a friend that shares 50 mutual friends will have a higher affinity than a friend who shares 10 mutual friends.
3. How long ago they took the action – Time is inversely proportional to the affinity score. So, if a person is posting about his birthday and you open your feeds after a week, then definitely those posts are not displayed on your wall.
Edge Weight : Every post on facebook is given some weight i.e. their Importance. In simple terms, a comment on your photo may have more worth than a like or a share. Facebook changes the edge weights to reflect which type of stories they think user will find most engaging. For example, photos and videos have a higher weight than links. So, comments on photos are more likely to be highlighted than comments on links.
Time Decay : As a post gets older, it starts to lose importance. New ones replace them for the slot on your newsfeed. EdgeRank algorithm not only selects the posts to be displayed on your newsfeed but it also Sorts them in order to be displayed on your newsfeed.
In 2007, a Facebook engineer said in an interview that only about 0.2% of eligible stories make it into a user’s newsfeed. That means that your status update is competing with 499 other stories for a single slot in a user’s newsfeed.
Source : edgerank.net
This article has been contributed by Himanshu Kantharia. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Facebook News Feed Algorithm
- Fetching top news using News API
- Python Desktop News Notifier in 20 lines
- Facebook API | Set-2
- Facebook API | Set-4
- Facebook API | Set-1
- Facebook API | Set-3
- Why should you not Hack Facebook!
- How Facebook Display Ads for something you searched
- The true story about Facebook's closed AI Wing
- How Did Facebook Remove 2.2 Billion Fake Accounts in the First Quarter of 2019?
- Python | Automating Happy Birthday post on Facebook using Selenium
- Design data structures for a very large social network like Facebook or Linkedln
- Berkeley's Algorithm
- Cristian's Algorithm