Telco_Cusomer_Churn = read.table("Telco_Cusomer_Churn.csv",
header =TRUE, sep = ",", 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
###Perfil de clientes : solo el 16% de los usuarios son adultos mayores, por otro lado el género está balanceado, por lo que no parece ser un factor determinante ###Tenure: Existen clientes muy nuevos y otros con hasta 6 años de permanencia. La media que es 32 meses y la mediana 29 meses muestran que gran parte de los clientes tienen relativamente poco tiempo con la empresa, lo cual puede indicar un reto en la fidelización. ###MonthlyCharges: Van desde 18 hasta 119 dólares, con un promedio de 65. La mayoría de clientes se concentran en planes de costo medio a alto, lo que puede implicar una mayor sensibilidad al abandono cuando la percepción de valor no compensa el precio. ###TotalCharges : Están relacionados con el tiempo de permanencia y el tipo de plan, llegando hasta 8,600 dólares. Esto confirma que los clientes de larga duración generan mayor ingreso, reforzando la importancia de retenerlos.
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 correlación muestra que el “tiempo como cliente y los cargos totales (0.83)” tienen una relación fuerte: mientras más tiempo, más paga en total. ##Entre “cargos mensuales y cargos totales (0.65)” también hay relación positiva, aunque un poco más baja. ##En cambio, entre “tiempo y cargos mensuales (0.25)” la relación es débil, o sea, lo que paga al mes no depende mucho del tiempo que lleve el cliente
library(ggplot2)
ggplot(Telco_Cusomer_Churn, aes(y=MonthlyCharges, x = Churn))+
geom_boxplot(fill="hotpink")
##En el diagrama se ve que los clientes que se fueron (Yes) suelen pagar
más al mes, ya que su mediana está cerca de 80, mientras que los que se
quedaron (No) tienen una mediana más baja, más o menos en 65. También se
nota que los que no se fueron tienen más variedad en lo que pagan, desde
valores muy bajos hasta altos, mientras que los que se fueron están más
concentrados en pagos medios y altos. Esto da a entender que los que
pagan más al mes son los que más tienden a irse.
library(ggplot2)
ggplot(Telco_Cusomer_Churn, aes(y=TotalCharges, x = Churn))+
geom_boxplot(fill="mediumpurple1")
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
##En el gráfico se ve que los clientes que no se fueron tienen cargos
totales mucho más altos, porque llevan más tiempo pagando en la empresa.
En cambio, los que se fueron suelen tener cargos bajos, lo que muestra
que la mayoría eran clientes nuevos que no alcanzaron a acumular tanto.
También aparecen algunos pocos que se fueron con cargos altos, pero son
casos aislados.
ggplot(Telco_Cusomer_Churn, aes(x = Churn, fill = gender)) +
geom_bar()
###El gráfico nos está mostrando cuántos clientes se quedaron y cuántos
se fueron, separados por género. Lo que se ve es que la mayoría de
clientes no se fueron (la barra de “No” es mucho más grande que la de
“Yes”). Además, entre hombres y mujeres la diferencia no es muy grande,
o sea, no es que un género se vaya mucho más que el otro. En conclusión,
el género no parece influir tanto en la decisión de irse o quedarse,
porque las proporciones son casi iguales.
cor(tenure,MonthlyCharges)
ggplot(Telco_Cusomer_Churn,aes(x=tenure,y=MonthlyCharges))+
geom_jitter()+
geom_smooth(method = "lm", colour = "red")
## `geom_smooth()` using formula = 'y ~ x'
###Existe una leve relación positiva entre la antigüedad (tenure) del cliente y sus cargos mensuales. ###La correlación entre tenure y monthly charges es de 0,247. Con esto se puede concluir que los usuarios mas antiguos suelen pagar más, pero este no significa que la antigüedad sea un factor fuerte para explicar el nivel de cargos. ###El intercepto refleja lo que paga un cliente nuevo, mientras que la pendiente muestra que los cargos aumentan un poco con el tiempo
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
library(ggplot2)
library(gridExtra)
g1= ggplot(Telco_Cusomer_Churn,aes(x=Churn,y = MonthlyCharges))+
geom_boxplot(fill="hotpink")
g2= ggplot(Telco_Cusomer_Churn, aes(x=Churn, y = TotalCharges))+
geom_boxplot(fill="mediumpurple1")
g3= ggplot(Telco_Cusomer_Churn, aes(x=Churn, fill = gender))+
geom_bar()
g4= ggplot(Telco_Cusomer_Churn,aes(x=tenure,y=MonthlyCharges))+
geom_jitter()+
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'