Segmentación inteligente
5 Clústeres con Ventanas Horarias de Engagement
Este análisis parte de una base de datos de 212.292 usuarios vinculados a una campaña de email marketing. El objetivo es segmentar la base para identificar patrones de comportamiento y diseñar estrategias de comunicación más efectivas.
| Variable | Descripción | Naturaleza |
|---|---|---|
| id | Identificador único de cada usuario | Categórica nominal |
| send | Cantidad de correos enviados | Numérica (conteo) |
| bounce | Cantidad de correos rebotados | Numérica (conteo) |
| open | Número de aperturas de correo | Numérica (conteo) |
| click | Número de clics en enlaces | Numérica (conteo) |
| buyer | Indica si realizó una compra | Binaria (0/1) |
| hour | Hora más representativa de interacción | Numérica (0–23) |
| day_of_week | Día más representativo de interacción | Numérica (0=Lunes, 6=Domingo) |
hour y day_of_week representan
la hora y el día más típicos de interacción de cada usuario, no un promedio aritmético exacto.
Análisis exhaustivo de calidad de datos y estrategias de transformación para clustering.
total
total por inconsistente e innecesaria,
y se removieron las 17 filas con inconsistencias graves para garantizar la integridad de los datos.
Transformaciones logarítmicas (send, delivered):
Apliqué esta transformación solo a estas dos variables porque, aunque tenían un sesgo positivo marcado (muchos valores pequeños y algunos muy grandes), no estaban dominadas por ceros.
De esta forma, el log reduce la influencia de valores extremos y genera distribuciones más balanceadas para el clustering.
En variables con muchísimos ceros (ej. open, click), el log no aporta mejoras, ya que la concentración de ceros persiste;
en esos casos preferí utilizar únicamente escalado robusto.
Transformaciones trigonométricas (hour, day_of_week):
Estas variables de tiempo no podían ser interpretadas correctamente por el algoritmo en su forma original,
ya que después de las 23h sigue la 0h, y eso no es lineal.
Por eso las transformé en sin_day, cos_day, sin_hour y cos_hour,
de modo que el modelo pudiera capturar su naturaleza cíclica.
Escalado con RobustScaler: Como la mayoría de las variables tenían gran cantidad de outliers, opté por este método de normalización, que es menos sensible a valores extremos. Además, es indispensable que todas las variables queden en una misma escala para que el algoritmo de clustering pueda calcular distancias y formar los grupos de manera coherente.
| Variable | Sesgo | % Ceros | % Outliers | Evaluación |
|---|---|---|---|---|
| send | 3.37 | 0.00% | 3.99% | Alto sesgo |
| bounce | 8.40 | 80.08% | 19.92% | Muchos ceros y outliers |
| open | 16.92 | 78.45% | 21.55% | Muchos ceros y outliers |
| click | 67.36 | 96.29% | 3.71% | Sesgo extremo y ceros |
| buyer | -0.48 | 38.34% | 0.00% | Binaria |
| delivered | 2.83 | 18.51% | 3.93% | Sesgo moderado |
| open_rate | -0.19 | 23.65% | 0.00% | Aceptable |
| click_rate | -2.28 | 79.31% | 20.69% | Muchos ceros y outliers |
| sin_day | -1.06 | 3.96% | 20.06% | Trigonométrica |
| cos_day | 0.10 | 0.00% | 0.00% | Trigonométrica |
| sin_hour | 2.23 | 0.09% | 14.67% | Trigonométrica |
| cos_hour | -0.64 | 0.00% | 0.00% | Trigonométrica |
open_rate y click_rate se originaron en la ingeniería de características.
Transformación logarítmica (log1p) para reducir asimetría
+ RobustScaler para manejar outliers
bounce, open, click, open_rate, click_rate
Solo RobustScaler
RobustScaler para suavizar su peso en el clustering
Transformación trigonométrica para capturar ciclicidad
→ sin_day, cos_day, sin_hour, cos_hour
+ RobustScaler para homogeneizar magnitudes
Aunque el coeficiente silhouette fue mayor en K=3, elegí K=5 porque ofrece un mejor equilibrio: mantiene una separación aceptable entre grupos, pero permite mayor granularidad para diseñar estrategias de marketing y RRHH más personalizadas.
Una vez asignada la etiqueta de clúster a cada usuario, realicé un análisis multidimensional para interpretar los segmentos desde perspectivas de negocio y marketing. El objetivo fue caracterizar a cada grupo según tamaño, comportamiento de interacción, conversión y dinámica temporal.
Un análisis tradicional se limitaría a medir tasas globales o al pico de actividad (la moda). En cambio, este enfoque permite detectar patrones de interacción más ricos y realistas: no solo cuándo ocurre el máximo, sino también los intervalos de tiempo y las condiciones (día laboral vs. fin de semana) donde cada clúster tiene mayor probabilidad de interactuar. Esto habilita estrategias de comunicación específicas y efectivas para cada segmento.
Identificación de 5 arquetipos de clientes con distintos niveles de interacción, conversión y entregabilidad.
29.374 usuarios
Bounce crítico (≈62,5%) y entregabilidad ≈9%. Convierte cuando interactúa, pero requiere limpieza inmediata.
48.680 usuarios
Compran (≈69%) pero casi no usan email (87% sin interacción). Probable origen en otros canales.
121.938 usuarios
El cluster más grande, entregabilidad casi perfecta (97%). Bajo engagement, pero convierten al interactuar.
5.598 usuarios
Alta interacción y conversión por email. Responden mejor a campañas matutinas.
6.685 usuarios
El segmento VIP: 100% entregabilidad, open y click rates altísimos. Perfecto para campañas premium.
Acciones recomendadas para cada segmento, priorizadas según su impacto en la entregabilidad, conversión y valor estratégico.
Resumen integral de resultados globales y métricas de los clusters identificados.
Total Envíos
797,751
Rebotes
56,103 (7.0%)
Aperturas
102,711 (12.9%)
Clics
15,308 (1.9%)
Distribución de envíos, rebotes, aperturas, clics y compras según el día.
Proporción de usuarios en cada cluster de segmentación.
Mide qué porcentaje de clics resultó en una compra.
Porcentaje de emails entregados que generaron apertura o clic.
Proporción de clics sobre los emails que fueron abiertos.
La campaña alcanzó casi 800 mil envíos con tasas de apertura del 12,9% y clics del 1,9%. Los miércoles y jueves concentran la mayor interacción. Los clusters 3 y 4 muestran un engagement sobresaliente y alto ROI por email, mientras que el Cluster 0 presenta problemas serios de entregabilidad que requieren limpieza inmediata.
Mel Zárate
Business & Data Strategy | UX-Driven Innovation | Cultural Branding | Python & Machine Learning