Extracting Firebase / BigQuery DAUs, WAUs and MAUs

2019-05-23 17:40发布

问题:

I don’t want to over complicate this question, so I will try to ask it as clear as possible to avoid confusion.

The outcome I require is two-fold. I want to determine the DAUs, WAUs, and MAUs for a Mobile App within: a) Google Analytics, as well as in b) Firebase Analytics. I guess one can focus more attention on b) because their is a shift towards tighter integration between Architecture and Analytics for future app development.

a) Calculating DAUs, WAUs, and MAUs in Google Analytics:

Currently GA/Firebase reports on 1,7,(14),30 Day Active Users (https://support.google.com/analytics/answer/6171863?hl=en): - 1-Day Active Users: the number of unique users who initiated sessions on your site or app on January 30 (the last day of your date range). - 7-Day Active Users: the number of unique users who initiated sessions on your site or app from January 24 through January 30 (the last 7 days of your date range). - 14-Day Active Users: the number of unique users who initiated sessions on your site or app from January 17 through January 30 (the last 14 days of your date range). - 30-Day Active Users: the number of unique users who initiated sessions on your site or app from January 1 through January 30 (the entire 30 days of your date range).

My questions are:

  • GA or Firebase reports on 1,7,30 Day Active Users which by my understanding is not the same as DAUs/WAUs/MAUs? or is this seen as exactly the same ? An alternative approach (which led me to believe that i.e. WAUs and 7 Day Active Users are not necessarily the same) was explained in this article which used Custom Dimensions to compute WAUs: http://www.notingon.com/dau-mau-measurements-in-google-analytics/ Currently, my approach would be to select for instance 1 - 30 September, and take the "30 Day Active Users” as equal to the MAUs for that month, "7 Day Active Users” as equal to the WAUs, and "1 Day Active Users” as equal to DAUs. I want to know if this would be the correct approach or should I apply Custom Dimensions to do a custom calculation to get to DAUs/WAUs/MAUs ?

b) Calculating DAUs, WAUs, and MAUs in Firebase:

We see the same 1-day, 7-day, and 30-day active users in the Firebase console, that is in GA: https://support.google.com/firebase/answer/6317517#active-users. It seems that if one wants to calculate anything else, you would have to setup Google BigQuery through the Blaze program ? (https://firebase.google.com/pricing/).

I stumbled unto 2 examples that computes the 1/7/30 Day Actives, but I would still see this as different from DAUs, WAUs and MAUs: Firebase -> BigQuery how to get active users for that month, week, day Discrepancies on "active users metric" between Firebase Analytics dashboard and BigQuery export

My questions are:

  • Should I have a distinction between calculating (1) 1/7/30 Day Actives vs (2) DAUs, WAUs, and MAUs ? If yes, how would a query look like compared to the 2 examples listed above, and would I have to apply Unique IDs / Custom Dimensions in the process ?
  • In GA one can set User IDs on both a web and mobile app view and tie them together, but how would one approach this in Firebase Analytics ? Would it be possible to also set up this unique ID to be used as a custom dimension to build a custom query ? or is a unique device ID already being passed ?
  • Would there be a data delay when pulling this data from BigQuery ?

Thanks in Advance ! D

回答1:

GA or Firebase reports on 1,7,30 Day Active Users which by my understanding is not the same as DAUs/WAUs/MAUs? Should I have a distinction between calculating (1) 1/7/30 Day Actives vs (2) DAUs, WAUs, and MAUs ?

Although the concepts are similar, these metrics have different semantics in GA and Firebase Analytics. In GA, an Active User is one who initiates a session with your app on a given day, and its calculation is dependent on explicit instrumentation of the app (i.e. the developer must log hits manually). In Firebase Analytics, an Active User is one who logs user_engagement events on a given day. User Engagement events are logged automatically when the app spends time in the foreground of a device. And so, an Active User in Firebase Analytics is one who engages with the app in the foreground. An Active User in Google Analytics is one for which the developer sends hits.

In GA one can set User IDs on both a web and mobile app view and tie them together, but how would one approach this in Firebase Analytics ?

You can call Firebase's setUserID method to ascribe an ID to that user and you can dedupe your active users by that ID. Alternatively, app_instance_id is passed in to BigQuery from Firebase and (optionally) so are advertising identifiers. Refer to the Firebase Analytics BigQuery schema here.

Would it be possible to also set up this unique ID to be used as a custom dimension to build a custom query ? or is a unique device ID already being passed ?

Yes. The custom user ID is documented in the schema as the field user_dim.user_id.

Would there be a data delay when pulling this data from BigQuery ?

Data is exported from Firebase to BigQuery on a daily basis. Some data arrives late from devices (for example, if a device was offline initially when events were logged) and that data is then sent over on subsequent days.