Ya sabes el comportamiento del usuario en el sitio web, pero ¿Es posible usar modelos estadísticos para crear segmentos (Clusters) de usuarios?, ¿Se podría usar otro modelo para combinar las compras realizadas y realizar recomendaciones?

Bueno, este artículo es para ti: BigQuery, R y Tableau te permitirán ir más allá de los análisis que normalmente realizas y comenzar a trabajar con modelos estadísticos.

BigQuery

Ahora, es bueno mencionar que este es un artículo avanzado. Si conoces SQL, sabes algo de programación y te encanta el análisis de datos, estás en el lugar indicado, si no estás tan familiarizado con lo mencionado anteriormente es probable que necesites leer con mucha paciencia.

Analítica

¿QUÉ ES BIGQUERY?

BigQuery es la solución de Google Analytics Premium (de la cual somos partners) que permite ver la data de Google Analytics sin procesar y realizar consultas con el estándar SQL. Además, Tableau y R cuentan con conectores para BigQuery.

¿CÓMO ACCEDER A BIGQUERY?

Para tener acceso a esta herramienta puedes entrar a su versión demo en https://cloud.google.com/bigquery/. Cabe destacar que deberás colocar tu tarjeta de crédito y que en esta versión no podrás ver la data de Google Analytics sin procesar.

Si usas la versión Premium de Google Analytics (ahora llamada Google Analytics 360) debes habilitar el uso de BigQuery en https://bigquery.cloud.google.comUna vez ahí debes dar clic en View my console.

Google Cloud Platform

Al realizar el paso anterior te va a mostrar la siguiente pantalla donde debes dar clic en Create a Project.

Welcome to BigQuery

Una vez hecho esto te pedirá el nombre del proyecto. En este caso le puse proy01.

Nuevo proyecto

Al hacerlo tendrás la siguiente respuesta:

Google APIs

Lo cual confirma que ya estás en habilitado para probar BigQuery 🙂

Para empezar a hacer las consultas debes volver a: https://bigquery.cloud.google.com/

Una vez ahí en la parte superior derecha verás un botón llamado: Compose query

A continuación un primer query para probar:

Primer Query

Esta consulta arroja el siguiente resultado:

Google BigQuery

Lo que acabo de hacer es pedirle a BigQuery que me brinde los primeros mil comentarios de la tabla bigquery-public-data:hacker_news donde tenga autor, es decir, no sea nulo (NULL).

Guía: Cómo llevar a cabo tu estrategia UX
Guía: Cómo llevar a cabo tu estrategia UX

BIGQUERY Y SQL

Si ya conoces SQL, puedes ver acá las funciones que puedes utilizar:

https://cloud.google.com/bigquery/query-reference#stringfunctions

Básicamente el mismo set de palabras reservadas que cualquier manejador de base de datos:

Query Syntax

Si no estás tan familiarizado con SQL aquí algunos ejemplos:

Conocer el volumen de transacciones por día y por hora. Esta es una tarea que normalmente podrías realizar en Google Analytics, pero ¿qué sucede si tienes que sacar las transacciones por hora de un mes pero día por día?

Hacerlo en Google Analytics requeriría demasiado tiempo, pero con BigQuery se puede realizar en un SQL sencillo:

SQL
New Query

Al ejecutar el query nos da el siguiente resultado:

BigQuery first query

Al tener el resultado puedes bajar la tabla a un archivo CSV directamente o a un Google Sheet (hoja de cálculo de Google Docs). Con ello puedes armar un mapa de calor interesante donde puedes ver las horas pico por día de la semana.

Google Sheets

Simple, pero potente, te muestra qué días de las semana y a qué horas se tienen picos de transacciones (pueden ser ventas, pedidos o como hayas decidido etiquetar).

Las 10 primeras páginas vistas de todo el mes: Al igual que el ejemplo anterior, si tengo que hacer el total de un mes en Google Analytics, no es tanto problema.

Si tuviera que hacerlo día por día es donde el tema se complica. Nuevamente BigQuery puede simplificarse la tarea:

BigQuery 2

El resultado sería una tabla simple de doble entrada que te dice tus páginas principales día por día:

