How to measure the product virality

Anastasia Sukhanova @devtodev
8 min readFeb 24, 2016


Virality is the most important characteristic of any project. If we consider the project as a model that converts the incoming stream of people into the flow of money, the virality will allow getting the money from the user without the cost of its acquisition. Besides, good virality allows the project in a few months to win the market: one active user invites a few friends, each of them invites a couple more friends, and so on.

Good virality allows the project to evolve like an epidemic. Even the word “virality” comes from the word “virus”. If you have played Plague Inc., where you can visually track the spread of the disease around the world, you understand this point.

The indicator used to measure virality, also borrowed from epidemiology. It is called k-factor, it is the subject of this article. K-factor shows how many users led to the project by one of its active user (in epidemiology: the average number of people infected by one patient).

How to calculate the k-factor?

The most common formula is k-factor = i*c, where i is an average number of invitations sent by one user, c is an average conversion from received invitation into registration.

Let’s assume that each user sends the invitation to one friend in average (i = 1), and every third person who received an invitation is successfully registered (c = ⅓). In this case, the k-factor = 1 * ⅓ = 33.3%. In a perfect world this means that if the product has 100 active users, then in the next period they would be 133, then 178, and so on. In this model, after 33 periods, the number of users will exceed one million. However, in the real world, things are not so simple, and we’ll discuss the details below.

However, this formula has significant limitations:

  • Not all products trace the sent invitations. In fact, this can be done only if each user sends an invitation with a unique mark, and if for each invited user we can track the inviter. In the real world sending invitations occurs through social networks, and if the number of sent invitations is still countable, then the number of recipients is not.
  • And what if you simply told a friend about a new game at the meeting? Then your friend registered in the project will not bear the mark as being invited by you and will not be taken into account in k-factor, although the virality had a place to be. The bulk of invitations just happens through the word of mouth.

How should k-factor be calculated then?

On the Internet we met another formula: k-factor = 1 + (organic downloads) / (paid downloads).

However, this formula does not fit either. Firstly, whence here is plus 1? According to this formula, each user invites a minimum of one friend, even in the most failed projects.

Secondly, this formula has only paid downloads in the denominator, ie does not consider the case if one organic user invites another.

How to calculate k-indicator?

We prefer the following method: k-factor = (organic downloads per period n) / (active users per period n-1).

This formula takes into account all kinds of invitations (it does not care if it was an online invitation with a unique link or just chatting). Also, this formula takes into account invitations committed by any users, both paid and organic. Finally, this recipe doesn’t have that “plus one”, so, if the project has no organic downloads, k-factor will be equal to zero. On the other hand, if the project is cool, the k-factor may soar to the heavens.

The only question to ask in this formula is: what is the period? Is it a day, a month or a year?

Usually, a period is a month, but this is only because it is easy to calculate the size of the monthly audience with MAU metric.

But it is you who should decide. It is OK to calculate k-factors by day, by month or by year. On the contrary, if you monitor k-factor in at least once a month, you will be able to respond quickly when it starts to decrease.

Now let’s turn to another interesting metric

How is virality actually formed? Where comes the wind from that brings new users?

Imagine that you have downloaded an application. What’s next?

  • You go through the tutorial, you understand the value of the product. In other words, here is your activation.
  • You get familiar with the product, study it at some speed. Some may go to the application once a week, some open it five times per day
  • It seems you start to like the app.
  • You decide to invite a friend to the application. You send an invitation, you mention the name of the application at the meeting. In general, somehow infect your friend.
  • A friend remembers your advice and also downloads the application.

The total time of passing these steps is called the viral cycle. It began with the fact that you have downloaded the application and ended with the fact that it was downloaded by your friend. And, of course, the shorter is the viral cycle, the more active your application is evolving.

In the previous example, the product, at first, had 100 users, and within 33 periods of time, the number of users exceeded one million.
If the period of time to take is a month, you will need 2 years and 9 months to reach one million users.
If the period of time to take is one day, one million is reached after 33 days! How many users will be gained in 2 years and 9 months — scary to imagine! But it is not so terrible, as there aren’t so many people in the world.

So, the virality is defined by two metrics: k-factor and the viral cycle. Thus, the shorter is the viral cycle, the higher is the k-factor (the more people are infected at a time period).

What should k-factor be equal to?

How do you know if your k-factor is good or not?

The main thing is that the virality of your product should cover the churn of users. In other words,

  • if k-factor > churn, more users come than users leave, and your product is going to have exponential growth;
  • if k-factor = churn, the virality only compensates the churn, and the number of users will be stable;
  • if k-factor < churn, the churn of users is not compensated by the virality and audience of the project will gradually decline.

Here are some guidelines values of k-factor:

Rahul Vohra, CEO of Rapportive, provides the following guidance values of k-factor:

  • 15% — 25% — good;
  • 40% — excellent;
  • 70% — just an outstanding product.

And Eric Seufert, who previously worked in Wooga, and now is VP of User Acquisition and Engagement in Rovio, announced the k-factor of Jelly Splash app as 92%.

It is an outstanding value, truly. In essence, 92% means that Wooga may multiply the lifetime value of one user by (1+0.92), so, due to virality, revenue grows almost twice.

Also, speaking of the k-factor, we should mention its variability. Unfortunately, k-factor as any other relative indicator of the product tends to decrease with time. Virality of the product reaches its peak in the early stages of its life cycle. Just a few products have stable k-factor in greater than 1 for an extended period of time. So if your k-factor in a sudden began to decline, then let you reassure the fact that others also have it hardly growing.

However virality of the product can and should be influenced. Tips on how to increase virality on the Internet are countless, and it all comes down to a few basic principles:

  • the best way to increase k-factor is to reduce the viral cycle;
    you need to use the existing social networks of your users, it simplifies the process of dissemination of information about your product. In other words, integrate social networks and other services;
  • the user must have a stimulus to invite friends, so, take a look at joint activity in Dropbox, communications via instant messengers, referral programs in online games;
  • at the expense of virality only, the product cannot survive; it is necessary to be truly popular among users.

Another recommendation is to have your stable working non-viral (paid) channels to attract users. Virality is a pretty sensitive thing and k-factor changes over time. Therefore, stable working paid channels play the role of firewood in the fire: the more firewood, the higher is the flame.

If you want, you can even decrypt the letter k in the word k-factor as “campfire” in order to better remember the metaphor.

Let’s summarize the main ideas

  • Virality is a great thing! It is a nice way to attract a large mass of potential users for free.
  • To measure the virality use the k-factor (the average number of friends invited by one active user) and the viral cycle (average time from the registration of a user to the registration of friend invited by him). K-factor should be high, and the viral cycle should be short.
  • K-factor has to cover the churn of users, in this case, you will find an exponential growth.
  • K-factor changes over time, with usually downwards. Do not worry.
    You can affect the virality of your product by making your product awesome and the process of inviting friends simple, logical and necessary to the user.

We wish you the maximum k-factor and the minimum viral cycle. Do not twist them up! ;)



Anastasia Sukhanova @devtodev

Customer Success Manager at Everything you need to know about analyzing and improving games and apps.