Unidad 7 - Clustering: Fundamentos y Métricas
Introducción al Business Analytics · Semana 10 · 06278-ECO
1 Objetivo de la semana
El foco está en segmentación como herramienta de decisión: descubrir grupos naturales en los datos sin una variable de resultado (target), para luego describirlos, nombrarlos y convertirlos en acciones de negocio.
1.1 Lo que cubriremos
- Lógica del clustering: similitud, escala, diferencia con clasificación
- K-means: centroides, WCSS, limitaciones
- Elegir k: método del codo, silueta, interpretabilidad
- Perfilar segmentos: de números a nombres de negocio
Conexión con semana 9
En la semana anterior vimos que en problemas no supervisados no hay etiqueta que diga si acertamos. Esta semana lo vivimos: un cluster es útil si tiene sentido de negocio, no si “da un número alto”.
| Semana 09 | Semana 10 |
|---|---|
| Pipeline ML, train/test, métricas | Primer algoritmo: k-means |
| Supervisado vs. no supervisado (concepto) | No supervisado en la práctica |
| Accuracy, RMSE | Elbow, silhouette (sin “respuesta correcta”) |
2 ¿Por qué segmentar?
Antes de hablar de algoritmos, pensemos en el problema de negocio. Imagina que tienes 10,000 clientes y un presupuesto limitado de marketing. Tratar a todos igual es ineficiente: no todos quieren lo mismo, no todos compran igual, no todos responden al mismo mensaje. La segmentación busca identificar grupos internamente homogéneos (los miembros de un grupo se parecen entre sí) y externamente diferentes (los grupos se distinguen entre sí).
2.1 Criterio de un buen clustering
Un buen agrupamiento logra dos cosas simultáneamente:
- Alta similitud intra-grupo — los clientes dentro de un mismo segmento se parecen mucho entre sí.
- Alta diferencia inter-grupo — los segmentos son claramente distintos unos de otros.
Si todos los clientes terminan en un solo grupo, no segmentamos nada. Si cada cliente es un grupo aparte, tampoco sirve. El reto es encontrar el punto intermedio que sea útil para tomar decisiones.
2.2 Ejemplos de preguntas de segmentación en negocios:
- ¿Qué perfiles de clientes tenemos según frecuencia, monto y recencia de compras?
- ¿Qué zonas geográficas se comportan de manera similar en ventas?
- ¿Qué productos se agrupan según su patrón de demanda estacional?
En todos estos casos, nadie nos dice de antemano cuántos grupos hay ni cuáles son. El algoritmo los descubre.
3 La intuición detrás de k-means
3.1 Similitud = cercanía
La idea central del clustering es simple: observaciones que están “cerca” entre sí pertenecen al mismo grupo. Pero ¿qué significa “cerca”?
En la vida cotidiana, decimos que dos clientes son “similares” si compran parecido, gastan montos parecidos, visitan con frecuencia parecida. En términos numéricos, cada cliente es un punto en un espacio donde cada eje es una variable (monto, frecuencia, recencia). La distancia entre dos puntos mide qué tan diferentes son.
¿Por qué escalar importa tanto?
Si una variable está en pesos (rango: 0–5,000,000) y otra en número de visitas (rango: 1–20), la distancia la domina completamente la variable en pesos. El algoritmo “ve” las diferencias en monto como enormes y las diferencias en frecuencia como despreciables.
Escalar (estandarizar) las variables las pone en una escala comparable. Sin este paso, el clustering refleja diferencias de unidades, no de comportamiento real.
Regla práctica: siempre escalar las variables numéricas antes de aplicar k-means.
3.2 El algoritmo k-means en 4 pasos
k-means es el algoritmo de clustering más usado por su simplicidad e interpretabilidad. Funciona así:
3.2.1 ¿Cómo funciona k-means? (versión intuitiva)
Imagina que eres gerente de logística y necesitas colocar k bodegas para atender a tus clientes distribuidos en un mapa. Quieres que cada bodega quede lo más cerca posible de los clientes que atiende.
- Inicio: Colocas k bodegas en posiciones aleatorias del mapa.
- Asignación: Cada cliente se asigna a la bodega más cercana.
- Actualización: Mueves cada bodega al centro geográfico de sus clientes asignados.
- Repetición: Repites los pasos 2 y 3 hasta que las bodegas ya no se muevan (convergencia).
Las “bodegas” son los centroides. Los “clientes asignados a cada bodega” son los clusters.
Lo que k-means optimiza: minimizar la suma de distancias entre cada punto y el centroide de su cluster. En lenguaje técnico: minimiza la within-cluster sum of squares (WCSS) — la “compactación” total de los grupos.
3.3 Explóralo tú mismo: K-Means Playground
Antes de seguir con las limitaciones, experimenta con el algoritmo paso a paso. Usa los controles para ver exactamente qué ocurre en cada iteración.
¿Qué explorar aquí?
- Selecciona “Blobs separados” y corre el algoritmo paso a paso: Inicializar → Asignar → Mover centroides → repetir. Observa cómo cambia el WCSS en cada iteración.
- Prueba el mismo dataset pero reiniciando varias veces con el mismo k. ¿Los centroides arrancan siempre en el mismo lugar? ¿El resultado final cambia?
- Cambia a “Anillos” con k = 2. ¿Por qué k-means falla aquí? ¿Qué limitación del algoritmo explica esto?
- Prueba “Grupos desiguales” con k = 3. Observa la silueta: ¿sube o baja comparado con “Blobs separados”?
3.4 Limitaciones de k-means
Como todo algoritmo, k-means tiene supuestos y limitaciones que debemos conocer para no interpretar mal los resultados:
Limitaciones que debes tener en cuenta
Hay que elegir k de antemano — el algoritmo no decide cuántos grupos hay; nosotros le decimos cuántos buscar.
Sensible a la inicialización — como los centroides arrancan en posiciones aleatorias, dos ejecuciones pueden dar resultados distintos. (Solución: correr k-means varias veces y quedarse con el mejor resultado; R lo hace por defecto con
nstart.)Asume clusters esféricos y de tamaño similar — si los grupos reales tienen formas alargadas o tamaños muy desiguales, k-means puede agrupar mal.
Sensible a outliers — un punto extremo jala el centroide hacia sí y distorsiona el cluster.
Solo variables numéricas — k-means calcula distancias, que requieren números. Las variables categóricas necesitan tratamiento previo.
Estas limitaciones no invalidan k-means — lo hacen el algoritmo más usado en la práctica precisamente porque es simple, rápido y fácil de interpretar. Pero debemos tenerlas presentes al leer los resultados.
4 ¿Cuántos clusters? Elegir k
Este es el paso más importante y donde más se equivocan los principiantes. No hay una respuesta “correcta” automática; hay métodos que nos orientan y un criterio final de negocio.
4.1 Método del codo (elbow method)
La idea es sencilla: probamos k-means para k = 2, 3, 4, 5, … y graficamos cómo cambia la compactación (WCSS) a medida que aumentamos k.
¿Cómo se lee el gráfico del codo?
- El eje X muestra el número de clusters (k).
- El eje Y muestra la WCSS (within-cluster sum of squares) — qué tan “apretados” están los puntos dentro de cada grupo.
- A medida que k crece, la WCSS siempre baja (más grupos = más compactos).
- El “codo” es el punto donde agregar un cluster más ya no mejora mucho la compactación.
Piensa en una analogía: si tienes 100 paquetes y 1 bodega, todo queda lejos. Con 2 bodegas, mejora mucho. Con 3, mejora un poco más. Con 50, apenas cambia. El “codo” es donde la mejora marginal deja de justificar la complejidad.
Ojo: el codo no siempre es claro. A veces la curva baja suavemente sin un quiebre obvio. En esos casos, el elbow method da una orientación, pero no una respuesta definitiva.
4.2 Método de la silueta (silhouette)
La silueta mide qué tan bien clasificado está cada punto: ¿está más cerca de su propio cluster que del cluster vecino más cercano?
¿Cómo se interpreta la silueta?
Para cada observación, el coeficiente de silueta va de -1 a +1:
| Valor | Significado |
|---|---|
| Cercano a +1 | El punto está bien asignado — muy cerca de su cluster, lejos de los demás |
| Cercano a 0 | El punto está en la frontera entre dos clusters |
| Negativo | El punto probablemente está en el cluster equivocado |
Para elegir k, calculamos la silueta promedio para cada valor de k y elegimos el k que la maximiza. A diferencia del codo, aquí sí hay un máximo claro (el k con mejor silueta promedio).
4.3 El criterio final: interpretabilidad
Los métodos cuantitativos (elbow, silhouette) nos dan un rango razonable de k. Pero la decisión final debe considerar:
¿Los clusters tienen sentido de negocio?
Hazte estas preguntas para cada agrupamiento candidato:
¿Puedo nombrar cada cluster? — Si no puedes ponerle un nombre descriptivo (“clientes frecuentes de bajo monto”, “compradores esporádicos de alto ticket”), probablemente no es un buen agrupamiento.
¿Puedo accionar sobre cada cluster? — ¿Puedo diseñar una estrategia diferente para cada segmento? Si dos clusters recibirían la misma acción, probablemente deberían ser uno solo.
¿El tamaño de los clusters es razonable? — Un cluster con 3 clientes de 10,000 probablemente es ruido, no un segmento accionable.
¿Es estable? — Si corro el algoritmo otra vez y los grupos cambian drásticamente, la segmentación no es confiable.
Regla práctica: si el elbow sugiere k = 4 y la silueta sugiere k = 3, prueba ambos y elige el que genere los segmentos más claros y accionables.
5 Perfilamiento: de números a decisiones
Una vez asignados los clusters, el trabajo analítico apenas comienza. El paso más valioso es perfilar cada segmento: describir qué lo caracteriza y qué lo diferencia de los demás.
5.1 ¿Cómo se perfila un cluster?
El perfilamiento típico incluye:
- Tabla de promedios (o medianas) por cluster — para cada variable, ¿cuál es el valor típico en cada segmento?
- Tamaño de cada cluster — ¿cuántas observaciones tiene? ¿Es un segmento grande o un nicho?
- Visualizaciones comparativas — boxplots o barras que muestren cómo se distribuye cada variable en cada cluster.
Ejemplo de tabla de perfilamiento
Supongamos que segmentamos clientes usando tres variables: monto promedio de compra, frecuencia mensual y recencia (días desde la última compra).
| Cluster | Nombre sugerido | Monto promedio | Frecuencia | Recencia (días) | Tamaño |
|---|---|---|---|---|---|
| 1 | Frecuentes de bajo monto | $45,000 | 8.2 | 5 | 4,200 |
| 2 | Esporádicos de alto ticket | $320,000 | 1.1 | 45 | 1,800 |
| 3 | Inactivos | $28,000 | 0.3 | 120 | 4,000 |
Lectura: El cluster 1 compra seguido pero montos pequeños → candidatos a programa de lealtad con upgrades. El cluster 2 compra poco pero gasta mucho → mantener relación personalizada. El cluster 3 lleva mucho sin comprar → campaña de reactivación o aceptar como perdidos.
Los centroides son promedios, no descripciones exactas
El centroide de un cluster es el punto promedio del grupo. No todos los miembros del cluster son idénticos al centroide. Siempre revisa la dispersión dentro de cada cluster (usando boxplots o desviaciones estándar) para saber qué tan homogéneo es realmente el segmento.
5.2 Nombrar los clusters
Los algoritmos devuelven etiquetas numéricas (“Cluster 1”, “Cluster 2”…). Tu trabajo como analista es traducir esos números a nombres de negocio. Esto es lo que hace que la segmentación sea comunicable y accionable.
Buenos nombres son cortos, descriptivos y orientados a la acción:
- “VIP dormidos” (alto gasto histórico, inactivos recientemente)
- “Cazadores de ofertas” (compran solo en descuentos, sensibles a precio)
- “Nuevos exploradores” (clientes recientes, pocas compras, variedad de categorías)
Malos nombres son los que no dicen nada: “Grupo A”, “Cluster grande”, “Los del medio”.
6 Alternativas a k-means (alto nivel)
k-means es el punto de partida, pero no la única opción. Conviene conocer dos alternativas para saber cuándo podrían ser más apropiadas:
Clustering jerárquico
- No requiere elegir k de antemano — construye una jerarquía completa de agrupamientos que se puede “cortar” a cualquier nivel.
- Produce un dendrograma: un árbol que muestra cómo se fusionan (o dividen) los grupos progresivamente.
- Útil cuando quieres explorar la estructura a distintos niveles de granularidad (¿2 macro-segmentos o 6 micro-segmentos?).
- Desventaja: más lento con datasets grandes.
DBSCAN (opcional)
- Encuentra clusters de forma irregular (no solo esféricos como k-means).
- Identifica outliers automáticamente — los puntos que no pertenecen a ningún cluster.
- No requiere especificar k, pero requiere otros parámetros (radio de vecindad y mínimo de puntos).
- Útil cuando sospechas que los grupos tienen formas no convencionales o hay mucho ruido.
| Método | Elige k antes | Forma de clusters | Manejo de outliers | Escalabilidad |
|---|---|---|---|---|
| k-means | Sí | Esféricos | Sensible (los absorbe) | Muy buena |
| Jerárquico | No (corta después) | Flexible | Moderado | Limitada en big data |
| DBSCAN | No | Arbitraria | Excelente (los separa) | Buena |
Para este curso, k-means es el algoritmo central. Las alternativas son contexto para que sepas que existen y puedas mencionarlas si el problema lo amerita.
7 El flujo completo de un proyecto de segmentación
7.1 Pipeline de segmentación (paso a paso)
Definir la pregunta de negocio — ¿Qué queremos segmentar y para qué? (clientes para personalizar campañas, productos para optimizar inventario, zonas para asignar vendedores…)
Seleccionar y preparar variables — Elegir solo las variables relevantes para la pregunta. Escalar las numéricas. Excluir IDs y variables categóricas no transformadas.
Estimar k-means para varios valores de k — Típicamente k = 2, 3, 4, …, 8 o 10.
Evaluar con elbow y silhouette — Identificar el rango razonable de k.
Elegir k final con criterio de negocio — Perfilar los candidatos y seleccionar el que produzca segmentos nombrables y accionables.
Asignar etiquetas y perfilar — Tabla de promedios por cluster, tamaños, visualizaciones.
Comunicar y recomendar — Nombrar los segmentos, describir sus características y proponer acciones diferenciadas para cada uno.
7.2 Conexión con el proyecto final
El Caso C del proyecto final es exactamente un problema de segmentación. Seguirás este pipeline completo: desde elegir variables y escalar, hasta nombrar los clusters y proponer estrategias diferenciadas. La calidad de tu entrega se medirá por la interpretabilidad y accionabilidad de los segmentos, no por la complejidad del algoritmo.
8 Errores frecuentes
Errores que debes evitar
No escalar las variables — El error más común. Si no escalas, el clustering refleja diferencias de unidades, no de comportamiento.
Elegir k solo por el codo — El codo es una guía, no una verdad. Siempre valida con silueta y, sobre todo, con interpretabilidad.
Reportar clusters sin perfilarlos — Decir “encontré 4 clusters” sin describir qué caracteriza a cada uno es inútil para la toma de decisiones.
Incluir variables irrelevantes — Si segmentas clientes para marketing, incluir el código postal como variable numérica distorsiona el resultado. Selecciona variables que tengan sentido para la pregunta.
Olvidar que los clusters no son verdades absolutas — Son una simplificación útil. Un cliente asignado al cluster 2 puede estar en la frontera con el cluster 3. No trates las asignaciones como certezas.
Interpretar el centroide como “el cliente típico” — El centroide es un promedio, y los promedios pueden ser engañosos. Siempre revisa la dispersión dentro de cada cluster.
9 Preguntas de comprensión
1. Supervisado vs. no supervisado
Un banco tiene datos de 50,000 clientes con variables como saldo promedio, número de productos contratados, antigüedad y frecuencia de transacciones digitales. El banco quiere identificar perfiles de clientes para diseñar ofertas personalizadas, pero no tiene una variable que diga a qué segmento pertenece cada cliente.
¿Esto es un problema supervisado o no supervisado? ¿Por qué?
Respuesta esperada: No supervisado, porque no hay una variable de resultado (target) que indique los grupos. El algoritmo debe descubrirlos a partir de los patrones en los datos.
2. Escalamiento
Un analista aplica k-means a clientes usando dos variables: ingreso anual (rango: $10,000,000 – $200,000,000) y número de compras mensuales (rango: 1 – 30). Los clusters resultantes separan casi perfectamente por ingreso, ignorando la frecuencia de compra.
¿Qué salió mal y cómo se corrige?
Respuesta esperada: No escaló las variables. El ingreso tiene un rango miles de veces mayor que el número de compras, así que domina completamente el cálculo de distancias. Se corrige estandarizando ambas variables antes de aplicar k-means.
3. Interpretación de clusters
Después de aplicar k-means con k = 3 a una base de clientes, obtienes esta tabla de perfilamiento:
| Cluster | Monto promedio | Frecuencia mensual | Recencia (días) | N clientes |
|---|---|---|---|---|
| 1 | $380,000 | 1.2 | 60 | 2,100 |
| 2 | $52,000 | 7.5 | 4 | 5,400 |
| 3 | $15,000 | 0.4 | 180 | 2,500 |
- Propón un nombre de negocio para cada cluster.
- Sugiere una acción diferente para cada segmento.
Respuestas esperadas:
Cluster 1: “Alto ticket esporádico” o “Premium dormido”. Cluster 2: “Frecuente de bajo monto” o “Leal cotidiano”. Cluster 3: “Inactivo” o “En riesgo de abandono”.
Cluster 1: comunicación personalizada, acceso anticipado a nuevos productos. Cluster 2: programa de lealtad, descuentos por volumen o upgrades. Cluster 3: campaña de reactivación con incentivo; si no responde, reclasificar como perdido.
9.1 Material adicional (opcional)
Si quieres profundizar:
- An Introduction to Statistical Learning (ISLR) — Capítulo 12 (Unsupervised Learning): explicación accesible de k-means y clustering jerárquico con ejemplos visuales — disponible gratis online
- from-data-to-viz.com — para elegir visualizaciones cuando perfilen clusters → https://www.data-to-viz.com
- Artículo de Harvard Business Review sobre segmentación de clientes — perspectiva de negocio sobre cómo usar clusters para estrategia comercial
Para esta semana, el material de preclase es suficiente. En clase practicaremos con datos reales paso a paso.