Tabla simple

¡Ya! ¿Pero todo eso ya lo puedo hacer con Google Analytics?

Sí, pero aparte de ser mucho más tedioso, con BigQuery puedes:

  • Llevar la data desde scripts en R y automatizar algunas tareas.
  • Llevarlo a Tableau o Excel (como el ejemplo) y armar un Dashboard con una visualización bastante amigable.
  • Y principalmente realizar modelos de Data Mining a partir de lectura de grandes volúmenes de información. (Esto lo veremos en el siguiente post)
Analítica: Workspace y Adobe Analytics para el análisis de datos
Analítica: Workspace y Adobe Analytics para el análisis de datos

BIGQUERY: SUB-QUERIES Y FUNCIONES MÁS AVANZADAS

A continuación algunos problemas comunes en BigQuery y cómo resolverlos:

Acceder a dimensiones personalizadas en conjunto con otros campos. No pueden ser accedidas como un campo adicional como sí se puede hacer normalmente en Google Analytics. Habrá que usar subqueries y alguna función de agregación como  max() o  min () .En Google Analytics se puede tienes una vista como esta:

Subqueries

Donde se puede acceder al Rendimiento de la lista de productos

Rendimiento de la lista de productos

Esto en query , es muy complicado obtenerlo.  En este sentido, es más práctico usar Google Analytics, a no ser que quieras tener una tabla con esta información diaria y busques cruzarla con otros datos adicionales para entender mejor la información.

Para poder hacerlo, podrías usar una consulta como esta:

Subqueries 2

El resultado sería:

Resultado 1

Rango de fechas

BigQuery almacena una tabla de Google Analytics por día.  Entonces ¿Cómo hago para acceder a información de un rango de fechas?

Para poder acceder a varios días debes usar la función TABLE_DATE_RANGE, en la cual puede establecer un rango de fechas. 

Son 2 parámetros: fecha inicial y fecha final. Aquí como establecer el SQL:

Rango de fechas

Es decir:

FROM TABLE_DATE_RANGE([90234794.ga_sessions_], TIMESTAMP('2016-04-01'), TIMESTAMP('2016-04-30'))

Si quieres acceder a los últimos 30 días, últimos 7 días,  últimos N días,  puedes usar las siguientes funciones:

Rango fijo conocido

FROM TABLE_DATE_RANGE([999999999.ga_sessions_], TIMESTAMP('2016-04-01'), TIMESTAMP('2016-04-30'))

Últimos 30 días

FROM (TABLE_DATE_RANGE([99999999.ga_sessions_], DATE_ADD(CURRENT_TIMESTAMP(), -30, 'DAY'),  DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')   ))

Últimos 7 días

FROM (TABLE_DATE_RANGE([99999999.ga_sessions_], DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'),  DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')   ))

Conteos únicos o como se conoce en Google Analytics cómo Unique Events

EXACT_COUNT_DISTINCT, te permite hacer el clásico SELECT DISTINCT del set de palabras reservadas del SQL StandardNota: En el ejemplo ,  99999999 , es el identificador de tu tabla en BigQuery. Cuando tengas tu cuenta de BigQuery, podrás ver tus cuentas con esos números al principio del nombre de la tabla. También le puedes referir a él como  default_dataset

Cuando no es mucha la cantidad de registros, BigQuery te permite exportar  directamente al tipo de archivo .CSV  o incluso si te parece mejor,  a Google Sheet (Google Docs).

Google Docs

CONCLUSIONES

Cuando hay mucha información, es mejor usar R o Tableau, dependiendo del tipo de actividad que quieras hacer.

R para análisis usando algoritmos de minería de datos y pedirle a los datos que te hablen un poco de ellos. Y Tableau para hacer grandes visualizaciones.

¿ESTÁS PENSANDO EN SOLUCIONES COMO ESTAS PARA TU EMPRESA? PONTE EN CONTACTO CON NOSOTROS ¡EN ATTACH TE AYUDAMOS CON TU PROYECTO!

TEMAS: Analítica Digital, BigQuery

Guía: Cómo llevar a cabo tu estrategia UX
Guía: Cómo llevar a cabo tu estrategia UX