📊 Análisis de Comportamiento y Segmentación de Clientes: ConnectaTel 2024
Este proyecto realiza un análisis exploratorio y descriptivo de la base de usuarios de ConnectaTel, una empresa de telecomunicaciones, con el fin de identificar patrones de uso, segmentos demográficos clave y oportunidades de optimización de ingresos.
El objetivo principal es transformar datos crudos de telecomunicaciones en insights accionables que permitan a la gerencia de ConnectaTel:
- Identificar los segmentos de clientes más valiosos.
- Detectar anomalías de consumo (outliers) y posibles riesgos de fraude.
- Diseñar estrategias de retención para usuarios de bajo uso.
- Optimizar la oferta de planes según la edad y el comportamiento del usuario.
El análisis se basa en el conjunto de dataframes: user, usage y plans, que incluye variables como:
- Demográficas: Edad y Grupo de Edad (Joven, Adulto, Adulto Mayor).
- Comportamiento de Voz: Cantidad de llamadas y duración total en minutos.
- Mensajería: Cantidad de mensajes enviados.
- Nivel de Uso: Variable calculada para segmentar a los usuarios en "Bajo", "Medio" y "Alto" uso.
Nota: Durante el proceso se realizó la limpieza de aproximadamente un 20% de datos nulos en métricas de consumo para asegurar la integridad del reporte.
- Limpieza y Preprocesamiento: Tratamiento de valores nulos (imputación con 0) y corrección de tipos de datos.
- Ingeniería de Características: Creación de columnas de segmentación (grupo_edad y grupo_uso) mediante lógica de negocio y librerías como NumPy, Pandas, Seaborn y Matplotlib.
- Análisis Descriptivo: Evaluación de la distribución demográfica (dominio del 81.3% en segmentos adultos).
- Detección de Outliers: Identificación de patrones de uso extremo (llamadas > 90 min) mediante visualizaciones y análisis estadístico.
- Cruce de Variables: Análisis de la relación entre la edad y la intensidad de uso mediante matrices de correlación y heatmaps.
🚀 Cómo Ejecutar el Proyecto
Para visualizar y ejecutar el análisis de forma interactiva, sigue estos pasos:
- Google Colab (Recomendado):
- Haz clic en el botón "Open in Colab" (si está disponible en el notebook) o sube el archivo .ipynb directamente a Google Colab.
- Sube el archivo CSV del dataset a la sección de archivos de la izquierda.
- Entorno Local:
- Asegúrate de tener instalado Python 3.8+ y las librerías: pandas, numpy, matplotlib y seaborn.
- Ejecuta jupyter notebook en tu terminal y abre el archivo correspondiente.
Para replicar los resultados obtenidos en este repositorio:
- Clona este repositorio: git clone https://github.com/Adrian-Alfonso/telecom-analysis.git
- Carga el DataFrame original.
- Ejecuta la celda de Limpieza de Datos para tratar los valores NaN en las columnas de llamadas y mensajes.
- Aplica la función de clasificación grupo_uso utilizando el código de vectorización (np.select o np.where) detallado en el notebook.
- Genera las gráficas de distribución utilizando seaborn para validar que los porcentajes coincidan con los del reporte (73.2% Uso Medio).
Autor: Adrian Alfonso
Rol: Junior Data Analyst | Ingeniero Industrial
Ubicación: Querétaro, México