Telco_Cusomer_Churn = read.table("Telco_Cusomer_Churn.csv",
header = TRUE, sep = ",", dec = ".", row.names = 1,
stringsAsFactors = TRUE)
summary(Telco_Cusomer_Churn)
## gender SeniorCitizen Partner Dependents tenure
## Female:3488 Min. :0.0000 No :3641 No :4933 Min. : 0.00
## Male :3555 1st Qu.:0.0000 Yes:3402 Yes:2110 1st Qu.: 9.00
## Median :0.0000 Median :29.00
## Mean :0.1621 Mean :32.37
## 3rd Qu.:0.0000 3rd Qu.:55.00
## Max. :1.0000 Max. :72.00
##
## PhoneService MultipleLines InternetService
## No : 682 No :3390 DSL :2421
## Yes:6361 No phone service: 682 Fiber optic:3096
## Yes :2971 No :1526
##
##
##
##
## OnlineSecurity OnlineBackup
## No :3498 No :3088
## No internet service:1526 No internet service:1526
## Yes :2019 Yes :2429
##
##
##
##
## DeviceProtection TechSupport
## No :3095 No :3473
## No internet service:1526 No internet service:1526
## Yes :2422 Yes :2044
##
##
##
##
## StreamingTV StreamingMovies Contract
## No :2810 No :2785 Month-to-month:3875
## No internet service:1526 No internet service:1526 One year :1473
## Yes :2707 Yes :2732 Two year :1695
##
##
##
##
## PaperlessBilling PaymentMethod MonthlyCharges
## No :2872 Bank transfer (automatic):1544 Min. : 18.25
## Yes:4171 Credit card (automatic) :1522 1st Qu.: 35.50
## Electronic check :2365 Median : 70.35
## Mailed check :1612 Mean : 64.76
## 3rd Qu.: 89.85
## Max. :118.75
##
## TotalCharges Churn
## Min. : 18.8 No :5174
## 1st Qu.: 401.4 Yes:1869
## Median :1397.5
## Mean :2283.3
## 3rd Qu.:3794.7
## Max. :8684.8
## NA's :11
Nuestro análisis revela un grave problema de abandono de clientes, la base de clientes está compuesta principalmente por adultos en hogares pequeños que contratan internet pero no los servicios adicionales de seguridad o soporte.
La causa principal de la inestabilidad es la enorme cantidad de contratos mes a mes, estos contratos le dan al cliente mucha facilidad para cancelar el servicio en cualquier momento.
El resultado final es una alarmante tasa de abandono del 26.5 por ciento, esta cifra representa un desafÃo muy importante para el crecimiento y la estabilidad de la empresa.
install.packages("corrplot")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
library(corrplot)
## corrplot 0.95 loaded
nuevosDatos = cbind(Telco_Cusomer_Churn$tenure, Telco_Cusomer_Churn$MonthlyCharges, Telco_Cusomer_Churn$TotalCharges)
r = cor(na.omit(nuevosDatos))
nuevos_nombres <- c("Tenure", "MonthlyCharges", "TotalCharges")
corrplot(r, method="number")
Se puede ver que las variables estan altamente relacionadas entre si con excepcion al tenure y el monthly charge, esto tiene sentido, pues entre mas meses lleve un cliente con la compañia es mas probable que tenga mas beneficios, y la relacion entre el tiempo que lleva un cliente y el pago total tambien tiene sentido, pues entre mas tiempo lleve un cliente con la compañia habra pagado por mayor cantidad de meses
library(ggplot2)
ggplot(Telco_Cusomer_Churn, aes(x = Churn, y = MonthlyCharges, fill = Churn)) +
geom_boxplot()
El diagrama de cajas muestra que los clientes que abandonan la compañÃa (Churn = Yes) presentan cargos mensuales más altos en comparación con aquellos que permanecen (Churn = No). La mediana de los cargos mensuales es superior para los clientes con rotación, lo cual sugiere que un mayor costo mensual se asocia con una mayor probabilidad de fuga.
library(ggplot2)
ggplot(Telco_Cusomer_Churn, aes(y= TotalCharges, x=Churn, fill = Churn)) +
geom_boxplot()
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
El diagrama muestra que los clientes que permanecen en la compañÃa acumulan cargos totales más altos, mientras que quienes se van suelen tener valores bajos, lo que refleja menor antigüedad. Sin embargo, existen algunos casos de clientes con altos cargos que también desertan. En general, la rotación está más asociada a clientes de corta permanencia.
library(ggplot2)
ggplot(Telco_Cusomer_Churn, aes(x = Churn, fill = gender)) +
geom_bar()
Se analiza que el enfoque de la rotacion por genero no influye en que un cliente decida irse o no, la base de clientes esta dividida casi en un 50/50 entre hombre y mujeres, el grafico es claro en que tanto en el grupo de clientes que se van como en los que se quedan estan en proporciones casi iguales los hombres con las mujeres, esto indica que para el analisis no vale la pena profundizar en el genero y en cambio si en factores como el hecho de que la mayoria tiene contratos mensuales y no contrata servicios adicionales.
ggplot(Telco_Cusomer_Churn, aes(x=tenure, y=MonthlyCharges))+
geom_jitter(color = "blue")+
geom_smooth(method="lm", colour="red")
## `geom_smooth()` using formula = 'y ~ x'
cor(Telco_Cusomer_Churn$tenure, Telco_Cusomer_Churn$MonthlyCharges)
## [1] 0.2478999
modelo <- lm(MonthlyCharges ~ tenure, data = Telco_Cusomer_Churn)
summary(modelo)
##
## Call:
## lm(formula = MonthlyCharges ~ tenure, data = Telco_Cusomer_Churn)
##
## Residuals:
## Min 1Q Median 3Q Max
## -57.498 -27.251 6.245 24.943 54.376
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 54.92978 0.57476 95.57 <2e-16 ***
## tenure 0.30372 0.01415 21.47 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 29.15 on 7041 degrees of freedom
## Multiple R-squared: 0.06145, Adjusted R-squared: 0.06132
## F-statistic: 461 on 1 and 7041 DF, p-value: < 2.2e-16
El coeficiente de correlación entre la antigüedad (tenure) y los cargos mensuales (MonthlyCharges) es de 0.248, lo cual indica una relación positiva, pero débil. Esto significa que, en general, a mayor antigüedad del cliente, los cargos mensuales tienden a ser más altos, aunque la relación no es muy fuerte.
El modelo de regresión lineal simple obtenido fue:
MonthlyCharges = 54.93 + 0.30 * tenure
El intercepto (54.93) representa el valor esperado de los cargos mensuales cuando la antigüedad del cliente es cero. La pendiente (0.30) indica que, en promedio, por cada mes adicional de antigüedad, los cargos mensuales aumentan en 0.30 unidades.
Aunque la pendiente del modelo sà es significativa (p < 0.001), el valor de R² = 0.061 indica que el modelo solo logra explicar un 6.1% de los cambios en los cargos mensuales. En otras palabras, la antigüedad del cliente sà tiene cierta relación con lo que paga al mes, pero esa relación es muy débil y no alcanza para predecir bien los cargos mensuales.
library(gridExtra)
g1 = ggplot(Telco_Cusomer_Churn, aes(x = Churn, y = MonthlyCharges, fill = Churn)) +
geom_boxplot()
g2 = ggplot(Telco_Cusomer_Churn, aes(y= TotalCharges, x=Churn, fill = Churn)) +
geom_boxplot()
g3 = ggplot(Telco_Cusomer_Churn, aes(x = Churn, fill = gender)) +
geom_bar()
g4 = ggplot(Telco_Cusomer_Churn, aes(x=tenure, y=MonthlyCharges))+
geom_jitter(color = "blue")+
geom_smooth(method="lm", colour="red")
grid.arrange(g1, g2, g3, g4)
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
## `geom_smooth()` using formula = 'y ~ x'