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_edadygrupo_uso) mediante lógica de negocio y librerías comoNumPy,Pandas,SeabornyMatplotlib. - 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.
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
.ipynbdirectamente a Google Colab. - Sube el archivo CSV del dataset a la sección de archivos de la izquierda.
- Haz clic en el botón "Open in Colab" (si está disponible en el notebook) o sube el archivo
- Entorno Local:
- Asegúrate de tener instalado Python 3.8+ y las librerías:
pandas,numpy,matplotlibyseaborn. - Ejecuta
jupyter notebooken tu terminal y abre el archivo correspondiente.
- Asegúrate de tener instalado Python 3.8+ y las librerías:
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
NaNen las columnas de llamadas y mensajes. - Aplica la función de clasificación
grupo_usoutilizando el código de vectorización (np.selectonp.where) detallado en el notebook. - Genera las gráficas de distribución utilizando
seabornpara 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