Mobile Games Blog

How viral is your Facebook game?

How viral is your Facebook game?

One of the most difficult challenges facing any game in today’s market is how to acquire new users.  Apple’s App Store, Google Play and Facebook’s App Center are largely merit based where the apps with the most users gets the most coverage. Thus, a handful of successful games monopolize the majority of users. This makes it very difficult for a new game to find its players.

Ad spends and media buys represent significant risk when launching since casual titles often have low life time value (LTV) the costs of advertising often cannot be justified as it may cost more to acquire a user then can be expected to make back from them.

Fortunately, many casual titles are social titles and as such are integrated with a social network like Facebook. Facebook is very interesting from an acquisition perspective since it has a very large user base on both web and mobile and it’s free. While Facebook has the same problem that other app stores have in that it promotes games based on merit and drives traffic to its most successful games, it still manages to distribute users more evenly than other app stores. The key difference is that Facebook promotes games virally.

Viral Mechanics you can leverage

There are two ways that Facebook virally promotes your game. The first is that in App Center, in addition to the usual top lists, it recommends games to users based on the games their friends play. This means that even if your app is not one of the top apps on Facebook, so long as you have a few users your app will be featured to their friends.

The second more active component of Facebook’s viral factor is that Facebook allows your app to send messages to your users’ friends. Facebook has 3 channels that you can use to communicate with your users’ friends:

  • Feed stories
  • Open Graph
  • Requests

Each of these channels allows us to publish stories on behalf of our users. Facebook will determine which of the user’s friends see the story we publish. Friends who see the story can click on the story and be taken to the game.

One of the nice things about this Facebook flow is that the friend will be taken to the game both on web and mobile. If you have a mobile version of the game and the friend is on mobile, Facebook will take the friend to the mobile version. It is same flow for the web. However, if the friend is on a device for which you don’t have a version of your game, Facebook will allow them to bookmark the game so that the next time the friend logs into a device that has a version of the game they can play it.

Similarly, this Facebook flow works regardless of whether or not the friend has the app installed or not. If the friend has the app installed Facebook will open it up (even on mobile). If they do not have them installed it will take them to the appropriate page at the appropriate app store.

Calculating K-Factor

The key metric for determine the virality is your game’s k-factor. It comes from medicine where it is used to determine the rate of infection of a virus.  It is easily calculated using the following simple formula:

impressons = average number of people that the infected person contacts while infectious
conversions = the probability that a contacted person will be infected
k-factor = impressions * conversions

In the case of Facebook, impressions is the number of people who will see a story published by our app. This is a little different than the usual definition of impressions since it is the number of impressions per user. Conversions is the usual definition, i.e. it is the number of people who saw the story and clicked on it to be brought to the app.

On Facebook it is possible to calculate the k-factor for either a month (30 days), week or day. By default, Facebook shows you the data for the last month. If you want to only look at a week or day, or if you want to look at a month that is not the last month, you will need to adjust the time period on each screen in insights. For simplicity, for this explanation on how to calculate k-factor, we will calculate the k-factor the last month.

Since k-factor depends on knowing the impressions per user to the first step is to determine how many users you have had in the time period you are looking at. In you app’s developer page, go to Insights > Overview. You should see a graph that looks something like this:



This graph shows your users over time. From here you can get your apps MAU, WAU and DAU. If you are calculating your k-factor for a period of a month you will need the MAU on the last day of the that month. Similarly, for a week you will need the WAU for the last day of the week. For a day you just need to know what the DAU was on the day in question. The nice thing about using MAU, WAU and DAU is it counts each user exactly once. If you want to calculate the k-factor for a time period that is not exactly 30, 7 or 1 days then you will need to use another method to figure out how many users played your game in that period.

For our example we are interested in the last month so we need to know the MAU on the last day. To do this we just mouse over the top right green dot. Lets assume that our MAU for the last month was 131,810 users.

Now that we know how many users we had we need to figure out our total impressions and our conversion rate. We can calculate this for each of three Facebook channels individually.

Feed Stories

For Feed stories, go to Insights > Traffic >Stream Publish. You should see something like this:



The second number (256,168) is the total number of impressions. This is the number of unique users that have seen the story. The number on the arrow that immediately follows it (0.0024) is the conversion rate.

For our example game with a MAU of 131,810 users, lets assume that the total number of impressions is 2,052,951 and the conversion is 0.0024. To get the impressions per user we divide the total number of impressions by the total number of users, e.g. 2,052,951 / 131,810 = 15.6. To calculate the k-factor we multiply this by the conversion rate, e.g. 15.6 * 0.0024 = 0.037.

Open Graph Stories

For Open Graph stories go to the tab immediately below Stream Publish in Insights (Insights > Traffic > Open Graph). This should look similar to the Stream Publish screen:


The data here is very similar to that of Stream Publish and we can use it the same way. The only difference is that conversion is given as a percent instead of a multiplier. To convert it to a multiplier we need to divide it by 100, e.g. 0.82% becomes 0.0082.

In our example, lets say the total number of impressions is 4,162,720 and the conversion rate is 0.50%. The impressions per user is 4,162,720/131,810 = 31.6. The k-factor is therefore 31.6 * 0.005 = 0.158.

Facebook App Requests

For Facebook Requests the process is similar to the other two. Go two Insights > Traffic > Requests. Again you get a similar screen:

Facebook Requests


Like with Open Graph the conversion rate is a percent so it needs to be converted to a multiplier.

In our example, lets say the total number of impressions is 219,062 and the conversion rate is 0.9%. The multiplier is 0.009. The impressions per user is 219,062/131,810 = 1.7. The k-factor is 1.7 * 0.009 = 0.015.

Requests are nice because they also cause Facebook to send notifications to the user.  However, if you have set up gifting between existing user, requests are not a perfect representation of user acquisition as some requests are being used for re-engagement.

To determine your k-factor on Facebook simply total together the results for each of the channels. In our example we add 0.37 + 0.158 + 0.015 = 0.543. A game is viral if the k-factor is greater than 1. So, in our example, our game is not yet viral although it is halfway there. Although a k-factor below one denotes exponential decay, it is very difficult to go viral and a higher k-factor still has a significant impact on the growth and number of users in your game.

Facebook also provides information about users acquires through searches and the app center. While we have noticed that these do go up as we get more popular implying some of this traffic is viral, I personally don’t believe the correlation is strong enough to call this viral acquisition. However, if you do consider it viral acquisition than you can calculate the k-factor for these channels and add it to the total.

Want to know more about how to improve your games K-Factor? Send us an email and we’ll take a look.


Leave a Comment

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>