-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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
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.
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 ) |
- 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.
-
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.
- Carga y limpieza del dataset desde archivo CSV o base SQLite.
-
Conversión a base de datos SQL (
telco_churn.db
) para análisis alternativo. - Selección y transformación de variables predictivas.
-
Entrenamiento del modelo con
RandomForestClassifier
. - Evaluación del modelo mediante matriz de confusión y métricas de clasificación.
-
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.
-
-
📊 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.
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.