Analizaremos una base de datos de un banco la cual contiene 3 variables de identificación, 10 variables medidas a los sujetos y una variable que indica la supervivencia de los sujetos en el banco. Es decir si los clientes cierran su cuenta o no.
Primero haremos un análisis exploratorio de datos. El siguiente es el resumen de las variables, recordano que las primeras no tienen relevancia estadística pues son de identificación.
## RowNumber CustomerId Surname CreditScore
## Min. : 1 Min. :15565701 Smith : 32 Min. :350.0
## 1st Qu.: 2501 1st Qu.:15628528 Martin : 29 1st Qu.:584.0
## Median : 5000 Median :15690738 Scott : 29 Median :652.0
## Mean : 5000 Mean :15690941 Walker : 28 Mean :650.5
## 3rd Qu.: 7500 3rd Qu.:15753234 Brown : 26 3rd Qu.:718.0
## Max. :10000 Max. :15815690 Genovese: 25 Max. :850.0
## (Other) :9831
## Geography Gender Age Tenure
## France :5014 Female:4543 Min. :18.00 Min. : 0.000
## Germany:2509 Male :5457 1st Qu.:32.00 1st Qu.: 3.000
## Spain :2477 Median :37.00 Median : 5.000
## Mean :38.92 Mean : 5.013
## 3rd Qu.:44.00 3rd Qu.: 7.000
## Max. :92.00 Max. :10.000
##
## Balance NumOfProducts HasCrCard IsActiveMember
## Min. : 0 Min. :1.00 Min. :0.0000 Min. :0.0000
## 1st Qu.: 0 1st Qu.:1.00 1st Qu.:0.0000 1st Qu.:0.0000
## Median : 97199 Median :1.00 Median :1.0000 Median :1.0000
## Mean : 76486 Mean :1.53 Mean :0.7055 Mean :0.5151
## 3rd Qu.:127644 3rd Qu.:2.00 3rd Qu.:1.0000 3rd Qu.:1.0000
## Max. :250898 Max. :4.00 Max. :1.0000 Max. :1.0000
##
## EstimatedSalary Exited
## Min. : 11.58 Min. :0.0000
## 1st Qu.: 51002.11 1st Qu.:0.0000
## Median :100193.91 Median :0.0000
## Mean :100090.24 Mean :0.2037
## 3rd Qu.:149388.25 3rd Qu.:0.0000
## Max. :199992.48 Max. :1.0000
##
Empezaremos graficando las variables (histograma) para darnos una idea de cómo está constituida nuestra base (nuestros clientes) en las distintas variables.
## 25%
## 584
Nuestra primera variable es la calificación crediticia, en la que consideramos los siguientes rangos.
300-579 Very poor
580-669 Fair
670-739 Good
740-799 Very good
800-850 Exceptional
Notamos que las calificaciones más frecuente en los clientes son buena y justa. Sin embargo considerando a todos los clientes el 25% tienen calificaciones menores a 584.
Tenemos que la base contiene clientes de 3 países, Francia, Alemania y Epaña. Veamos la distribución de nuestros clientes.
Notamos que la mayoría de los clientes son de Francia, más adelante veremos la supervivencia por país para ver si sería conveniente analizar más a fondo a los sujetos por País, dando preferencia a los franceses.
Ahora veremos la distribución por sexo
Tenemos más clientes hombres que mujeres, sin embargo la diferencia no es tanta, falta ver la supervivencia de estos estratos para ver si es una variable relevante.
La mayor parte de nuestros clientes son personas de entre 30 y 40 años.
Casi todos los clientes tienen 1 o 2 productos.
La mayoría de nuestros clientes cuentas con tarjeta de credito.
Esta variable tiene una dstibción muy uniforme, sin embargo los miembros activos son un poco más.
El salario estimado es bastante diverso y homogéneo en el sentido de que no hay un grupo de clientes visiblemente mayor con algún rango de salario defeinido. De igual forma notamos que la dirtibución del salario de los clientes es bastante uniforme.
Esta variable representa el capital que los clientes tenían en el banco al momento de salida o en caso de no salir, al fin del estudio.
## banco$Balance
## Min. : 0
## 1st Qu.: 0
## Median : 97199
## Mean : 76486
## 3rd Qu.:127644
## Max. :250898
Notamos que el primer cuantil de esta variable es 0, es decir al menos el 25% de nuestros clientes tenían una cuenta vacía. El resto de las cuentas de lo clientes se ubican en su mayoría entre 100,000 y 150,000
Ahora, la variable que nos interesa para medir el desempeño del banco es si los clientes salen o no (exited). Veamos que variables están más correlacionadas con exited. Como tenemos variables de tipo numéricas y categóricas, debemos usar diferentes tipos de correlaciones.
##
## Two-Step Estimates
##
## Correlations/Type of Correlation:
## CreditScore Pais Genero Edad Tenure
## CreditScore 1 Polyserial Polyserial Pearson Pearson
## Pais 0.009127 1 Polychoric Polyserial Polyserial
## Genero -0.003589 0.00521 1 Polyserial Polyserial
## Edad -0.003965 0.02639 -0.0346 1 Pearson
## Tenure 0.0008419 0.004326 0.01851 -0.009997 1
## Balance 0.006268 0.08031 0.01518 0.02831 -0.01225
## Products 0.01456 0.005211 -0.02923 -0.03651 0.016
## CrCard -0.007217 -0.01219 0.009594 -0.0155 0.02986
## ClienteAct 0.03216 0.008339 0.0355 0.1072 -0.03556
## Salario -0.001384 -0.001584 -0.01019 -0.007201 0.007784
## Superv -0.03855 0.07076 -0.1883 0.406 -0.01992
## Balance Products CrCard ClienteAct Salario
## CreditScore Pearson Polyserial Polyserial Polyserial Pearson
## Pais Polyserial Polychoric Polychoric Polychoric Polyserial
## Genero Polyserial Polychoric Polychoric Polychoric Polyserial
## Edad Pearson Polyserial Polyserial Polyserial Pearson
## Tenure Pearson Polyserial Polyserial Polyserial Pearson
## Balance 1 Polyserial Polyserial Polyserial Pearson
## Products -0.362 1 Polychoric Polychoric Polyserial
## CrCard -0.01964 0.005525 1 Polychoric Polyserial
## ClienteAct -0.01264 0.01621 -0.01967 1 Polyserial
## Salario 0.0128 0.0169 -0.01313 -0.01432 1
## Superv 0.1687 -0.0994 -0.01337 -0.2762 0.01721
## Superv
## CreditScore Polyserial
## Pais Polychoric
## Genero Polychoric
## Edad Polyserial
## Tenure Polyserial
## Balance Polyserial
## Products Polychoric
## CrCard Polychoric
## ClienteAct Polychoric
## Salario Polyserial
## Superv 1
Las correlaciones en general son bajas pero las variables más correlacionadas con la supervivencia de los clientes en el banco son la edad, el genero y el si el cliente es un miembro activo o no. Empecemos por hacer modelos de supervivencia con estas variables.
Notamos que la supervivencia de los clientes jóvenes (18-30 años) permanecen mucho más tiempo en el banco y por el otro lado, los clientes mayores de 50 años salen del banco más rápido por lo que convendría analizar a este grupo para ver de que forma prolongar su permanencia en el banco.
El porcentaje de clientes mayores de 50 años en nuestra base es del 12.61% por lo cual es un grupo considerable que analizaremos más a fondo.
Filtramos los datos tomando sólo los clientes con edades mayores a 50 años que salieron del banco. Nos interesa saber las características de estos clientes, qué tienen en común que los haga salir del banco.
El siguiente es un resumen de las variables para este grupo de sujetos.
## [1] 0.1261
## RowNumber CustomerId Surname CreditScore
## Min. : 17 Min. :15567778 Bergamaschi: 4 Very poor :150
## 1st Qu.:2523 1st Qu.:15625486 Clarke : 4 Fair :180
## Median :4752 Median :15685329 Lei : 4 Good :118
## Mean :4903 Mean :15688638 Boni : 3 Very good : 78
## 3rd Qu.:7313 3rd Qu.:15748999 Chiemenam : 3 Exceptional: 37
## Max. :9992 Max. :15815626 Ko : 3
## (Other) :542
## Geography Gender Age Tenure
## France :239 Female:319 18-30: 0 Min. : 0.000
## Germany:213 Male :244 30-50: 0 1st Qu.: 2.000
## Spain :111 +50 :563 Median : 5.000
## Mean : 4.874
## 3rd Qu.: 8.000
## Max. :10.000
##
## Balance NumOfProducts HasCrCard IsActiveMember
## 0 :142 1:394 NO:183 No:361
## 0-50,000 : 7 2: 95 Sí:380 Sí:202
## 50,000-100,000 : 86 3: 59
## 100,000-150,000:268 4: 15
## 150,000-200,000: 57
## +200,000 : 3
##
## EstimatedSalary Exited
## 0-40,000 :119 0: 0
## 40,000-80,000 :103 1:563
## 80,000-120,000 :112
## 120,000-160,000:117
## 160,000-200,000:112
##
##
Las variables país y genero no hacen distinciones relevantes, mientras que la variable número de productos sí hace una importante distinción, salen más clientes del banco que sólo tienen un único producto. Una forma de reterner clientes para este grupo (mayores de 50), podía ser, hacer que adquieran más productos, ofrecerles algún producto diseñado para personas mayores de 50 años, como quizá tal vez una cuenta de ahorros con bajo riesgo.
Veamos graficamente el tiempo de supervivencia de los clientes mayores de 50 años por las distintas variables, esta vez sí tomamos en cuenta a todos los sujetos de este grupo, los que salieron del banco y los que no.
Tiempos de supervivencia por:
Vemos que sí hay una clara diferenciación de la supervivencia por género, para corroboraralo haremos pruebas log-rank
## Call:
## survdiff(formula = t ~ Gender, data = mayores_50)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## Gender=Female 604 319 263 12.1 26
## Gender=Male 657 244 300 10.6 26
##
## Chisq= 26 on 1 degrees of freedom, p= 3e-07
En efecto el p-value es muy pequeño por lo que rechazamos la hipótesis de que las funciones de supervivencia por genero sean iguales. Se ve claramente que las mujeres salen antes.
## Call:
## survdiff(formula = t_FG ~ Geography, data = m50_FG)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## Geography=France 598 239 287 7.96 25
## Geography=Germany 356 213 165 13.81 25
##
## Chisq= 25 on 1 degrees of freedom, p= 6e-07
## Call:
## survdiff(formula = t_SF ~ Geography, data = m50_SF)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## Geography=France 598 239 241 0.0190 0.0685
## Geography=Spain 307 111 109 0.0421 0.0685
##
## Chisq= 0.1 on 1 degrees of freedom, p= 0.8
## Call:
## survdiff(formula = t_GS ~ Geography, data = m50_GS)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## Geography=Germany 356 213 181 5.52 14.4
## Geography=Spain 307 111 143 7.02 14.4
##
## Chisq= 14.4 on 1 degrees of freedom, p= 1e-04
Los p-values son pequeños para las comparaciones con Alemania, lo cual es notable en la grafica, por lo que podemos decir que los alemanes de este grupo (mayores de 50), son los que más salen del banco.
## Call:
## survdiff(formula = t ~ IsActiveMember, data = mayores_50)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## IsActiveMember=No 425 361 196 139.3 245
## IsActiveMember=Sí 836 202 367 74.3 245
##
## Chisq= 245 on 1 degrees of freedom, p= <2e-16
Esta variable sí hace una distinción muy notoria de que salen del banco más rápido los miembros no activos (que no usan sus cuentas).
## Call:
## survdiff(formula = t ~ HasCrCard, data = mayores_50)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## HasCrCard=NO 387 183 169 1.170 1.91
## HasCrCard=Sí 874 380 394 0.502 1.91
##
## Chisq= 1.9 on 1 degrees of freedom, p= 0.2
Para esta variable el p-value es “grande” por lo que podemos decir que las funciones de supervivencia son iguales. El que los sujetos tengan tarjeta de credito o no, no hace una diferencia en la supervivencia.
## Call:
## survdiff(formula = t_12 ~ NumOfProducts, data = m50_1_2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=1 749 394 310 23.0 70.6
## NumOfProducts=2 433 95 179 39.7 70.6
##
## Chisq= 70.6 on 1 degrees of freedom, p= <2e-16
## Call:
## survdiff(formula = t_23 ~ NumOfProducts, data = m50_2_3)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=2 433 95 131.2 9.97 76.3
## NumOfProducts=3 64 59 22.8 57.25 76.3
##
## Chisq= 76.3 on 1 degrees of freedom, p= <2e-16
## Call:
## survdiff(formula = t_34 ~ NumOfProducts, data = m50_3_4)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=3 64 59 59.3 0.00135 0.00946
## NumOfProducts=4 15 15 14.7 0.00545 0.00946
##
## Chisq= 0 on 1 degrees of freedom, p= 0.9
## Call:
## survdiff(formula = t_41 ~ NumOfProducts, data = m50_4_1)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=1 749 394 399 0.0618 3.03
## NumOfProducts=4 15 15 10 2.4583 3.03
##
## Chisq= 3 on 1 degrees of freedom, p= 0.08
## Call:
## survdiff(formula = t_42 ~ NumOfProducts, data = m50_4_2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=2 433 95 105.11 0.972 24.6
## NumOfProducts=4 15 15 4.89 20.900 24.6
##
## Chisq= 24.6 on 1 degrees of freedom, p= 7e-07
## Call:
## survdiff(formula = t_31 ~ NumOfProducts, data = m50_3_1)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=1 749 394 412.7 0.845 11.4
## NumOfProducts=3 64 59 40.3 8.647 11.4
##
## Chisq= 11.4 on 1 degrees of freedom, p= 7e-04
Notamos que los clientes que salen más del banco son los que tienen 1 y 4 productos, mientras que los que más se quedan son los que tienen dos productos. Esto es interesante pues no necesariamente el que más productos implica una supervivencia mayor.
Puede que lo óptimo que se busque es que los clientes tengan 2 productos pues con eso es suficiente para que tengan finanzas saludables.
Las pruebas de log rank nos dicen que la supervivencia de 2 productos es la única realmente diferenciable del resto.
La supervivencia de 3 productos también se diferencía pero solo con la de 1 producto.
Grafiquemos las funciones de supervivencia para mayores de 50 de las variables restantes.
Esta se ve bastante homogénea, no nos aporta información relevante.
Es interesante que el grupo que más salga del banco es el que más capital tenía en su cuenta. Sin embargo al banco siempre le va a convenir que los clientes tengan mayor capital, pues eso se traduce en liquidez y oportunidades de inversión, por lo que no nos conviene tomar ninguna medida con respecto a esta variable.
Las funciones de supervivencia por calificación crediticia son muy similares por lo que no nos sirve esta variable para diferenciar grupos.
Hasta ahora tenemos que para el grupo de mayores de 50 años, que son los que más abandonan el banco, los subgrupos que tienen superviviencia menor son las mujeres, por otra parte los clientes de Alemania y los miembros inactivos. Además para la variable numero de productos, los que más permanecen en el banco son los que tienen 2 productos.
Hagamos un modelo de riesgos proporcionales
## Call:
## coxph(formula = t ~ Gender + Geography + IsActiveMember, data = mayores_50)
##
## n= 1261, number of events= 563
##
## coef exp(coef) se(coef) z Pr(>|z|)
## GenderMale -0.34444 0.70862 0.08531 -4.037 5.41e-05 ***
## GeographyGermany 0.27215 1.31278 0.09508 2.862 0.00421 **
## GeographySpain 0.05995 1.06178 0.11497 0.521 0.60207
## IsActiveMemberSí -1.25100 0.28622 0.08906 -14.046 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## exp(coef) exp(-coef) lower .95 upper .95
## GenderMale 0.7086 1.4112 0.5995 0.8376
## GeographyGermany 1.3128 0.7617 1.0896 1.5817
## GeographySpain 1.0618 0.9418 0.8476 1.3301
## IsActiveMemberSí 0.2862 3.4938 0.2404 0.3408
##
## Concordance= 0.695 (se = 0.015 )
## Rsquare= 0.185 (max possible= 0.996 )
## Likelihood ratio test= 258.5 on 4 df, p=<2e-16
## Wald test = 246.4 on 4 df, p=<2e-16
## Score (logrank) test = 280.1 on 4 df, p=<2e-16
Notamos que la única covariable no significativa es si el cliente es de España. Pues como vimos anteriormente sólo se ve claramente que los alemanes salen más rápido. No hay una distinción entre franceses y españoles.
Hagamos otro modelo de Cox ahora tomando también la variable Número de productos.
## Call:
## coxph(formula = t ~ Gender + Geography + IsActiveMember + NumOfProducts,
## data = mayores_50)
##
## n= 1261, number of events= 563
##
## coef exp(coef) se(coef) z Pr(>|z|)
## GenderMale -0.32417 0.72313 0.08591 -3.773 0.000161 ***
## GeographyGermany 0.28121 1.32473 0.09522 2.953 0.003144 **
## GeographySpain 0.09451 1.09912 0.11509 0.821 0.411554
## IsActiveMemberSí -1.12546 0.32450 0.09060 -12.422 < 2e-16 ***
## NumOfProducts2 -0.70243 0.49538 0.11573 -6.070 1.28e-09 ***
## NumOfProducts3 0.29461 1.34260 0.14030 2.100 0.035737 *
## NumOfProducts4 0.45145 1.57060 0.26503 1.703 0.088491 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## exp(coef) exp(-coef) lower .95 upper .95
## GenderMale 0.7231 1.3829 0.6111 0.8557
## GeographyGermany 1.3247 0.7549 1.0992 1.5965
## GeographySpain 1.0991 0.9098 0.8772 1.3772
## IsActiveMemberSí 0.3245 3.0816 0.2717 0.3876
## NumOfProducts2 0.4954 2.0187 0.3948 0.6215
## NumOfProducts3 1.3426 0.7448 1.0198 1.7675
## NumOfProducts4 1.5706 0.6367 0.9343 2.6403
##
## Concordance= 0.718 (se = 0.015 )
## Rsquare= 0.22 (max possible= 0.996 )
## Likelihood ratio test= 314 on 7 df, p=<2e-16
## Wald test = 291.7 on 7 df, p=<2e-16
## Score (logrank) test = 332.4 on 7 df, p=<2e-16
Además de no ser significativa la covariable España tampoco lo es si el cliente tiene 4 productos. Sin embargo notamos que sí es significativa la covariable en el que el cliente tiene 3 productos, además de 2 productos como lo vimos en la grafica.
Dejaremos hasta aquí el análisis de los clientes mayores de 50, integraremos los resultados en las conclusiones.
Regresando a la base con todos los sujetos recordemos que otra variable correlacionada con la salida del banco era el género. Grafiquemos su función de supervivencia.
La supervivencia por género no es tan distinta, sin embargo sí se puede notar que las mujeres salen del banco más rápido. Hagamos una prueba Log-rank para ver si la diferencia es significativa.
## Call:
## survdiff(formula = tiempos_surv ~ Gender, data = banco)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## Gender=Female 4543 1139 920 52.2 101
## Gender=Male 5457 898 1117 43.0 101
##
## Chisq= 101 on 1 degrees of freedom, p= <2e-16
La prueba tiene un p-value pequeño por lo que sí es significativa la diferencia de la función de supervivencia por género.
De igual forma que tratamos a los mayores de 50 filtraremos la base para quedarnos sólo con las mujeres, para ver si encontramos características similares entre estos sujetos que hagan un diferencia en los tiempos de supervivencia.
## [1] 0.4543
Las mujeres representan el 45.43% del total de clientes, casi la mitad.
Veamos graficamente el tiempo de supervivencia de las clientes mujeres para las distintas variables. Solo no tomarems en cuenta la edad pues anteriormente ya vimos que las mujeres mayores de 50 años salen más del banco.
Tiempos de supervivencia por:
## Call:
## survdiff(formula = tm_FG ~ Geography, data = muj_FG)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## Geography=France 2261 460 588 27.8 85.8
## Geography=Germany 1193 448 320 51.0 85.8
##
## Chisq= 85.8 on 1 degrees of freedom, p= <2e-16
## Call:
## survdiff(formula = tm_SF ~ Geography, data = muj_SF)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## Geography=France 2261 460 466 0.084 0.274
## Geography=Spain 1089 231 225 0.174 0.274
##
## Chisq= 0.3 on 1 degrees of freedom, p= 0.6
## Call:
## survdiff(formula = tm_GS ~ Geography, data = muj_GS)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## Geography=Germany 1193 448 359 22.0 50.7
## Geography=Spain 1089 231 320 24.7 50.7
##
## Chisq= 50.7 on 1 degrees of freedom, p= 1e-12
En esta grafica en comparación con la anterior es menor la diferencia entre las funciones de supervivencia. Sin embargo se sigue viendo una distinción para los clientes de Alemanis. Con la prueba Log-Rank vemos que los p-values en efecto son pequeños para las comparaciones con Alemania, por lo tanto sí es una diferencia en la supervivencia significativa.
## Call:
## survdiff(formula = tm ~ IsActiveMember, data = mujeres)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## IsActiveMember=No 2259 725 575 39.3 85.4
## IsActiveMember=Sí 2284 414 564 40.1 85.4
##
## Chisq= 85.4 on 1 degrees of freedom, p= <2e-16
Notamos que sí hay una diferencia significativa en la supervivencia por miembros activos. El p-value es muy chiquito. Salen más del banco las mujeres que no son miembros activos.
## Call:
## survdiff(formula = tm ~ HasCrCard, data = mujeres)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## HasCrCard=NO 1351 344 334 0.275 0.418
## HasCrCard=Sí 3192 795 805 0.114 0.418
##
## Chisq= 0.4 on 1 degrees of freedom, p= 0.5
Para esta variable el p-value es “grande” por lo que podemos decir que las funciones de supervivencia son iguales. El que los sujetos tengan tarjeta de credito o no, no hace una diferencia en la supervivencia para las mujeres.
## Call:
## survdiff(formula = tm_12 ~ NumOfProducts, data = muj_1_2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=1 2296 762 511 124 279
## NumOfProducts=2 2060 210 461 137 279
##
## Chisq= 278 on 1 degrees of freedom, p= <2e-16
## Call:
## survdiff(formula = tm_23 ~ NumOfProducts, data = muj_2_3)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=2 2060 210 317.5 36.4 596
## NumOfProducts=3 149 129 21.5 536.1 596
##
## Chisq= 596 on 1 degrees of freedom, p= <2e-16
## Call:
## survdiff(formula = tm_34 ~ NumOfProducts, data = muj_3_4)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=3 149 129 127.6 0.0153 0.0928
## NumOfProducts=4 38 38 39.4 0.0496 0.0928
##
## Chisq= 0.1 on 1 degrees of freedom, p= 0.8
## Call:
## survdiff(formula = tm_41 ~ NumOfProducts, data = muj_4_1)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=1 2296 762 784.9 0.669 40.4
## NumOfProducts=4 38 38 15.1 34.827 40.4
##
## Chisq= 40.4 on 1 degrees of freedom, p= 2e-10
## Call:
## survdiff(formula = tm_42 ~ NumOfProducts, data = muj_4_2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=2 2060 210 242.85 4.44 224
## NumOfProducts=4 38 38 5.15 209.62 224
##
## Chisq= 224 on 1 degrees of freedom, p= <2e-16
## Call:
## survdiff(formula = tm_31 ~ NumOfProducts, data = muj_3_1)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=1 2296 762 840 7.25 140
## NumOfProducts=3 149 129 51 119.55 140
##
## Chisq= 140 on 1 degrees of freedom, p= <2e-16
Para las mujeres sí se puede notar la distinción de la función de supervivencia por número de productos, las que tienen 3 y 4 productos salen más rápido del banco.
Las que más permanecen al igual que con el grupo de mayores de 50 años son las que tienen dos productos. Sin embargo para las mujeres también es notoria una supervivencia mayor para con un solo producto. Quizás pueda deberse a una mejor administración por parte de las mujeres.
La supervivencia por salario estimado se ve bastante similar para todos los estratos, no nos aporta información relevante.
De nuevo el grupo que más sale del banco es el que más capital tenía en su cuenta. No tomaremos como relevante esta variable pues siempre nos interesa que los clientes tengan mayor capital en sus cuentas.
ggsurvplot(surv_fit(t~CreditScore, data=mayores_50))
Esta grafica también muestra una función de supervivencia similar para todos los estratos por lo que no nos aporta información relevante.
Así, nuestro subgrupo “Vulnerable” para el grupo de las mujeres son :
Las personas mayores de 50 años
Alemanas
No miembros activos
Con 3 y 4 productos
Es un grupo muy similar al que encontramos cuando filtramos a los clientes por edad. Por lo que este sería nuestro grupo de estudio al que buscaremos alternativas diseñadas específicamente para estos clientes.
De igual froma haremos un modelo de Cox con estas variables.
## Call:
## coxph(formula = tm ~ Age + Geography + IsActiveMember + NumOfProducts,
## data = mujeres)
##
## n= 4543, number of events= 1139
##
## coef exp(coef) se(coef) z Pr(>|z|)
## Age30-50 0.76189 2.14233 0.11369 6.701 2.07e-11 ***
## Age+50 1.50655 4.51116 0.12252 12.297 < 2e-16 ***
## GeographyGermany 0.45847 1.58165 0.06673 6.870 6.41e-12 ***
## GeographySpain 0.07529 1.07820 0.08079 0.932 0.351
## IsActiveMemberSí -0.53682 0.58460 0.06238 -8.606 < 2e-16 ***
## NumOfProducts2 -1.07280 0.34205 0.07857 -13.655 < 2e-16 ***
## NumOfProducts3 0.94582 2.57492 0.09624 9.828 < 2e-16 ***
## NumOfProducts4 0.92036 2.51019 0.16754 5.493 3.94e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## exp(coef) exp(-coef) lower .95 upper .95
## Age30-50 2.1423 0.4668 1.7144 2.6771
## Age+50 4.5112 0.2217 3.5482 5.7355
## GeographyGermany 1.5816 0.6323 1.3877 1.8027
## GeographySpain 1.0782 0.9275 0.9203 1.2632
## IsActiveMemberSí 0.5846 1.7106 0.5173 0.6606
## NumOfProducts2 0.3420 2.9236 0.2932 0.3990
## NumOfProducts3 2.5749 0.3884 2.1323 3.1094
## NumOfProducts4 2.5102 0.3984 1.8076 3.4859
##
## Concordance= 0.741 (se = 0.01 )
## Rsquare= 0.171 (max possible= 0.977 )
## Likelihood ratio test= 852.1 on 8 df, p=<2e-16
## Wald test = 838.4 on 8 df, p=<2e-16
## Score (logrank) test = 1008 on 8 df, p=<2e-16
Para este grupo todas las covariables son significativas a excepción de España, podríamos clasificar a los clientes de Francia y España en un mismo grupo y sólo hacer diferencia con los clientes de Alemania.
Ahora por último la otra variable que valdría la pena analizar para todo la base de clientes es sí el miembro es activo o no. Pues tenía una correlación significativa con la supervivencia de los sujetos. Hagamos un análisis similar a los anteriores para este variable.
En este caso también notamos que en general (toda la base) los miembros activos permanecen más tiempo en el banco, mientras que los miembros no activos salen más rápido.
Hagamos una pruba Log Rank para ver si esta diferencia es significativa
## Call:
## survdiff(formula = tiempos_surv ~ IsActiveMember, data = banco)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## IsActiveMember=No 4849 1302 1009 85.1 179
## IsActiveMember=Sí 5151 735 1028 83.5 179
##
## Chisq= 179 on 1 degrees of freedom, p= <2e-16
Tenemos un p-value casi 0 por lo que rechazamos la hipótesis de que los estratos tengan la misma función de supervivencia. Por lo que, en efecto sí debemos hacer una distinción entre estos grupos.
Haremos de nuevo modelos de supervivencia filtrando la base para quedarnos sólo con el grupo de los miembros no activos. No haremos modelos para las variables edad y género pues ya los hicimos anteriormente. Tampoco para la variable balance pues independientemente del resultado simpre buscamos que los sujetos tengan más capital en sus cuentas.
Tiempos de supervivencia por:
De nuevo podemos una clara diferenciación para los clientes de Alemania, que son los que más dejan el banco.
## Call:
## survdiff(formula = tnAct ~ HasCrCard, data = NoAct)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## HasCrCard=NO 1401 360 371 0.334 0.506
## HasCrCard=Sí 3448 942 931 0.133 0.506
##
## Chisq= 0.5 on 1 degrees of freedom, p= 0.5
De nuevo el que los sujetos tengan tarjeta de credito o no, no hace una diferencia en la supervivencia.
## Call:
## survdiff(formula = tNA_12 ~ NumOfProducts, data = NA_1_2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=1 2521 924 609 163 378
## NumOfProducts=2 2144 212 527 188 378
##
## Chisq= 378 on 1 degrees of freedom, p= <2e-16
## Call:
## survdiff(formula = tNA_23 ~ NumOfProducts, data = NA_2_3)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=2 2144 212 325.2 39.4 656
## NumOfProducts=3 153 135 21.8 589.1 656
##
## Chisq= 656 on 1 degrees of freedom, p= <2e-16
## Call:
## survdiff(formula = tNA_34 ~ NumOfProducts, data = NA_3_4)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=3 153 135 139.8 0.162 1.36
## NumOfProducts=4 31 31 26.2 0.864 1.36
##
## Chisq= 1.4 on 1 degrees of freedom, p= 0.2
## Call:
## survdiff(formula = tNA_41 ~ NumOfProducts, data = NA_4_1)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=1 2521 924 944.6 0.451 46.5
## NumOfProducts=4 31 31 10.4 41.076 46.5
##
## Chisq= 46.5 on 1 degrees of freedom, p= 9e-12
## Call:
## survdiff(formula = tNA_42 ~ NumOfProducts, data = NA_4_2)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=2 2144 212 239.98 3.26 271
## NumOfProducts=4 31 31 3.02 259.61 271
##
## Chisq= 271 on 1 degrees of freedom, p= <2e-16
## Call:
## survdiff(formula = tNA_31 ~ NumOfProducts, data = NA_3_1)
##
## N Observed Expected (O-E)^2/E (O-E)^2/V
## NumOfProducts=1 2521 924 1001.5 5.99 124
## NumOfProducts=3 153 135 57.5 104.35 124
##
## Chisq= 124 on 1 degrees of freedom, p= <2e-16
Esta grafica igual que para el grupo de mujeres se ve muy diferenciada para los cliente con 1 y dos productos.
En prueba log-rank podemos ver que los únicos estratos que tienen función de supervivencia igual son los clientes con 3 y 4 productos, que de nuevo son los que salen más rápido del banco.
De nuevo esta variable no nos importa información relevante. El salario estimado de los clientes no influye en su decisión de salir o no del banco.
Tampoco nos aporta información relevante sobre la supervivencia de los clientes.
En conclusión para el grupo de miembro no activos de nuevo tenemos al subgrupo “vulnerable” a los clientes:
Mujeres
Mayores de 50
Alemanes
Con 3 y 4 productos
De igual froma haremos un modelo de Cox con estas variables.
## Call:
## coxph(formula = tnAct ~ Gender + Geography + Age + NumOfProducts,
## data = NoAct)
##
## n= 4849, number of events= 1302
##
## coef exp(coef) se(coef) z Pr(>|z|)
## GenderMale -0.29722 0.74288 0.05605 -5.303 1.14e-07 ***
## GeographyGermany 0.46316 1.58909 0.06277 7.379 1.60e-13 ***
## GeographySpain 0.17637 1.19288 0.07512 2.348 0.0189 *
## Age30-50 0.74727 2.11123 0.10749 6.952 3.60e-12 ***
## Age+50 1.75160 5.76380 0.11644 15.044 < 2e-16 ***
## NumOfProducts2 -1.19084 0.30397 0.07698 -15.470 < 2e-16 ***
## NumOfProducts3 0.72066 2.05578 0.09372 7.690 1.48e-14 ***
## NumOfProducts4 0.96246 2.61812 0.18362 5.242 1.59e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## exp(coef) exp(-coef) lower .95 upper .95
## GenderMale 0.7429 1.3461 0.6656 0.8291
## GeographyGermany 1.5891 0.6293 1.4051 1.7971
## GeographySpain 1.1929 0.8383 1.0296 1.3821
## Age30-50 2.1112 0.4737 1.7102 2.6063
## Age+50 5.7638 0.1735 4.5877 7.2413
## NumOfProducts2 0.3040 3.2898 0.2614 0.3535
## NumOfProducts3 2.0558 0.4864 1.7108 2.4703
## NumOfProducts4 2.6181 0.3820 1.8268 3.7522
##
## Concordance= 0.755 (se = 0.009 )
## Rsquare= 0.196 (max possible= 0.984 )
## Likelihood ratio test= 1061 on 8 df, p=<2e-16
## Wald test = 1058 on 8 df, p=<2e-16
## Score (logrank) test = 1350 on 8 df, p=<2e-16
Para este grupo todas las covariables son significativas. Es claro que los grupos en el que debemos fijarnos pues son los que más salen son:
Mujeres
Mayores de 50
Alemanes
Con 3 y 4 productos
Sin embargo estos resultados los obtuvimos con los datos filtrados por algunas variables. Veamos por último si, este mismo grupo sigue siendo el más vulnerable para toda la base de clientes en conjunto.
El siguiente es el modelo final propuesto de riesgos proporcionales. Considerando las variables, Género, País, Edad y Número de productos.
## Call:
## coxph(formula = tiempos_surv ~ Gender + Geography + Age + NumOfProducts,
## data = banco)
##
## n= 10000, number of events= 2037
##
## coef exp(coef) se(coef) z Pr(>|z|)
## GenderMale -0.37914 0.68445 0.04478 -8.467 < 2e-16 ***
## GeographyGermany 0.58985 1.80372 0.04979 11.847 < 2e-16 ***
## GeographySpain 0.07599 1.07895 0.06060 1.254 0.21
## Age30-50 0.84269 2.32261 0.08684 9.704 < 2e-16 ***
## Age+50 1.51228 4.53705 0.09315 16.234 < 2e-16 ***
## NumOfProducts2 -1.23881 0.28973 0.06008 -20.620 < 2e-16 ***
## NumOfProducts3 0.95160 2.58984 0.07310 13.018 < 2e-16 ***
## NumOfProducts4 1.01719 2.76540 0.13263 7.669 1.73e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## exp(coef) exp(-coef) lower .95 upper .95
## GenderMale 0.6845 1.4610 0.6269 0.7472
## GeographyGermany 1.8037 0.5544 1.6360 1.9886
## GeographySpain 1.0790 0.9268 0.9581 1.2150
## Age30-50 2.3226 0.4306 1.9591 2.7535
## Age+50 4.5370 0.2204 3.7799 5.4458
## NumOfProducts2 0.2897 3.4515 0.2575 0.3259
## NumOfProducts3 2.5898 0.3861 2.2441 2.9888
## NumOfProducts4 2.7654 0.3616 2.1324 3.5864
##
## Concordance= 0.75 (se = 0.007 )
## Rsquare= 0.151 (max possible= 0.967 )
## Likelihood ratio test= 1642 on 8 df, p=<2e-16
## Wald test = 1568 on 8 df, p=<2e-16
## Score (logrank) test = 1960 on 8 df, p=<2e-16
Notamos que todas las covariables son significativas a excepción de España por lo que sería conveniente agrupar a los clientes de Francia y España pues tienen funcions de supervivencia muy similares. Y así, la variable país solo haría diferencia entre este grupo con los clientes de Alemania.
En efecto nuestro grupos más vulnerables son:
Mujeres
Mayores de 50
Alemanes
Con 3 y 4 productos
Ya dentificado nuestro grupo vulnerable. Se tendrían que diseñar productos específicos cada pada uno de estos grupos.
Para los mayores de 50 como había mencionado anteriormente podría ser conveniente ofrecerles cuentas de ahorros.
Para las mujeres se tendría que hacer un estudio más completo, para identificar sus prefencias en cuestiones bancarias, la información en nuestra base no es suficiente.
Una medida para los clientes con muchos productos que son los que más salen podría ser restringir más el proceso de aceptación de nuevas cuentas, que no necesariamente afecta a los clientes pues con dos productos en un mismo banco se puede tener un manejo financiero adecuado.
En el caso de los Alemanes también se tendría que hacer un estudio más completo sobre la preferencias bancarias de este grupo.