Punto 2. EstadĂ­sticas Descriptivas.

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

InterpretaciĂ³n.

Los resultados muestran que en la base de datosla antigĂ¼edad de los clientes varĂ­a desde valores muy bajos (cercanos a 0 meses) hasta un mĂ¡ximo de 72 meses, lo que refleja una gran diversidad en el tiempo de relaciĂ³n con la empresa. TambiĂ©n se observa que los cargos mensuales presentan una amplia variaciĂ³n entre planes econĂ³micos y planes costosos, donde el promedio ronda los $64, con un mĂ­nimo cercano a $18 y un mĂ¡ximo de $118. Finalmente, en los cargos totales, los valores oscilan entre cifras muy bajas (clientes que apenas empiezan a pagar) y montos altos, lo que representa a los clientes mĂ¡s antiguos. En conjunto, estas estadĂ­sticas permiten ver la gran heterogeneidad de la base de clientes.

Punto 3. Matriz de CorrelaciĂ³n.

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")

InterpretaciĂ³n.

La correlaciĂ³n indica que existe una relaciĂ³n fuerte y positiva entre los Cargos Totales y la AntigĂ¼edad del Cliente, ya que a mayor permanencia, mayor acumulaciĂ³n de cargos. Por otro lado, la relaciĂ³n entre Cargos Mensuales y AntigĂ¼edad es dĂ©bil, lo que sugiere que los cargos mensuales no dependen directamente del tiempo que el cliente lleve en la compañía.

Punto 4. Diagrama de Caja Cargos Mensuales vs RotaciĂ³n.

library(ggplot2)

g1= ggplot(Telco_Cusomer_churn, aes(y=MonthlyCharges, x=Churn, fill=Churn))+
geom_boxplot() +
  labs(title = "Cargos Mensuales vs RotaciĂ³n",
       x = "RotaciĂ³n",
       y = "Cargos Mensuales") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

print(g1)

InterpretaciĂ³n.

Con base en el diagrama se puede concluir que los clientes que abandonan la compañía (Churn = Yes) tienden a tener cargos mensuales mĂ¡s altos en comparaciĂ³n con los que permanecen, lo que puede indicar que los planes mĂ¡s costosos generan mayor insatisfacciĂ³n. Asi mismo, se pueden observar valores atĂ­picos , que representan clientes con planes muy costosos y que el rango de cargos mensuales de los que se quedan es mĂ¡s amplio.

Punto 5. Diagrama de Caja Cargos Totales vs RotaciĂ³n.

library(ggplot2)

g2= ggplot(Telco_Cusomer_churn, aes(y=TotalCharges, x=Churn, fill=Churn))+
geom_boxplot() +
  labs(title = "Cargos Totales vs RotaciĂ³n",
       x = "RotaciĂ³n",
       y = "Cargos Totales") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

print(g2)
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_boxplot()`).

InterpretaciĂ³n.

En este caso, los clientes que permanecen (Churn = No) suelen acumular cargos totales mĂ¡s altos al llevar mĂ¡s tiempo con la empresa, y que, por el contrario, quienes se van, en general, no alcanzan a acumular tanto porque duran poco tiempo como usuarios.

Punto 6. Diagrama de Barras Apiladas RotaciĂ³n vs GĂ©nero.

library(ggplot2)

g3= ggplot(Telco_Cusomer_churn, aes(x = Churn, fill = gender)) +
  geom_bar(position = "stack") +
  labs(title = "DistribuciĂ³n de GĂ©nero segĂºn la RotaciĂ³n de Clientes",
       x = "RotaciĂ³n ",
       y = "NĂºmero de Clientes",
       fill = "Género") +
  theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5))

print(g3)

InterpretaciĂ³n.

La distribuciĂ³n muestra que la rotaciĂ³n no presenta una diferencia significativa entre hombres y mujeres, ya que ambos gĂ©neros aparecen en proporciones similares dentro de los grupos de abandono y permanencia. Esto sugiere que el gĂ©nero no es un factor determinante en la rotaciĂ³n.

Punto 7. RelaciĂ³n entre la AntigĂ¼edad del Cliente vs los Cargos Mensuales.

library(ggplot2)

# Diagrama de dispersiĂ³n con recta de regresiĂ³n
g4= ggplot(Telco_Cusomer_churn, aes(x = tenure, y = MonthlyCharges)) +
  geom_point(alpha = 0.5, color = "steelblue") +
  geom_smooth(method = "lm", se = FALSE, color = "red") +
  labs(title = "RelaciĂ³n entre AntigĂ¼edad y Cargos Mensuales",
       x = "AntigĂ¼edad ",
       y = "Cargos mensuales ") +
  theme_minimal()+
  theme(plot.title = element_text(hjust = 0.5))

# CorrelaciĂ³n
cor(Telco_Cusomer_churn$tenure, Telco_Cusomer_churn$MonthlyCharges, use = "complete.obs")
## [1] 0.2478999
# Modelo lineal simple
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
print(g4)
## `geom_smooth()` using formula = 'y ~ x'

InterpretaciĂ³n.

Al analizar la relaciĂ³n entre la antigĂ¼edad de los clientes y sus cargos mensuales, se encontrĂ³ una correlaciĂ³n positiva pero dĂ©bil (≈0.28), lo que significa que los clientes con mĂ¡s tiempo en la empresa tienden a pagar un poco mĂ¡s en cargos mensuales.

Por otra parte, el modelo lineal muestra un intercepto cercano a 55, lo que sugiere que un cliente nuevo tiene un cargo mensual estimado de alrededor de $55 y la pendiente, cercana a 0.20, señala que por cada mes adicional de permanencia, los cargos aumentan en promedio $0.20.

En conclusiĂ³n, aunque sĂ­ existe una relaciĂ³n y la antigĂ¼edad influye ligeramente, no explica de manera significativa las variaciones en los cargos mensuales. Esto sugiere que otros factores como el tipo de plan o los servicios adicionales contratados parecen ser mĂ¡s relevantes e influyen mĂ¡s en el monto facturado.

Punto 8. Panel GrĂ¡fico.

library(gridExtra)
library(grid)

theme_config = theme_minimal() +
  theme(plot.title = element_text(hjust = 0.5, size = 9, face = "bold"),
        axis.title = element_text(size = 10))

G1 = g1 + theme_config
G2 = g2 + theme_config
G3 = g3 + theme_config
G4 = g4 + theme_config

grid.arrange(G1, G2, G3, G4, ncol = 2,
             top = textGrob("Panel GrĂ¡fico", gp=gpar(fontsize=12, fontface="bold")))
## Warning: Removed 11 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
## `geom_smooth()` using formula = 'y ~ x'