Machine Learning en Snowflake: Python + Tableau / Looker

 

Integración de Machine Learning en Snowflake con Python + Dashboard en Tableau / Looker

Vamos a agregar modelos de Machine Learning en Snowflake

Utilizando Python y luego integrar los resultados.

En Tableau o Looker para visualización.

Escenario del Proyecto

La empresa SaaS quiere predecir la probabilidad

De que un cliente cancele su suscripción Churn Prediction

Usando datos históricos de clientes almacenados en Snowflake.

Preparar datos en Snowflake con dbt.

Entrenar un modelo de Machine Learning en Python usando XGBoost.

Guardar los resultados en Snowflake.

Conectar Snowflake con Tableau/Looker para visualizar el riesgo de cancelación.

Preparación de Datos en Snowflake con dbt

Objetivo

Crear una tabla limpia con información de clientes para entrenar el modelo.

Modelo SQL en dbt models/customer_features.sql

Ejecutar el modelo en dbt

Resultado

Se crea una tabla en Snowflake

Con datos listos para Machine Learning.

 

 

Entrenar un Modelo de Machine Learning en Python (XGBoost)

 

Objetivo: Predecir si un cliente cancelará su suscripción.

Conectar Python con Snowflake

Instalar dependencias

Cargar Datos desde Snowflake en Python

Resultado: Se entrena un modelo con XGBoost y se obtiene la precisión.

Guardar Predicciones en Snowflake

Objetivo

Guardar la probabilidad de churn en Snowflake para su análisis en BI.

 

Conectar Snowflake con Tableau/Looker

 

Objetivo: Crear un Dashboard de Churn Prediction.

Conectar Snowflake a Tableau

Abrir Tableau y seleccionar Snowflake como fuente de datos.

Ingresar credenciales y seleccionar la tabla analytics.churn_predictions.

Crear visualizaciones:

Heatmap de probabilidad de churn.

Segmentación por gasto total y soporte recibido.

Conectar Snowflake a Looker

Configurar Snowflake en Looker

Admin > Connections > Add Connection

Crear un Modelo LookML

 

Diseñar un Dashboard con gráficos de riesgo de cancelación.

Resultado

El equipo de negocio puede ver clientes en riesgo.

De cancelación y tomar acciones.

 

Paso Herramienta Resultado
ETL dbt + Snowflake Datos de clientes listos
ML Python + XGBoost Modelo de predicción
BI Tableau / Looker Dashboard interactivo

 

 

Mejora del Modelo + Automatización con Airflow

 

Optimizar el modelo de predicción de churn

Agregando nuevas variables y automatizando.

El flujo de datos con Apache Airflow.

Mejora del Modelo de Machine Learning

Objetivo

Agregar nuevas variables para mejorar la precisión del modelo.

Actualmente usamos:

Gasto total del cliente

Número de logins

Número de tickets de soporte

Nuevas variables a incluir:

Días desde la última compra

Frecuencia de pagos (mensual, trimestral, anual)

Dispositivo usado (móvil, desktop, tablet)

Interacción con emails de la empresa (open rate, click rate)

 

Modificar dbt para incluir nuevas variables

Editar models/customer_features.sql en dbt

Ejecutar dbt para actualizar la tabla en Snowflake

Resultado:

Ahora tenemos más información predictiva para mejorar el modelo.

 

Reentrenamiento del Modelo XGBoost con Nuevas Variables

 

Objetivo

Entrenar el modelo con las nuevas variables para mejorar su precisión.

 

Cargar los nuevos datos en Python

Mejoras del modelo

Usamos más datos para mejorar la precisión.

Ajustamos hiperparámetros

Convertimos variables categóricas

Resultado

Un modelo más preciso y con más variables predictivas.

 

Automatización del Flujo con Apache Airflow

 

Objetivo

Automatizar el proceso de ETL + entrenamiento del modelo + carga de predicciones en Snowflake.

Instalación de Airflow

Creación de un DAG en Airflow (churn_prediction_dag.py)

Explicación

Airflow ejecuta dbt para actualizar datos en Snowflake.

Se entrena el modelo y se guardan las predicciones automáticamente.

Se programa para ejecutarse todos los días schedule_interval=’@daily’

Resultado

El modelo se actualiza automáticamente cada día con nuevos datos.

 

Paso  Mejora Implementada
Más variables en el modelo Días desde última compra, emails abiertos, dispositivo usado
Optimización de Machine Learning XGBoost con más datos y tuning de hiperparámetros
Automatización con Airflow Flujo de ETL + ML + carga de predicciones en Snowflake

 

 

Integración de Alertas Automáticas para Churn Prediction

 

Vamos a integrar un sistema de alertas automáticas

Notificar cuando un cliente tenga alta probabilidad de churn.

Condición

Si un cliente tiene churn_probability > 0.8

Se enviará una notificación por email y Slack.

Automatización con Airflow

Se ejecutará todos los días después de la predicción.

Agregar una Función de Alertas en Airflow

Objetivo

Leer las predicciones de Snowflake

Enviar alertas si la probabilidad de churn es alta.

Instalar dependencias necesarias

Explicación del Flujo

Consulta en Snowflake

Se obtienen clientes con churn_probability > 0.8.

Envía email a Soporte con la lista de clientes en riesgo.

Envía notificación en Slack al canal #alertas-churn.

Se ejecuta automáticamente cada día en Airflow (schedule_interval=’@daily’).

3. Resultados

Ejemplo de Email

Asunto:  Clientes en Riesgo de Churn

 

Ejemplo de Notificación en Slack

 

Se automatizó la detección de clientes en riesgo con Snowflake.

Se envían alertas automáticas a email y Slack con Airflow.

Soporte puede actuar rápidamente y evitar cancelaciones.

 

Integración de Alertas Automáticas con WhatsApp y CRM

 

Vamos a mejorar el sistema de alertas integrando.

WhatsApp y un CRM mediante webhooks.

WhatsApp

Se enviará un mensaje automático a un número de soporte.

Cuando un cliente esté en riesgo.

CRM HubSpot, Salesforce, o cualquier otro

Se creará automáticamente un ticket de soporte

cuando un cliente tenga churn_probability > 0.8.

Configuración del Webhook para WhatsApp

Usaremos la API de Twilio WhatsApp para enviar mensajes automáticos.

 

Paso 1: Crear una cuenta en Twilio y obtener el API Token

Ir a Twilio Console.

Crear un número de WhatsApp.

Obtener ACCOUNT_SID, AUTH_TOKEN, y el número de WhatsApp de Twilio.

Paso 2: Instalar la librería de Twilio en Python

Paso 3: Función para Enviar WhatsApp

Integración en Airflow

Modificar el DAG de Airflow para incluir WhatsApp y CRM

 

Flujo Completo

Paso Acción
Detectar clientes en riesgo Consultamos Snowflake para obtener clientes con churn > 0.8
Enviar WhatsApp Mensaje automático con lista de clientes en riesgo
Crear Ticket en CRM Se genera un ticket en HubSpot con prioridad alta
Automatizar con Airflow El flujo se ejecuta diariamente

 

 

Beneficios de la Automatización

Respuestas rápidas: Soporte recibe alertas en tiempo real.

Evita cancelaciones: Se pueden contactar clientes antes de que se vayan.

Automatización total: Airflow ejecuta todo automáticamente.

 

 

 

Manu Duque
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal.

Puedes revisar nuestra política en la página de Política de Privacidad, Condiciones de Uso y Cookies.