Análisis de Datos con SQL y Modelos K-Means en Google Analytics
Clase 39 de 42 • Curso de Google Cloud Platform para E-commerce
Resumen
¿Cómo estructurar los datos de Google Analytics con SQL?
Vamos a adentrarnos en el emocionante mundo del manejo de datos con SQL, específicamente relativo a Google Analytics para mejorar nuestras campañas de marketing. Este proceso es esencial para entender mejor a nuestros clientes, así como sus comportamientos, y crear estrategias basadas en datos concretos. Es crucial tener una visión clara sobre cuánto tiempo pasan los clientes en nuestras pantallas y cuántas veces regresan, ya que esto puede ser indicativo de su interés. ¡Comencemos a descubrir cómo estructurar estos datos de manera eficiente!
¿De qué manera se puede agregar la información de Google Analytics?
Cuando hablamos de datos de Google Analytics, estos suelen venir desagregados y a un nivel bastante granular. Por ello, lo primero es agregar esta información a nivel de cliente, enfocándonos en:
- Tiempo en cada pantalla: Medir cuánto tiempo cada usuario pasa viendo una determinada pantalla.
- Frecuencia de sesiones: Contabilizar cuántas veces un cliente ha interactuado con la pantalla.
Para procesar esta información utilizamos SQL. La sentencia de SQL básica para agregar estos datos sería:
SELECT
usuario,
SUM(tiempo_en_pantalla) AS time_on_screen,
SUM(sesiones_unicas) AS unique_screen_views
FROM
dataset
GROUP BY
usuario;
En este código, reemplazamos "dataset" por el nombre específico de nuestro proyecto, y agrupamos los resultados según los usuarios.
¿Cómo se integra la data del CRM?
El siguiente paso es fusionar esta información con la de nuestro CRM para obtener un panorama completo de cada cliente. Este include:
- ID del usuario: Corroborado con el "Danielito ID" creado en los sistemas de nuestra empresa.
- Ingresos anuales: Conocer cuánto ha generado en ingresos cada cliente.
- Programas de fidelidad: Sumar el programa de puntos al análisis.
- Demografía: Incorporar edad y otros datos demográficos relevantes.
Implementamos la siguiente consulta SQL para realizar este emparejamiento:
SELECT
user_id,
account_number,
annual_revenue,
time_on_screen,
unique_screen_views,
loyalty_program,
age
FROM
your_crm_dataset
En esta sección, estamos uniendo la data del usuario con los valores que ya agregamos en la parte anterior.
¿Qué pasos seguir para la segmentación y modelado?
Después de estructurar y combinar la información, es hora de segmentar los datos mediante un modelo de K Means, ideal para clústerizar audiencias. Este modelo nos ayuda a identificar patrones como:
- Clientes VIP
- Nuevos clientes
- Clientes con alto potencial de compra
El proceso de K Means implica definir uno o más centroids, y puede ser iniciado utilizando el siguiente script SQL:
CREATE MODEL `project.dataset.model_name`
OPTIONS(
model_type='kmeans',
num_clusters = 9,
distance_type = 'euclidean')
AS
SELECT
variable_1,
variable_2
FROM
data;
¿Cómo determinar el número adecuado de clusters?
No es prudente implementar demasiadas campañas al mismo tiempo. La estrategia del "codo" o "elbow" en inglés, nos permite optimizar el número de clústers. Esto implica analizar la curva de inercia versus número de clústers para identificar un punto donde agregar más clústers no mejora sustancialmente la compactación del modelo.
Al graficar los resultados de esta técnica, buscaremos un punto en el gráfico donde la pendiente empieza a aplanarse, indicando el número óptimo de clústers. Este análisis ayudará a negociar eficientemente con los departamentos de marketing.
Conclusión
Este proceso de estructuración y segmentación de datos, aunado a un análisis correcto del número de clústers, optimiza de manera efectiva las campañas de marketing. La importancia de un enfoque basado en datos para la toma de decisiones empresariales no puede subestimarse. Prueba estas técnicas y prepárate para potenciar las interacciones con tus clientes. ¡Sigue aprendiendo y mejorando!