Tarun Kakkar
6 min readJul 31, 2017

--

Detecting App Install frauds and refining App Install|Re-Install|Uninstall numbers using firebase

Firebase is an exciting new collection of services that I’ve been reading up on and experimenting with. We’ll be covering the features of firebase to learn exactly how to get correct Install/Uninstall/Re-Install numbers.There are so many tools that companies use to get this data ranging from Google Analytics,Omniture,Web-Engage,MAT,Apsalar,Apps flyer ,in house developed systems but data accuracy is not comparable with Firebase. Yes its better !

A lot of data plumbing was needed with these tools.So no more plumbing,Firebase is here :)

We will focus on three problems:

  1. Getting correct Install|Re-Install|Un-Install in System
  2. Attribution
  3. Growth Hacking using Firebase-AARRR Pirate Metrics By Dave McClure

Before we start , I would like to tell you firebase automatically triggers 16 events and you can log up to 500 different Analytics Event types in your app with 25 custom variables against each event.

Important Automated Events that we will use :

  1. first_open: First Time user launched application post install-Re-Install
  2. app_remove : When a user uninstall application a event is triggered which firebase captures and saves in the database
  3. app_clear_data : when you clear the app cache or other apps clears your app cache to get more free storage space on device

You can get complete List of automated events here. The numbers shown are sample representatives.

Event Data View

The last column is %age variance from the date of comparison.

All these event level data will be available in bigquery. You can write a simple script that can pull this data from bigquery on daily basis and store it in your Data Warehouse to create a daily trend/Insights

Getting correct Install|Re-Install|Un-Install in System

  1. New Install : first_open event gets triggered every time you install application.To get exact number of new-Install we should use two column values available in app_events table in big query :

Params_Key : There will be multiple Params_key related to First_open firebase automated events but we have to filter First_open event data with Params_key=’previous_first_open_count’

Params_Int_Value: This column in Database will store the install count against each device id . If I have installed the application 5 times, firebase bigquery database will have 5 entries against my device and last row entry will have this column value as 5.

To get daily new installs , you need to query Big Query data store and schema with below conditions

Table Name : app_events_
where Clause Conditions :Params_Key=’previous_first_open_count’ and Params_Int_Value=0

2. Re-Install

If you need number of re-installs on daily basis you just have to modify one condition in where clause of query which is Params_Int_Value,change this condition to Params_Int_Value>0. Using this you can get daily re-install.You can ask your Channel/Partner that this is the number of re-installs, I will not pay you for this.You saved some money !

3. Total Install

Remove this Params_Int_Value condition from where clause of the query and group by date you will get total daily installs

4. Un-Install

You can get un-install numbers using below event name and param key

Event_Name: app_remove,Param_key : firebase_event_origin

Replace above conditions with existing conditions in the query in where clause and group by day,will give you Un-Install number on daily basis

Install Attribution

Most of the Install attribution SDK’s that we use in app are based on HNH model Have not have.All these SDK’s maintain a data store for your device and at the time of app installation they fetch device from the device and pass it back to their system to tell whether this is new install or -Re-Install.We get this information in post back calls Like channel name ,partner name, Organic/Non-Organic install .We can read this post back call and pass this to Firebase against First_open automated events

So in firebase now we have re-install count and we can fetch this data using bigquery i.e how many re-installs against which I am getting paid partners.For Re-Install it should be Organic (Basis which attribution model you use)

In case of re-targeting also you can make sure you are not paying twice to get one install . You again saved some money :)

Growth Hacking using Firebase-AARRR Pirate Metrics By Dave McClure

Pirate Metrics were introduced by Dave McClure . He designed thesefor startup founders who were keen on taking action on their key metrics. The metrics have become popular and have been applied to many startups around the world

The metrics help startups to understand customer behavior in 5 different journey stages. I added my own descriptions to the five stages. They are even more simplified than the original and I have made one to one mapping with Firebase events that can help you fetch this data and drive growth

Note : You can integrate Adwords,Ad Mob with Firebase

Acquisition — The user finds you.You will get this data from source,campaign table, custom variable column name where you can get this acquisition partner name column in app event table

Activation — The user interacts with you.First_open and first funnel visit event trigger will give you this data

Retention — The user likes you.If user makes mutiple sessions on funnel/listing pages ,session_count event agsinst each Firebase instance Id

Referral — The user recommends you. You can store this value in in-built variable that is referral ( No. of referral and can also pass this in source of install )

Revenue — The user pays you . You can mark events as conversion events.You can pass product value,product value,quantity Average revenue per user (ARPU) and average revenue per paying user (ARPPU) for the Monthly Active, Weekly Active, and Daily Active Users shown on the.Active Users card. Revenue is the sum of ecommerce_purchase and in_app_purchase event value. ARPU is revenue divided by the total users for the given time periods. ARPPU is revenue divided by the users who have purchased during the given time periods

When we apply the Pirate Metrics to our business it will trigger a string of interesting questions. Most were about which KPIs to use and the position of the Referral stage. Do people refer you to others even before they paid for your tool or service?

Doing a quick online search on how people applied the AARRR metrics themselves, you will see that multiple companies switched the Referral and Revenue stages to fit their needs.

Both options can be right. It just depends on whether you look at it as a content referral or product referral. We called these two distinct flavors of Referrals “Jackpot Moments”. If the conversion on these two kinds of Referrals reaches a certain threshold, success will multiply fast.

We called the two different kinds of Referrals:

Jackpot moment #1: I like what you TELL

Jackpot moment #2: I like what you SELL

All this data need is very real time,so google have taken care of that also

Audiences let you segment your users in the ways that are important to your business. You can segment by event (e.g., session_start or level_up) and by user property (e.g., Age, Gender, Language), and combine events, parameters, and properties to include practically any subset of users.

Use audiences to:

Filter reports so you can analyze how different user segments engage with your app

Target Notifications to individual audiences/ Bounced/Exit Users Audience

Target Remote Config to deliver custom experiences to different audiences . You can use Remote Config random percentile targeting with Google Analytics for Firebase to A/B test improvements to your app across different segments of your user base so that you can validate improvements before rolling them out to your entire user base

I am reading and researching more on Firebase. Stay tuned for more updates on Firebase

If you like this article, please feel free to hit the green ‘RECOMMEND’ button.You can follow me at Twitter @zippytarun

--

--