Skip to content
Christian Novillo [AyniTics] edited this page May 30, 2025 · 4 revisions

📄 Análisis de Churn en Clientes de Telecomunicaciones

1. Introducción

Este proyecto utiliza aprendizaje automático para analizar la tasa de abandono de clientes (churn) en una empresa de telecomunicaciones. Empleando el dataset telco_customer.csv, se desarrollan modelos predictivos y visualizaciones para identificar patrones y factores críticos que influyen en la pérdida de clientes.

Este dataset fue originalmente publicado por IBM Sample Data Sets y está disponible en plataformas como:

IBM Watson Analytics (original)

Kaggle – Telco Customer Churn

📊 Descripción general

Contexto: Datos de clientes de una empresa de telecomunicaciones ficticia.

Objetivo: Predecir si un cliente abandonará el servicio (Churn: Yes/No).

Tamaño: 7043 registros y ~21 columnas.

🔑 Principales variables

Columna Significado
customerID Identificador único del cliente
tenure Meses como cliente
MonthlyCharges Facturación mensual
TotalCharges Total facturado durante su contrato
Contract Tipo de contrato (Mensual, 1 año, 2 años)
InternetService Tipo de conexión (DSL, Fiber optic, No)
TechSupport Si tiene soporte técnico incluido
Churn Variable objetivo (abandono del cliente: Yes / No)

2. Marco teórico

  • Google Colab: Plataforma colaborativa para análisis de datos en la nube.
  • Pandas: Manejo y análisis de datos estructurados.
  • Matplotlib / Seaborn / PyWalker: Generación de visualizaciones estáticas e interactivas.
  • Scikit-learn: Librería para machine learning, usada para clasificación con Random Forest.
  • SQL: Transformación del CSV a tabla relacional para exploraciones posteriores.

3. Descripción del dataset usado

  • Dataset: telco_customer.csv
  • Columnas principales: tenure, MonthlyCharges, TotalCharges, Contract, Churn, entre otros.
  • Preprocesamiento:
    • Limpieza de valores nulos y espacios en blanco.
    • Conversión de variables categóricas a numéricas para su uso en el modelo.

4. Descripción de los pasos realizados

  1. Carga y limpieza del dataset desde archivo CSV o base SQLite.
  2. Conversión a base de datos SQL (telco_churn.db) para análisis alternativo.
  3. Selección y transformación de variables predictivas.
  4. Entrenamiento del modelo con RandomForestClassifier.
  5. Evaluación del modelo mediante matriz de confusión y métricas de clasificación.
  6. Generación de columnas adicionales:
    • CustomerCategory: Clasificación del cliente según su antigüedad (tenure).
    • ARPU: Promedio de ingreso mensual (TotalCharges / tenure).
    • TotalServices: Número total de servicios contratados por cliente.

4.1 Visualizaciones generadas

  • 📊 Matriz de Confusión – Mide el desempeño del modelo.

  • 📈 Importancia de Características – Permite identificar las variables más influyentes.

  • 🧩 Distribución de Categorías de Clientes vs Churn – Observa el comportamiento de abandono por tipo.

  • 📊 ARPU vs Total de Servicios por Categoría – Relación entre ingresos y cantidad de servicios contratados.


5. Conclusiones

El modelo Random Forest alcanzó una precisión general del 79%, siendo TotalCharges, MonthlyCharges y tenure las variables más influyentes. Las visualizaciones indicaron que los clientes nuevos o con pocos servicios contratados son los más propensos al abandono. Este análisis proporciona una base útil para estrategias de retención más personalizadas y eficaces.


6. Bibliografía