Google BigQuery y Firebase Analytics

En este post aprenderemos a hacer la equivalencia y la traducción en Google BigQuery de algunas de las métricas y dimensiones que podemos encontrar en Firebase.

Como ya os introdujimos en el siguiente post, Firebase es una plataforma analítica y de desarrollo de aplicaciones de la nube de Google. Principalmente, en su concepto más analítico, está pensada para aportar valor al negocio centrándose en el usuario y sus correspondientes acciones dentro de la app.

Firebase es capaz de recoger algunos eventos automáticos únicamente integrando una app Mobile/Tablet/Desktop con la herramienta. Por ejemplo, tendríamos como evento automático la versión a tiempo real de la app que tiene instalada el cliente en su terminal.

Además, también disponemos las conocidas como User Dimensiones y las User Properties. Podremos consultar, entre otras cosas, información geográfica y de dispositivo como dimensiones de usuario, y el primer día en el que se hizo uso de la app como User Property. Por tanto, entender cómo usar cada una de estas dimensiones de usuario es imprescindible, y para profundizar más recomendamos este enlace.

Entender el significado y la naturaleza de todas estas variables del ecosistema de Firebase es crucial para cruzar estos datos en una custom query de Google BigQuery. Éstas son algunas de las variables que podemos encontrar en el esquema de Google BigQuery para Firebase:

Google BigQuery

Vamos a la práctica. Como punto uno, extraemos en BigQuery los datos RAW con las principales características de los usuarios: su ID único por app, país de procedencia, marca del dispositivo y eventos con los que han interactuado (nombre y timestamp del hit):

SELECT

user_dim.app_info.app_instance_id AS ID_user,
user_dim.geo_info.country AS country,
user_dim.device_info.mobile_model_name AS modelMobile,
event.name AS Event_Name,
event_param.key AS Event_Param_Name,
TIMESTAMP_MICROS(event.timestamp_micros) AS event_timestamp

FROM Project.dataset.app_events_20180306,

UNNEST(user_dim.user_properties) AS user_properties,
UNNEST(event_dim) AS event,
UNNEST(event.params) AS event_param

Y quedaría una tabla como la siguiente:

Google BigQuery

¿Y si quisiéramos contar eventos y usuarios únicos?

SELECT

event.name AS Event_Name,
COUNT(event.name) AS Total_events,
COUNT(DISTINCT user_dim.app_info.app_instance_id) AS Users

FROM Project.dataset.app_events_20180306,

UNNEST(user_dim.user_properties) AS user_properties,
UNNEST(event_dim) AS event

GROUP BY Event_Name
ORDER BY Total_events DESC

Firebase

Como veis, podemos jugar en las Custom Queries con todas estas variables y manipular los datos depende de las necesidades de cada analista.

En definitiva, este es un buen comienzo de una bonita amistad entre Google BigQuery y Firebase 🙂

Recomendaciones: el siguiente tutorial de Youtube.

Autor:

Digital Analytics Consultant at Metriplica. Mathematician // M.Sc. Data Analysis and Statistics

Leave Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.