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
Género de los clientes : La distribución por género es bastante equilibrada, con una proporción similar de hombres y mujeres en la muestra. Esto indica que la compañía no tiene una concentración marcada en un solo grupo de género, lo que refleja una base de clientes diversa.
Antigüedad de los clientes : La variable de tenure muestra que hay clientes tanto muy recientes como con muchos años en la compañía. Sin embargo, la mayoría se concentra en rangos intermedios, lo que sugiere que existe un flujo constante de incorporación y pérdida de clientes a lo largo del tiempo.
Tipo de contrato : La mayor parte de los usuarios están bajo un contrato de tipo “mes a mes”. Esto significa que muchos clientes tienen flexibilidad para abandonar la compañía en cualquier momento, lo que podría estar asociado a una mayor vulnerabilidad frente a la fuga.
library(corrplot)
## corrplot 0.95 loaded
attach(Telco_Cusomer_Churn)
nuevosDatos = data.frame(tenure, MonthlyCharges, TotalCharges)
r = cor(na.omit(nuevosDatos))
corrplot(r, method="number")
La matriz de correlación muestra que los cargos totales (TotalCharges) se relacionan fuertemente con el tiempo de permanencia (tenure) y de manera moderada con los cargos mensuales (MonthlyCharges), lo cual es coherente, ya que el total facturado depende tanto de los meses en la compañía como del valor mensual del plan. En contraste, la relación entre tenure y MonthlyCharges es débil, lo que indica que la antigüedad del cliente no determina el monto que paga cada mes, pues este depende más del tipo de plan contratado.
library(ggplot2)
ggplot(Telco_Cusomer_Churn,aes(x=Churn,y = MonthlyCharges))+
geom_boxplot(fill="red")
El boxplot muestra que existe una relación positiva entre cargos mensuales altos y la probabilidad de cancelación (churn). Es decir, los clientes con facturas más altas tienden a abandonar más la empresa en comparación con quienes tienen facturas más bajas.
library(ggplot2)
ggplot(Telco_Cusomer_Churn, aes(x=Churn, y = TotalCharges))+
geom_boxplot(fill="blue")
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
El boxplot refleja que la mayoría de los clientes que cancelan lo hacen en los primeros meses o años de servicio, acumulando bajos TotalCharges, mientras que los que permanecen suelen ser clientes más antiguos y valiosos en términos de facturación. Esto indica que la retención temprana es clave: si un cliente supera los primeros meses, es más probable que permanezca a largo plazo.
library(ggplot2)
ggplot(Telco_Cusomer_Churn, aes(x = Churn, fill = gender))+
geom_bar()
El gráfico muestra la relación entre el abandono de clientes (churn) y el género. Se observa que la mayoría de los clientes, tanto hombres como mujeres, permanecen en la empresa, siendo ligeramente mayor la proporción de mujeres en este grupo. En el caso de los clientes que sí abandonan, aunque el número es menor en comparación con los que permanecen, la distribución entre hombres y mujeres es bastante equilibrada, sin que exista una diferencia significativa entre ambos géneros
library(ggplot2)
ggplot(Telco_Cusomer_Churn,aes(x=tenure,y=MonthlyCharges))+
geom_jitter()+
geom_smooth(method = "lm",colour = "green")
## `geom_smooth()` using formula = 'y ~ x'
y=MonthlyCharges
x=tenure
cor(y=MonthlyCharges, x=tenure)
## [1] 0.2478999
modelo=lm(y~x)
summary(modelo)
##
## Call:
## lm(formula = y ~ x)
##
## 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 ***
## x 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 análisis de la relación entre la antigüedad del cliente (tenure) y los cargos mensuales (MonthlyCharges) muestra que existe una correlación positiva pero débil (≈0.25), lo cual significa que a mayor tiempo en la compañía, los clientes tienden a pagar un poco más al mes, aunque la relación no es fuerte. El modelo lineal ajustado indica un intercepto cercano a 54.9, que corresponde al cargo mensual promedio esperado para un cliente con 0 meses de antigüedad, y una pendiente de aproximadamente 0.30, lo que sugiere que por cada mes adicional de permanencia los cargos mensuales aumentan en promedio unos pocos centavos de dólar.
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
## `geom_smooth()` using formula = 'y ~ x'