EdgeRank


Alert! Anyone who says they can measure your EdgeRank score is lying to you. It is completely impossible because no general EdgeRank score exists.

Note: I'm often asked to explain EdgeRank, so I wrote up this short guide.

- Jeff


Table of Contents

  1. What is EdgeRank?
  2. Why should I care?
  3. How does EdgeRank work?
  4. How do I check my EdgeRank score?
  5. How can I optimize my Facebook Page for EdgeRank?



EdgeRank


What is EdgeRank?

EdgeRank is the Facebook algorithm that decides which stories appear in each user's newsfeed. The algorithm hides boring stories, so if your story doesn't score well, no one will see it.

The first thing someone sees when they log into Facebook is the newsfeed. This is a summary of what's been happening recently among their friends on Facebook.

Every action their friends take is a potential newsfeed story. Facebook calls these actions "Edges." That means whenever a friend posts a status update, comments on another status update, tags a photo, joins a fan page, or RSVP's to an event it generates an "Edge," and a story about that Edge might show up in the user's personal newsfeed.

It'd be completely overwhelming if the newsfeed showed all of the possible stories from your friends. So Facebook created an algorithm to predict how interesting each story will be to each user. Facebook calls this algorithm "EdgeRank" because it ranks the edges. Then they filter each user's newsfeed to only show the top-ranked stories for that particular user.


Why should I care?

Because most of your Facebook fans never see your status updates.

Facebook looks at all possible stories and says "Which story has the highest EdgeRank score? Let's show it at the top of the user's newsfeed. Which one has the next highest score? Let's show it next." If EdgeRank predicts a particular user will find your status update boring, then your status update will never even be shown to that particular user.

Caveat: There actually appears to be two algorithms, although this has not been conclusively proven. The EdgeRank algorithm ranks stories, and a second algorithm sorts the newsfeed. This newsfeed algorithm includes a randomization element and a keyword aggregator. Zuckerberg mentioned in an interview with TechCrunch that Facebook users found it eery how well Facebook knew what they were interested in, so they started randomizing the newsfeed slightly.

The numbers on this are frightening. 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.


How does EdgeRank work?

EdgeRank is like a credit rating: it's invisible, it's important, it's unique to each user, and no one other than Facebook knows knows exactly how it works.

At Facebook's 2010 F8 conference, they revealed the three ingredients of the algorithm:

  1. Affinity Score
  2. Edge Weight
  3. Time Decay

Affinity Score

Affinity Score means how "connected" a particular user is to the Edge. For example, I'm friends with my brother on Facebook. In addition, I write frequently on his wall, and we have fifty mutual friends. I have a very high affinity score with my brother, so Facebook knows I'll probably want to see his status updates.

Facebook calculates affinity score by looking at explicit actions that users take, and factoring in 1) the strength of the action, 2) how close the person who took the action was to you, and 3) how long ago they took the action.

Explicit actions include clicking, liking, commenting, tagging, sharing, and friending. Each of these interactions has a different weight that reflects the effort required for the action--more effort from the user demonstrates more interest in the content. Commenting on something is worth more than merely liking it, which is worth more than merely clicking on it. Passively viewing a status update in your newsfeed does not count toward affinity score unless you interact with it.

Affinity score measures not only my actions, but also my friends' actions, and their friends' actions. For example, if I commented on a fan page, it's worth more than if my friend commented, which is worth more than if a friend of a friend commented. Not all friends' actions are treated equally. If I click on someone's status updates and write on their wall regularly, that person's actions influence my affinity score significantly more than another friend who I tend to ignore.

Lastly, if I used to interact with someone a lot, but less so now, then their influence will start to wane. Technically, Facebook is just multiplying each action by 1/x, where x is the time since the action happened.

Affinity score is one-way. My brother has a different affinity score to me than I have to him. If I write on my brother's wall, Facebook knows I care about my brother, but doesn't know if my brother cares about me.

This may sound confusing, but it's mostly common sense.

Edge Weight

Each category of edges has a different default weight. In plain English, this means that comments are worth more than likes.

Every action that a user takes creates an edge, and each of those edges, except for clicks, creates a potential story. By default, you are more likely to see a story in your newsfeed about me commenting on a fan page than a story about me liking a fan page.

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. Conceivably, this could be adjusted on a per-user level--if Sam tends to comment on photos, and Michelle comments on links, then Sam will have a higher Edge weight for photos and Michelle will have a higher Edge weight for links. It's not clear if Facebook does this or not.

As a sidenote, Facebook may actually rank the act of commenting, liking, visiting a fan page, or even fanning a page differently depending on the source. For example, becoming a fan via an ad may have a lower Edge score than becoming a fan by searching for the fan page and then becoming a fan. This makes intuitive sense--the one user is hunting for the page and generally will care more about page stories than someone who had an ad thrust in their face. There is no conclusive proof of this though.

New Facebook features generally have a high Edge weight in order to promote the feature to users. For example, when Facebook Places rolled out, check-ins had a very high default weight for a few months and your newsfeed was probably inundated with stories like "John checked into Old Navy." Generally, after a few weeks or months Facebook dials the new feature back to a more reasonable weight.

Time Decay

As a story gets older, it loses points because it's "old news."

EdgeRank is a running score--not a one-time score. When a user logs into Facebook, their newsfeed is populated with edges that have the highest score at that very moment in time. Your status update will only hit the newsfeed if it has a higher score--at that moment in time--than the other possible newsfeed stories.

Facebook is just multiplying the story by 1/x, where x is the time since the action happened. This may be a linear decay function, or it may be exponential--it's not clear.

Additionally, Facebook seems to be adjusting this time-decay factor based on 1) how long since the user last logged into Facebook, and 2) how frequently the user logs into Facebook. It's not clear how exactly this works, but my experiments have shown time-decay changes if I log into Facebook more.


How do I check my EdgeRank Score?

Anyone who claims to check your EdgeRank is lying to you. It is completely impossible.

You can measure the effects of EdgeRank by seeing how many people you reached. You can also measure how much engagement you got (which impacts EdgeRank) using a Facebook analytics tool.

But there is no "general EdgeRank score" because each fan has a different affinity score with the page.

Furthermore, Facebook keeps the algorithm a secret, and they're constantly tweaking it. So the value of comments compared to likes is constantly changing.

Lastly, fan pages never appear in the newsfeed--stories by/about the pages show up. So I really don't care about the EdgeRank score of the page, I only care about the EdgeRank score of the status update (which is affected by the EdgeRank score of the page).

There will never be a 3rd-party tool that can measure EdgeRank. Too much data is private--eg, if a fan leaves a comment on my page's status update, I can't know how tightly he's connected to the other fans--and the more tightly he's connected, the more his comment impacts the Affinity Score of the status update for the other fans.


How can I optimize my fan page for EdgeRank?

It's hard to trick an algorithm into thinking that your content is interesting. It's much easier to rewrite your content so your fans leave more likes and comments.

Take your stodgy press releases, and turn them into questions that compel your fans to engage.

Here's some examples:

All those likes and comments will increase the Affinity Score between each fan and your page, boosting how many fans see your status updates in their newsfeed.


Send comments or suggestions to jeff@edgerank.net.