Dataset: Telco Customer Churn
Muestra: 7,043 clientes de una empresa de telecomunicaciones
Variables principales: - Demográficas: gender, SeniorCitizen, Partner, Dependents - Servicios: PhoneService, InternetService, OnlineSecurity, TechSupport, etc. - Cuenta: tenure, Contract, MonthlyCharges, TotalCharges, PaymentMethod - Objetivo: Churn (Si/No - indica si el cliente abandonó el servicio)
Objetivo del análisis: Identificar qué factores influyen en la deserción de clientes para poder predecir y prevenir el churn.
| tenure | MonthlyCharges | TotalCharges | |
|---|---|---|---|
| Min. : 0.00 | Min. : 18.25 | Min. : 18.8 | |
| 1st Qu.: 9.00 | 1st Qu.: 35.50 | 1st Qu.: 401.4 | |
| Median :29.00 | Median : 70.35 | Median :1397.5 | |
| Mean :32.37 | Mean : 64.76 | Mean :2283.3 | |
| 3rd Qu.:55.00 | 3rd Qu.: 89.85 | 3rd Qu.:3794.7 | |
| Max. :72.00 | Max. :118.75 | Max. :8684.8 | |
| NA | NA | NA’s :11 |
Row ——————————————————————————–
Permanencia (Tenure): Se observa una distribución bimodal con muchos clientes nuevos (pocos meses) y clientes de largo plazo (60-72 meses).
Cargos Mensuales: La distribución multimodal sugiere diferentes tipos de planes o paquetes de servicios.
MonthlyCharges: No se observan valores atípicos significativos. La distribución es relativamente uniforme.
TotalCharges: Se identifican algunos valores atípicos en el extremo superior, correspondientes a clientes con larga permanencia y planes costosos.
Tenure: La distribución es simétrica y no presenta valores atípicos.
Matriz de Correlación: Existe una fuerte correlación positiva (0.83) entre TotalCharges y tenure, lo cual es esperado ya que los clientes con mayor permanencia acumulan mayores cargos totales.
Diagrama de Dispersión: Se confirma la relación lineal positiva entre permanencia y cargos totales. Los clientes que abandonan (puntos rojos) tienden a tener menor permanencia.
Cargos Mensuales por Churn: Los clientes que abandonan tienden a tener cargos mensuales más altos en promedio, sugiriendo sensibilidad al precio.
Churn por Contrato: Los contratos mes a mes presentan significativamente mayor deserción que los contratos de uno o dos años. Compromisos a largo plazo mejoran la retención.
Churn por Internet: Los clientes con fibra óptica muestran mayor proporción de deserción comparado con DSL o sin servicio de internet.
Churn por Método de Pago: El cheque electrónico está asociado con mayor deserción, mientras que los métodos de pago automático muestran mejor retención.
Hallazgos Principales:
Tasa de Deserción: Aproximadamente el 26.5% de los clientes abandonan el servicio, representando un desafío importante para la retención.
Permanencia y Lealtad: Existe una correlación fuerte (r=0.83) entre el tiempo de permanencia y los cargos totales acumulados. Los clientes de largo plazo son más valiosos.
Tipo de Contrato: Los contratos mes a mes presentan significativamente mayor deserción que los contratos de uno o dos años, indicando que compromisos a largo plazo mejoran la retención.
Cargos Mensuales: Los clientes que abandonan tienden a tener cargos mensuales más altos, sugiriendo sensibilidad al precio o percepción de bajo valor.
Servicio de Internet: La fibra óptica está asociada con mayor deserción, posiblemente por mayor competencia o expectativas de servicio más altas.
Método de Pago: El cheque electrónico está asociado con mayor deserción, mientras que los métodos de pago automático muestran mejor retención.
Acciones Estratégicas Propuestas:
Incentivos para Contratos Largos: Ofrecer descuentos significativos para contratos de 1-2 años y crear programas de lealtad para clientes de largo plazo.
Optimización de Precios: Revisar la estructura de precios para planes de alto costo y crear paquetes de valor que justifiquen cargos mensuales elevados.
Mejora del Servicio de Fibra Óptica: Investigar causas específicas de deserción en clientes de fibra óptica y mejorar la calidad del servicio y soporte técnico.
Automatización de Pagos: Incentivar la adopción de métodos de pago automáticos ofreciendo descuentos y facilitar la configuración de pagos recurrentes.
Programa de Retención Temprana: Identificar clientes en riesgo en los primeros 6-12 meses e implementar programas de onboarding mejorados.
Análisis Predictivo: Desarrollar modelos de machine learning para predecir churn e implementar intervenciones personalizadas basadas en riesgo de deserción.
---
title: "Proyecto FlexDashBoard"
author: "Santiago Osorio - David Cruz"
date: "2025-11-12"
output:
flexdashboard::flex_dashboard:
orientation: rows
social: menu
source_code: embed
---
```{r setup, include=FALSE}
library(flexdashboard)
library(ggplot2)
# Cargar datos
datos <- read.csv("Telco_Cusomer_Churn.csv")
```
Información General
================================================================================
Row
--------------------------------------------------------------------------------
### Descripción del Dataset
*Dataset:* Telco Customer Churn
*Muestra:* 7,043 clientes de una empresa de telecomunicaciones
*Variables principales:*
- Demográficas: gender, SeniorCitizen, Partner, Dependents
- Servicios: PhoneService, InternetService, OnlineSecurity, TechSupport, etc.
- Cuenta: tenure, Contract, MonthlyCharges, TotalCharges, PaymentMethod
- Objetivo: Churn (Si/No - indica si el cliente abandonó el servicio)
*Objetivo del análisis:*
Identificar qué factores influyen en la deserción de clientes para poder predecir y prevenir el churn.
### Portada
```{r, out.width="100%"}
knitr::include_graphics("Portada.png")
```
Análisis Descriptivo
================================================================================
Row
--------------------------------------------------------------------------------
### Summary
```{r}
library(knitr)
# Summary de las variables numéricas principales
resumen <- summary(datos[, c("tenure", "MonthlyCharges", "TotalCharges")])
kable(resumen)
```
### Distribución de Churn
```{r}
ggplot(datos, aes(x = Churn, fill = Churn)) +
geom_bar() +
geom_text(stat = "count", aes(label = after_stat(count)), vjust = -0.5) +
scale_fill_manual(values = c("No" = "#2ECC71", "Yes" = "#E74C3C")) +
labs(title = "Distribución de Churn",
x = "Churn",
y = "Número de Clientes") +
theme_minimal() +
theme(legend.position = "none")
```
Row
--------------------------------------------------------------------------------
### Distribución de Permanencia (Tenure)
```{r}
ggplot(datos, aes(x = tenure)) +
geom_histogram(bins = 30, fill = "#3498DB", color = "white") +
labs(title = "Distribución del Tiempo de Permanencia",
x = "Meses de Permanencia",
y = "Frecuencia") +
theme_minimal()
```
### Distribución de Cargos Mensuales
```{r}
ggplot(datos, aes(x = MonthlyCharges)) +
geom_histogram(bins = 30, fill = "#9B59B6", color = "white") +
labs(title = "Distribución de Cargos Mensuales",
x = "Cargos Mensuales ($)",
y = "Frecuencia") +
theme_minimal()
```
Row
--------------------------------------------------------------------------------
### Interpretaciones
*Permanencia (Tenure):* Se observa una distribución bimodal con muchos clientes nuevos (pocos meses) y clientes de largo plazo (60-72 meses).
*Cargos Mensuales:* La distribución multimodal sugiere diferentes tipos de planes o paquetes de servicios.
Análisis Univariado
================================================================================
Row
--------------------------------------------------------------------------------
### Datos Atípicos - MonthlyCharges
```{r}
ggplot(datos, aes(y = MonthlyCharges)) +
geom_boxplot(fill = "#E67E22", alpha = 0.7) +
labs(title = "Boxplot: Cargos Mensuales",
y = "Cargos Mensuales ($)") +
theme_minimal() +
coord_flip()
```
### Datos Atípicos - TotalCharges
```{r}
ggplot(datos, aes(y = TotalCharges)) +
geom_boxplot(fill = "#1ABC9C", alpha = 0.7) +
labs(title = "Boxplot: Cargos Totales",
y = "Cargos Totales ($)") +
theme_minimal() +
coord_flip()
```
### Datos Atípicos - Tenure
```{r}
ggplot(datos, aes(y = tenure)) +
geom_boxplot(fill = "#F39C12", alpha = 0.7) +
labs(title = "Boxplot: Permanencia",
y = "Meses de Permanencia") +
theme_minimal() +
coord_flip()
```
Row
--------------------------------------------------------------------------------
### Interpretaciones
*MonthlyCharges:* No se observan valores atípicos significativos. La distribución es relativamente uniforme.
*TotalCharges:* Se identifican algunos valores atípicos en el extremo superior, correspondientes a clientes con larga permanencia y planes costosos.
*Tenure:* La distribución es simétrica y no presenta valores atípicos.
Correlación y Modelo
================================================================================
Row
--------------------------------------------------------------------------------
### Matriz de Correlación
```{r}
library(corrplot)
# Seleccionar solo variables numéricas
datos_numericos <- datos[, c("tenure", "MonthlyCharges", "TotalCharges")]
# Calcular matriz de correlación
matriz_cor <- cor(datos_numericos, use = "complete.obs")
# Visualizar
corrplot(matriz_cor, method = "color", type = "upper",
addCoef.col = "black",
tl.col = "black",
tl.srt = 45,
col = colorRampPalette(c("#E74C3C", "white", "#3498DB"))(200),
title = "Correlación Variables Numéricas",
mar = c(0,0,2,0))
```
### Diagrama de Dispersión
```{r}
ggplot(datos, aes(x = tenure, y = TotalCharges, color = Churn)) +
geom_point(alpha = 0.5) +
geom_smooth(method = "lm", se = FALSE, color = "black", linetype = "dashed") +
scale_color_manual(values = c("No" = "#2ECC71", "Yes" = "#E74C3C")) +
labs(title = "Relación entre Permanencia y Cargos Totales",
x = "Tiempo de Permanencia (meses)",
y = "Cargos Totales ($)",
color = "Churn") +
theme_minimal()
```
Row
--------------------------------------------------------------------------------
### Interpretaciones
*Matriz de Correlación:* Existe una fuerte correlación positiva (0.83) entre TotalCharges y tenure, lo cual es esperado ya que los clientes con mayor permanencia acumulan mayores cargos totales.
*Diagrama de Dispersión:* Se confirma la relación lineal positiva entre permanencia y cargos totales. Los clientes que abandonan (puntos rojos) tienden a tener menor permanencia.
Análisis Bivariado
================================================================================
Row
--------------------------------------------------------------------------------
### Cargos Mensuales por Churn (Boxplot)
```{r}
ggplot(datos, aes(x = Churn, y = MonthlyCharges, fill = Churn)) +
geom_boxplot() +
scale_fill_manual(values = c("No" = "#2ECC71", "Yes" = "#E74C3C")) +
labs(title = "Cargos Mensuales por Estado de Churn",
x = "Churn",
y = "Cargos Mensuales ($)") +
theme_minimal() +
theme(legend.position = "none")
```
### Churn por Tipo de Contrato
```{r}
ggplot(datos, aes(x = Contract, fill = Churn)) +
geom_bar(position = "fill") +
scale_fill_manual(values = c("No" = "#2ECC71", "Yes" = "#E74C3C")) +
labs(title = "Proporción de Churn por Tipo de Contrato",
x = "Tipo de Contrato",
y = "Proporción",
fill = "Churn") +
theme_minimal() +
scale_y_continuous(labels = scales::percent)
```
Row
--------------------------------------------------------------------------------
### Churn por Servicio de Internet
```{r}
ggplot(datos, aes(x = InternetService, fill = Churn)) +
geom_bar(position = "fill") +
scale_fill_manual(values = c("No" = "#2ECC71", "Yes" = "#E74C3C")) +
labs(title = "Proporción de Churn por Servicio de Internet",
x = "Tipo de Servicio de Internet",
y = "Proporción",
fill = "Churn") +
theme_minimal() +
scale_y_continuous(labels = scales::percent)
```
### Churn por Método de Pago
```{r}
ggplot(datos, aes(x = PaymentMethod, fill = Churn)) +
geom_bar(position = "fill") +
scale_fill_manual(values = c("No" = "#2ECC71", "Yes" = "#E74C3C")) +
labs(title = "Proporción de Churn por Método de Pago",
x = "Método de Pago",
y = "Proporción",
fill = "Churn") +
theme_minimal() +
scale_y_continuous(labels = scales::percent) +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
```
Row
--------------------------------------------------------------------------------
### Interpretaciones
*Cargos Mensuales por Churn:* Los clientes que abandonan tienden a tener cargos mensuales más altos en promedio, sugiriendo sensibilidad al precio.
*Churn por Contrato:* Los contratos mes a mes presentan significativamente mayor deserción que los contratos de uno o dos años. Compromisos a largo plazo mejoran la retención.
*Churn por Internet:* Los clientes con fibra óptica muestran mayor proporción de deserción comparado con DSL o sin servicio de internet.
*Churn por Método de Pago:* El cheque electrónico está asociado con mayor deserción, mientras que los métodos de pago automático muestran mejor retención.
Conclusiones
================================================================================
Row
--------------------------------------------------------------------------------
### Conclusiones
*Hallazgos Principales:*
1. *Tasa de Deserción:* Aproximadamente el 26.5% de los clientes abandonan el servicio, representando un desafío importante para la retención.
2. *Permanencia y Lealtad:* Existe una correlación fuerte (r=0.83) entre el tiempo de permanencia y los cargos totales acumulados. Los clientes de largo plazo son más valiosos.
3. *Tipo de Contrato:* Los contratos mes a mes presentan significativamente mayor deserción que los contratos de uno o dos años, indicando que compromisos a largo plazo mejoran la retención.
4. *Cargos Mensuales:* Los clientes que abandonan tienden a tener cargos mensuales más altos, sugiriendo sensibilidad al precio o percepción de bajo valor.
5. *Servicio de Internet:* La fibra óptica está asociada con mayor deserción, posiblemente por mayor competencia o expectativas de servicio más altas.
6. *Método de Pago:* El cheque electrónico está asociado con mayor deserción, mientras que los métodos de pago automático muestran mejor retención.
### Recomendaciones
*Acciones Estratégicas Propuestas:*
1. *Incentivos para Contratos Largos:* Ofrecer descuentos significativos para contratos de 1-2 años y crear programas de lealtad para clientes de largo plazo.
2. *Optimización de Precios:* Revisar la estructura de precios para planes de alto costo y crear paquetes de valor que justifiquen cargos mensuales elevados.
3. *Mejora del Servicio de Fibra Óptica:* Investigar causas específicas de deserción en clientes de fibra óptica y mejorar la calidad del servicio y soporte técnico.
4. *Automatización de Pagos:* Incentivar la adopción de métodos de pago automáticos ofreciendo descuentos y facilitar la configuración de pagos recurrentes.
5. *Programa de Retención Temprana:* Identificar clientes en riesgo en los primeros 6-12 meses e implementar programas de onboarding mejorados.
6. *Análisis Predictivo:* Desarrollar modelos de machine learning para predecir churn e implementar intervenciones personalizadas basadas en riesgo de deserción.