A.I. & Optimization

Advanced Machine Learning, Data Mining, and Online Advertising Services

Optimizing Revenue for Mobile Apps/Webs/Games

In this article, we explore several relevant KPIs for mobile businesses. Our goal here is to start a conversation around optimizing mobile apps revenue by collecting required data points for measuring important KPIs. This is the first step towards formulating a framework for optimizing users acquisition, users retention, and apps monetization strategies.

Average Revenue per User (ARPU)

ARPU is a measure used primarily by consumer companies defined as follows:


, where is total revenue in $ and is the number of subscribers.

To calcualte the ARPU a standard time period should be selected. The most common time frame is "month". We need to compute the total revenue for a given month obtained from all paying customers. This number is then divided by the number of subscribers (e.g. game players). Since the number of subscribers varies day by day (e.g. due to churn rate), the average number of subscribers should be calculated for the given time frame. This way we can obtain a better estimation around ARPU for the pre-defined time frame. ARPU is a temporal metric which changes over time.

ARPU is a measure for the effectiveness of an app's monetization strategies per-user basis.

For example, if we have a freemium mobile game which made $10k in the last month where the number of players are 1000, ARPU is calculated as $10k/1000=$10 per user per month.

Retention Rate

n-Day Retention Rate is defined as the number of users who return to the game/app n days after they installed the app divided by the number of all new players on the first day. Three most common time frames for calculating retention rates are: 1-day retention, 7-daye retention, and 28-day retention rates.

The Retention Rate measures how appealing an app is to its user base.

See below for the formula:


In above formual, is number of players who came back to play the game again after a month and is the number of players who installed the game on day one (in the beginning of the month). So, this percentage measures the stickiness of your app/game.

Let's say you just finished a marketing campaign on Nov 1th 2014 by which you brought 1k new users who installed your game. One month later you find that 200 of those players have returned to your game and spent time playing the game. Your 28-day retention rate is calculated as 200/1k=20% measning that 20% of aquired users came back to your game. A game company's goal is to maximize the retention rate since it impacts the user engagement and consequently the revenue (e.g. in-app purchases).

To address this problem we need to identify users who are likely to stay and engage with the app/game and the users who are likely to leave the game. Note that these two subsets are complimentary.

To attack ths problem, the first step is to collect insightful actions/signals from the users/players while they are playing the game or interacting with the app. For instance, measuring how they make progress in the game, any insightful behavioral signals from the app/game such as customizing their avatars, or buying in-app items etc. After collecting behavior data from users within the app/game, the next problem becomes to identify signals that are indicators for a player being engaged with the app.

If we identify engaged users, the complement set represents users who are not engaged. Identifying those users might allow us to detect the underlying reasons for users churn and address them. For instance, by fixing the related technical or design issues within the app/game which cause users get frustrated. As a result, we can maximize the retention rate.

Note that during identifying users who are likely to abandon the app, we should segmentize users based on their attributes. In other words, different types of users may have different reasons to abandon the app. So, we can't treat them the same.

Another strategy for maximizing retention rate is to adapt our marketing strategies such that we acquire users who are more likely to stay with the app. So, this is another optimization problem in which we try to acquire new users through marketing channels that are more likely to love the game and stay engaged.

Churn Rate

Churn rate is the percentage of an app users that discontinue using the app after a certain time period. In order for a company to expand its user base, its growth rate (i.e. rate of installs for new users) should exceed its churn rate.


The churn rate is negatively correlated with the retention rate (i.e. linear relationship).


If the goal is to minimize the churn rate, we need an analytics/predictive framework by which we can measure/predict the churn rate. What's the probability for a given user with certain attributes to leave the game/app after a time period? How can we predict this dependent variable? What predictive features we should use to predict the churn rate? We expect more a player is engaged with an app/game, less likely would she abandon it. Thus, the churn rate and the engagement have a negative mathematical relation.

We can think of a set of features that we can use to build a predictive model for engagement: how many times a user play the game in a week? how much they spend time? their progress in the game? did they share the app/game on Twitter or Facebook?

Lifetime Value (LTV)

LTV is a metric to measure how much (i.e. potential spend in $) a user worth to a company. In a freemium game, 30-days LTV can be computed as overall items a user had purchased within the game. Average LTV for a game can be calculated using the following formula:


Here, duration is calculated as below:


Clearly the interesting problem is to formulate a predictive model which can predict the LTV for a given user by taking into account some measurements from user actions within the game.


Above we listed a few KPIs related to mobile and web apps. These metrics are all business driven so it's important for a company to discuss and reach a consensus about important KPI's which matter the most to their business (e.g. acquisition, retention, monetization).

The goal of defining and measuring these KPIs is to (I) monitor how efficent the company and different teams (development and marketing teams) operate, (II) find out issues inside the app/game causing users to churn and fix those product design issues, (III) and finally it allows a company to assess/optimize their marketing strategies for users acquisition.