Volver al portafolio

Telecom X: Predicción de Abandono (Churn)

Proyecto Challenge Alura Latam. Construcción de un modelo de clasificación para anticipar la fuga de clientes, permitiendo pasar de estrategias reactivas a retención proactiva.

Python Scikit-learn Logistic Regression SMOTE Pandas
Análisis de Churn

El Reto: Retención de Clientes

En telecomunicaciones, perder un cliente es más costoso que retenerlo. El desafío fue analizar la base de datos para entender por qué se van y predecir quiénes serán los siguientes.

Definición del Problema

Target (Y) Abandono (Sí/No)
Ingeniería de Datos
• Limpieza de Nulos
• One-Hot Encoding
• Escalado MinMax

Ingeniería de Datos y Análisis

  • Limpieza: Detección de valores nulos y conversión crítica de la columna 'Cargos Totales' a formato numérico.
  • Transformación: Los algoritmos no entienden texto. Apliqué One-Hot Encoding para variables como 'Fibra Óptica' y MinMax Scaling para normalizar los cargos monetarios.
  • Desbalance Detectado: El EDA reveló que había muchos más clientes fieles que fugas. Esto hacía que los modelos "aprendieran" a decir siempre "se queda", ignorando el problema real.

¿Qué impulsa el abandono?

El modelo no es una caja negra. Identificamos las variables con mayor peso predictivo para entender el comportamiento del cliente. El análisis reveló que el factor económico (Cargos Mensuales) y la antigüedad son determinantes. Además, ciertos servicios premium (Fibra Óptica, Streaming) muestran una correlación alta con la fuga, probablemente debido a ofertas competitivas o expectativas de calidad no cumplidas.

Variables de Mayor Impacto

#1 Impacto

Cargos Mensuales
Mayor costo = Mayor riesgo de fuga.

#2 Lealtad

Meses como cliente
Clientes nuevos son más volátiles.

Servicios

Fibra Óptica & Streaming TV
Servicios críticos en la decisión.

Batalla de Algoritmos: ¿Cuál elegir?

No me conformé con el primer resultado. Evalué 3 escenarios para encontrar el equilibrio entre precisión y detección de fugas (Recall).

Random Forest

Recall: 47%

Alta exactitud general, pero pésimo detectando fugas reales. Dejaba escapar a más de la mitad de los clientes en riesgo.

Logistic Reg. (Base)

Recall: 53%

Mejoró levemente respecto al bosque aleatorio, pero seguía siendo insuficiente para una estrategia de negocio agresiva.

LogReg + SMOTE

Recall: 73% (Ganador)

El balanceo de clases disparó la capacidad de detección. Prioricé este modelo porque es más costoso perder un cliente que dar un descuento innecesario.

Conceptos Clave del Modelo

Para lograr el resultado del 73%, utilicé dos conceptos técnicos clave, explicados de forma sencilla.

¿Qué es SMOTE?

Imagina que tienes 90 clientes felices y solo 10 enojados. Si entrenas así, el modelo aprenderá a ignorar a los enojados.

SMOTE (Synthetic Minority Over-sampling Technique) crea "clones digitales" de esos clientes enojados basándose en sus características, equilibrando la balanza 50/50 para que el modelo esté obligado a aprender a detectarlos.

¿Por qué Regresión para Clasificar?

  • No es una regresión normal: Aunque se llama "Regresión Logística", se usa para clasificación binaria (Sí/No).
  • Probabilidad: En lugar de predecir un número infinito, calcula la probabilidad (entre 0 y 1) de que un cliente abandone.
  • Decisión: Si la probabilidad supera el 50% (umbral), el modelo lo etiqueta como "Riesgo de Abandono", permitiendo a la empresa actuar.

Entrega de Valor y Resultados

Métricas Finales

Recall (Detección) 73%
Accuracy (Exactitud) 76%
Status Serializado (.pkl)

Impacto Potencial

  • Retención Proactiva: Gracias al Recall del 73%, la empresa puede identificar correctamente a 7 de cada 10 clientes que están pensando en irse.
  • Minimización de Riesgo: Al priorizar el Recall, aceptamos algunos "falsos positivos" (clientes que parecen irse pero no lo harían) porque el costo de darles un incentivo es mucho menor que el costo de perder un cliente real.
  • Listo para Producción: El modelo final fue exportado con Joblib, listo para integrarse en el CRM de la empresa.