
My experience tackling the hardest problem in app retention — figuring out the best first time user experience.
In this post I talk about:
1. Creating a user journey
2. Using data to explore user behaviour trying to find the optimal experience.

Here’s how a retention curve for the first 20 days looks for normal apps. As you can see the first app experience can make or break your app.
I’ve talked to a great extent about how we can improve this with better push notifications, testing your app on 2g & improving our data infrastructure.
Data = Growth.
Traditionally we’ve used cohorts and funnels to understand the actions of our users & identify hurdles.
- Cohorts: A cohort is a set of users with a similar trait.
Example all users who were acquired on a particular date form a cohort. You can read more about cohorts here.

Cohort Analysis — Acquisition analysis
So the cohort tells us that the average % of users coming back on D5 is an abysmal 9.33% It tells us that we have a problem but we still have no clue what we can do to solve it.
2. Funnels: A simple chart which shows how users proceed through a series of steps/events.

Funnels are nicer, if we know the right areas to look we can get a good estimate of the issue. As we can see in the above chart, there’s a huge drop off at Stage3. For some reason, your users are not completing this step. So that’s a good starting point to debug further.
So we know 288,056 users didn’t complete the first stage, did they do something else, did they exit the app, did they uninstall the app? All these questions can make or break your first app experience
Consider it’s a music app and you want the user to listen to a song. Let’s assume that 90% users are playing the first song but is that a good indicator of an engaged user? How about plotting a histogram of users based on the number of songs played?
FIRST TIME USER EXPERIENCE
A good product is one where the experience meets the expectation. However how do we understand how our users understand the current product?
If you don’t want to end up like Pied-Piper, one way is to conduct a user study. The other is to build a user journey — to get insights into how a user perceives your app.
User comes to app_> Navigates to search-> searches for Arijit Singh-> adds the song to playlist-> plays from playlist.

We can do 2 types of analysis:
- visitor based analysis
- activity based analysis.
In the first model we try to understand how visitors from a specific channel/geo-location interact with our product. In the 2nd analysis, we categorise users according to activity and check how they differ in the actions performed.
Let’s consider you have the following flow for hike:



You create a funnel and determine that 20% of your users are adding a phone number & try to improve those screens. But to improve the experience once a user comes to screen3, we need to understand the actions taken by the user. (Pro tip: In firebase we get the ‘uninstall’ event by default so you’ll know if the user removed your app & at what step :))
Google Analytics Premium records all the user events performed in your app, this includes the screens viewed, the actions performed captured as events. By integrating GA with Big Query you can get access to raw data. This data is available in CSV & JSON format.
Let’s see how we can build a user journey using BigQuery
Consider the following events are sent for your user.
Get Dinesh’s stories in your inbox
1. Screen Name: Getting Started
2. Screen Name: Add Number
3. Event: Send message, New chat, Search.
The actions a user takes from this screen onwards, determines his app usage behaviour. Let’s dive into how we can build a user journey using the event logs.
To understand the query parameters used in Google Analytics, one can refer to the schema documentation: https://support.google.com/analytics/answer/3437719?hl=en The unique user of ClientId is denoted as fullVisitorId. We can get the number of new visitors by grouping the unique client ids where visitNumber=1. Where the visitNumber is the number of visit to the app.
Now we can query a day’s data from BigQuery — please remember to pick a random date & then try to ensure that the behaviour is consistent across a couple of days. Once you have the data, you can import it into R.
To plot a behavioral plot one can use the Sankey Plot in R. Here’a guide to plotting Sankey Diagrams(http://www.r-bloggers.com/generating-sankey-diagrams-from-rcharts/).

User flow:
The user flow is simple to understand, the first nodes are the entry points to the app, the next nodes are actions/screens the user goes in the next step. The paths a user takes to reach a certain node are described by the flows. The inflow is equivalent to the outflow for a certain flow.
Here we can see that a disproportionate number of users who go to screen 3 drop off & exit the app.
Use can use insights from this graph, to understand drop off and set of actions which lead to an optimal user experience.
Let’s dig into some more analysis we can do to optimize the first user experience.
Uninstall analysis
Analysing users lost can help us understand the time period when we lose the most users and thus plan to save them — helping us create a re-engagement strategy via push and email notifications.
Consider the following graph for loss of users:

Close to 75% of the total users lost in the first 30 days are lost in the first 10 days.
Here we can see that we’re losing the most users in D4 & D5.
How do we get uninstall data:
Apsalar(or your attribution tool) of choice can provide uninstall tracking. Firebase( a new tool announced by Google) also provides uninstall tracking. We can send the uninstall data to our server using a postback & analyse it further.
Email users for Feedback:
You can even take this a step further & map the advertising id of the user lost with the registered email/phone number to contact the user to collect feedback. This would help you understand why you’re losing users & hopefully reactivate them too.
How can we take this a step further?
- Start with a hypothesis — you need at least 5 months of data to draw a conclusion. Example users who create playlists & use radio are more likely to stick around.
2. Examine the data, understand usage & retention overlaps.
To recap:
- Store User data for all actions
- Plot the user journey to get insights into user behaviour
- Optimize the path to get the best output & reduce drop-off.
We’ve just scratched the surface so far, in the next article I shall go depth into finding repeat user behaviour & exploring the ‘Aha’ moment. Thanks are due to Santosh for data analysis & ideation.
If you found the article useful, please feel free to hit the green ‘RECOMMEND’ button.

Currently building & growing Gaana — India’s Favorite Music app.
I would love it if you give it a try. You can follow me on Twitter
Appendix:
Based on my last post some users were interested in understanding how we can do a funnel analysis in GA: https://support.google.com/analytics/answer/1151300?hl=en
![App Growth Metrics: eCPI, CAC, True LTV, Retention, Cost of MAU/DAU Calculator for Beginners [Download Excel]](https://miro.medium.com/v2/resize:fit:1200/1*vnvxHGioGbevnOh1KZSvsA.jpeg)

