Sunday, 27 December 2015

User Acquisition and Retention

I worked out as I went to bed last night that there is a function that describes user acquisition and retention quite well. A model of sorts.

dU/dt = f(t) + g(t,m) - aU

where U = users at a particular day, t = time in days, f(t) = users gained through natural search methods, g(t,m) = users gained through paid methods where m = money spent and -aU where this represents the loss of users (uninstalls etc), a is approximately a constant.

What does it say though?

It means that your app or game will reach equilibrium in terms of current installs when the rate of increase equals the rate of decrease.  This will happen for a particular number of users for a given f and a.

Typically a can be considered a constant that ranges from 0 to 1.0 and the higher the quality of the app the lower the value, the shitter the app the higher the value.

In practice this works quite well.

For example, take my own app.

f(t) is  a constant of approximately about 4 users per day. Very low.

-aU is about 4 users per day as well. I have about 100 users so that puts a at about 0.04.  

That tells me that my app is of okay quality in my opinion.  If it were above 0.1 then I would be worried.  

The uninstall rate will lead to a exponential decay style curve.  Which makes sense. An app with a million users at day 0 will lose more users on day 1 than an app with one hundred users by virtue of the fact that there are more users who can uninstall it.

My goal, picked arbitrarily is to reach and settle at a value of about 1000 users at any time using the app.  

This would require I either drop a from 0.04 to 0.004 which is highly unlikely.  The idea of making my app at the very least 10x better quality is unrealistic.

Or...I can increase f(t) from 4 users per day to 40 users per day.  

Note this would mean that in a year's time I would have had 15,000 users install the app for a current install base of 1,000 users at any time.

g(t,m) relates to advertising and is not entirely independent of f(t). The two are related but for small values of m (such as in my budget) they can be considered independent.

If my f(t) remains at about 4, which is likely, and my a remains about 0.04 then if I suddenly spent a huge amount of advertising in a successful manner and g(t,m) spiked by say 100 users then most likely all I would see is a spike of users temporarily followed by an exponential decay back to my equilibrium value over a period of several months.

So if a developer wants to be profitable they have to first of all ensure that their value of a is low - the app needs to be high quality, and the value of f(t) is high.  

Unless you can improve your f(t) to a nice high value then it will never be successful. For example, my app will remain at about 100 users currently using the app.

Note this doesn't even include the fact that of the 100 users only about 15% of them are actively engaged in using the app at any time.  The old stickiness DAU/MAU is useful too and makes then numbers look even worse.

I'd love to have access to the reports of some of the bigger games to get an idea of what their 'a' value is?  How much smaller or larger than 0.04 is it?  The uninstall rate is a good estimate of how high the quality of an app is.


1 comment:

  1. Edit note -

    The paid app has an a value of about 0.013 which is roughly three times better than the free app. This is not unexpected since paid apps typically retain their users better than free ones.