Predicción proactiva de fuga de clientes (Churn) utilizando Regresión Logística y segmentación conductual con K-Means.
Este proyecto aborda la problemática operativa de retención de clientes en la cadena "Model Fitness". Al detectar que la métrica tradicional de "churn" era reactiva, el objetivo fue deconstruir los patrones subyacentes de los socios y predecir financieramente la cancelación a través de un enfoque basado puramente en datos.
- Predecir la Fuga (Predictive Churn): Desarrollar un modelo de Machine Learning que identifique con alta precisión (Priorizando la métrica de Recall) a los clientes en riesgo inminente en el próximo mes.
- Identificar "User Personas" (Clustering): Perfilar matemáticamente los grupos de riesgo (Segmentación K-Means) para brindar orientaciones tácticas al equipo de Marketing y guiar el presupuesto de retención.
Utilizando Regresión Logística, el modelo logró un Recall del 82.32% y una Exactitud del 90.25%. Detectamos que:
- Frecuencia Crítica: La variable
avg_class_frequency_current_monthes el predictor #1. Una caída a ~1 sesión/semana es una alerta roja infalible de deserción. - Ventana de Oportunidad: El churn ocurre principalmente en el primer mes de vida (Lifetime ~0.99), lo que exige un onboarding agresivo.
La segmentación matemática aisló los perfiles de riesgo sin sesgos previos:
- 🚨 Clústeres 0 y 4 (Riesgo Crítico >45%): Definidos por la ausencia de contratos anuales y, en el caso del Cluster 4, por una barrera de proximidad física (
near_location= 0). - 🛡️ Clústeres 1 y 2 (Zonas Seguras <6%): Clientes "Power Users" blindados por integración social (clases grupales) y convenios corporativos estables.
- 🎯 Cluster 3 (Oportunidad de Oro): El segmento "Social por Invitación". Con un churn del 26%, son los candidatos ideales para campañas de Up-selling a contratos largos.
El proyecto sigue una arquitectura profesional escalable, separando el análisis exploratorio (Storytelling) de la lógica algorítmica pesada.
model_fitness_churn_prediction/
├── data/
│ ├── raw/ # Datos originales base (gym_churn_us.csv)
│ └── processed/ # Datos (.parquet)
├── notebooks/
│ ├── fitness_data_clean.ipynb # Python Storytelling: Limpieza exploratoria visual
│ └── model_fit_churn_prediction.ipynb # Python Storytelling: Modelos ML y segmentación
├── src/ # Código modularizado
│ ├── data/ # Data Pipeline y manejo nulos (data_loader.py, data_cleaner.py)
│ ├── features/ # Feature engineering avanzado (build_features.py)
│ ├── models/ # ML, K-Means (churn_model.py, clustering.py, metrics_eval.py)
│ └── visualization/ # Funciones gráficas (plots.py, setup_env.py)
├── .gitignore # Reglas estrictas para omisión de data local procesada
├── environment.yml # Entorno virtual Conda recomendado
├── requirements.txt # Alternativa de gestor de paquetes pip
├── LICENSE # Licencia MIT de uso abierto
└── README.md
Nota Crítica sobre los Datos: Los datos crudos están integrados en
data/raw/para garantizar la replicabilidad total de este proyecto por cualquier analista o reclutador. Los datos limpios (.parquet) se omiten intencionalmente; estos se generarán de forma automática localmente una vez que ejecutes el primer cuaderno (fitness_data_clean.ipynb).
El repositorio está diseñado para ambientes locales empleando las mejores prácticas de ingeniería de datos, optimizando la memoria mediante el backend de PyArrow y Copy-on-Write estricto de Pandas 3.0+.
Elige una de las dos opciones para recrear este entorno localmente:
Para una réplica matemáticamente idéntica del ecosistema base de trabajo:
git clone https://github.com/IsaacEx/model-fitness-churn-prediction.git
cd model-fitness-churn-prediction
conda env create -f environment.yml
conda activate fit_ml
jupyter notebookAlternativa utilizando dependencias estándar genéricas de Python:
git clone https://github.com/IsaacEx/model-fitness-churn-prediction.git
cd model-fitness-churn-prediction
python -m venv venv
# Activar el entorno de acuerdo al sistema operativo:
# Windows: venv\Scripts\activate | Mac/Linux: source venv/bin/activate
pip install -r requirements.txt
jupyter notebook| Categoría | Tecnología / Herramienta | Aplicación en el Proyecto |
|---|---|---|
| Arquitectura Code | Python (3.12+) |
Lenguaje transversal y creación de librerías locales en la carpeta src/. |
| Big Data Processing | Pandas (3.0+), PyArrow, Numpy |
Limpieza estructurada y optimización de RAM usando Copy-on-Write. |
| Machine Learning | Scikit-Learn, SciPy |
Regresión Logística, Random Forest, y Dendrogramas para clustering de K-Means. |
| Data Viz | Seaborn, Matplotlib |
Visualizaciones de negocio de alto impacto (Heatmaps, Correlaciones, Boxplots). |
| Storytelling & DevOps | Jupyter Notebooks, Conda / Pip |
Ejecución ejecutiva explicable; Gestión replicable de entorno virtual (fit_ml). |
La refactorización arquitectónica de este repositorio (migración de un Jupyter Notebook monolítico hacia un entorno modular escalable con scripts algorítmicos .py) fue orquestada en conjunto utilizando un Workflow Agéntico de IA.
La IA asistió en la estandarización PEP 8, la modularización funcional y la abstracción de lógicas de ploteo complejas. Por su parte, la toma de decisiones estratégicas, validación de supuestos estadísticos, Feature Engineering y el Business Storytelling fueron liderados íntegramente por el raciocinio direccional humano.
Este proyecto está liberado bajo la Licencia MIT, lo que permite su uso y modificación indicando la autoría.
Proyecto diseñado, estructurado y documentado por:
- Autor: Isaac Esteban Martínez Ortega.
- Especialidad: Marketing & Big Data (Analista de Negocios y Consultor Estratégico).