Common KPIsThe high-level key performance indicators (KPIs) are typically similar across all mobile games, regardless of genre. Most developers will have KPIs that include:
- D1, D7, D30 retention - how often players are coming back.
- DAU, WAU, MAU - daily, weekly and monthly active users, a measurement of the active playerbase.
- User LTVs - what is the lifetime value of a player (typically measured over various cohorts, gender, location, acquiring ad campaign etc).
- DARPU - daily average revenue per user, i.e. the amount of revenue generated per active player per day.
- ARPPU - average revenue per paying user, a related measurement to LTV but it only counts the subset of users that are actually paying.
RetentionRetention is a measure of how often players are coming back to your game after a period. D1 (day 1) retention is how many players returned to play the next day, D7 means 7 days later etc. Retention is a critical indicator of how sticky your game is. Arguably it's more important to measure retention than it is to measure revenue. If you have great retention but poor user life-time values (LTV) then you can normally refine and improve the latter. The opposite is not true. It's much harder to monetise an application with low retention rates. A retention grid is a good way to visualize game retention over a period
Active user baseYou may have already head of "Daily/Weekly/Monthly" Active Users. These are industry standard measurements showing the size of your active user base. WAU for example, is a count of the unique players that have played in the last 7 days. Using DAU/WAU/MAU measurements is an easy way to spot if your audience is growing, shrinking, or flat.
Game-specific KPIsIn addition to the common KPIs each game will have additional metrics which are specific to the product in question. This could include data on player progression through the game (such as levels), game mechanics and balance metrics, viral and sharing loops etc. Most user journeys (paths of interaction that a user can take in your application, such as a menu to start a new game) will also be measured so they can be iterated on and optimised. For Ancient Blocks game specific metrics include:
- Player progression:
- Which levels are being completed.
- Whether players are replaying on a harder difficulty.
- Level difficulty:
- How many attempts does it takes to finish a level.
- How much time is spent within a level.
- How many power ups does a player use before completing a level.
- In game currency:
- When does a user spend in game currency?
- What do they spend it on?
- What does a player normally do before they make a puchase?
In-game tutorialWhen a player starts a game for the first time, it is typical for them to be shown an interative tutorial that teaches new players how to play. This is often the first impression a user gets of your game and as a result it needs to be extremely well-refined. With a bad tutorial your D1 retention will be poor. Ancient Blocks has a simple 10 step tutorial that shows the user how to play (by dragging blocks vertically until they are aligned).
GoalsThe data collected about the tutorial needs to show any areas which could be improved. Typically these are areas where users are getting stuck, or taking too long.
- Identify any sticking points within the tutorial (points where users get stuck).
- Iteratively these tutorial steps to improve conversion rate (the percentage that get to the end successfully).
MetricsIn order to improve the tutorial a set of tutorial-specific metrics should be defined. For Ancient Blocks the key metrics we need are:
- The percentages of players that make it through each tutorial step.
- The percentage of players that actually finish the tutorial.
- The amount of time spent on each step.
- The percentage of players that go on to play the level after the tutorial.
ImplementationTracking tutorial steps is straight-forward using an action-based analytics platform - in our case, Calq. Ancient Blocks uses a single action called [tt]Tutorial Step[/tt]. This action includes a custom attribute called [tt]Step[/tt] to indicate which tutorial step the user is on (0 indicates the first step). We also want to track how long a user spend on each step (in seconds). To do this we also include a property called [tt]Duration[/tt]. [table] [tr][th]Action[/th][th]Properties[/th][/tr] [tr][td]Tutorial Step[/td] [td]
- Step - The current tutorial step (0 for start, 1, 2, 3 ... etc).
- Duration - The duration (in seconds) the user took to complete the step.