EDUCATION CENTER
Other products
Get to know devtodev`s other products: an analytics platform for game developers, an analytics consulting, and outsourced customer support in games.
Main Metrics. K-factor
How to calculate project virality using k-factor formulas. Some useful examples and recommendations on boosting virality
Published
13.11.2019
|
devtodev

Is it possible to calculate the virality of a project? Which formulas do you need to use for this?

Sometimes, when we need to answer a question we are not very competent at, we consult our more experienced in a certain field friends.

Friends or colleagues mostly recommend us a service/person/application which helped them in solving similar issue. And then after we follow this advice and receive high-quality service, we will tell our friends about it as well. 

The process of sharing product information with user’s social circle is called virality.

Project virality

By the way, spreading information about an app can be calculated. It is characterized by such indicator as k-factor, also called "virus index", or "virality index".

There are several methods of calculating the k-factor. They differ from each other quite a bit, and some formulas include parameters that are not always easy to track accurately. Here is the most popular and most frequently used formula for calculating the virality index:

K-factor = Sent invites * Conversion

Where Sent invites is the average number of invitations sent by a user, and Conversion is the conversion from receiving the invitation to install.

Then the number of new users invited by project users can be calculated with the help of the following formula:

New users = Active users* k-factor

For example, let’s assume that every app user invites 2 friends who will then install this app with a 10% conversion rate, which means that only every 10th user of those who received the invitation will install the app. Then we will have:

k-factor = 2 * 10% = 0.2

It means that every 1,000 users will bring 200 more users to the app.

Still, this is not the end of the cycle. The invited 200 users can get their friends (200 * 0.2 = 40), and those, in turn, will also invite their acquaintances (40 * 0.2 = 8), and so on ad infinitum.

So the number of users invited due to the virality during one cycle can be calculated in the following way:

New users (1) = Active users * k-factor

And the number of users in subsequent cycles is as follows:

New users (n) = New users (n-1) * k-factor

And the greater the k-factor is, the faster grows the audience of a project.

The number of project users is also important, because they will spread information about a product. 

Therefore, the more users we have, the more people will learn about our app from them.

Let's make an example of how k-factor values can affect the audience’s pattern of growth. 

Suppose initially 5,000 users begin to spread information about your product. Let's see how many new users will be in the project by the end of the 10th cycle considering different k-factor values:

Cycle number k-factor = 0.5 k-factor = 1 k-factor = 1.2
1 2500 5000 5500
2 1250 5000 6050
3 625 5000 6655
4 313 5000 7321
5 156 5000 8053
6 78 5000 8858
7 39 5000 9744
8 20 5000 10718
9 10 5000 11790
10 5 5000 12969

If the k-factor is more than 1, the project’s audience will grow organically. If it is less than 1, the number of acquired users and the general audience will be gradually decreasing if other acquisition channels are not involved. It happens because users inevitably churn in any product. This churn must be compensated by new users. It is possible to do it for free by increasing virality and k-factor. Otherwise, we’ll have to use paid traffic.

You can find plenty of useful information about key metrics and more in our FREE online course "Game Analytics: from Basics to Advanced Strategies"

Based on Devtodev experience, we can name the following ways of increasing k-factor and the number of engaged users:

  • allow inviting friends and creating the necessary conditions and motivations, for example, sharing content or bonuses for inviting a friend;
  • create high-quality content that you would like to share;
  • make sharing convenient;
  • give users the possibility of sharing their achievements inside an app through social media. It can be especially important in games (for example, winning at some level), fitness trackers (covering long distances), training applications (learning 5,000 foreign words).

You may also read our article about Retention Calculation by Hours vs by Days

It is also essential to reduce the time from the moment a user installs an app until their friend does. There are several stages between these two events that affect product information spreading speed. They are often called the viral cycle

During this cycle, a user installs an app, gets a positive experience from using it, tells about it their friends, and then some of them install this app. All this takes time, slowing the product growth.

Now let’s go back to the formula that we used for the calculation at the very beginning. It included such parameters as sent invitations and conversion from such an invitation per installation.

This approach has a disadvantage, as users don’t always share product information by sending invitations. Not all apps have this service anymore. Users can talk about an app face to face, they can send an app link in any messenger or social network. 

It’s impossible to trace these actions, as well as their conversion. Therefore, this formula is limited and most likely you won’t get a precisely accurate calculation of virality by using it.

There are some more calculation options:

k-factor = (Installs — Paid installs) / Paid installs

In this case, we calculate the number of players invited by "paid" users. But if all the app users, not only those attracted by money, share information about the app, we can change the denominator to take this detail into account.

k-factor = (Installs — Paid installs) / Active users

Perhaps this is the most optimal and universal formula that does not depend on parameters that we cannot always accurately rate.

Virality is one of the most important indicators of a project. It points at an app’s ability to grow organically and without costs for users’ acquisition. It also characterizes app’s growth speed and popularity in the market.

We can stimulate virality by motivating users to share information about our product. However, if we want to succeed and make those users like us, it has to be excellent. In this case only we may achieve high k-factor results, bringing it closer to 1.

Read more