Este artículo es especial. Ya que se intentará resolver el siguiente problema: Dado el comportamiento de los clientes en un banco ¿Podemos predecir que clientes ser irán?
Este será el primer artículo de varios de Data science. Y el fin de este artículo es motivar el estudio de las herramientas presentadas aquí. Entender su importancia y su uso. No intente entender todo lo presentado ahora. El aprendizaje será continuo a medida que se avance en el curso.
Este código completo está en: https://github.com/robertofuentesr/-open-projects)
A grandes rasgos lo que se hace en este código es:
- Analizar los datos que se tienen disponibles. Columnas y valores en ellas (calidad de datos, revisando valores nulos por ejemplo).
- Analizar ciertas relaciones que tienen los datos. (por medio de gráficos para facilitar interpretación.)
- Transformar los valores que sean necesario para poder realizar los modelos de Machine Learning (ML).
- Analizar como funcionan los modelos de ML. ¿Cuántos errores cometen estos modelos y en dónde? ¿Cuales son las variables más importantes para predecir si un cliente se va o no?
La primera parte de este artículo se harán preguntas a los datos y se responderán rápidamente por medio de gráficos.
Entendiendo al Cliente
¿Quién es el cliente del banco?
¿Cuántos años tienen los clientes?
Notemos que cerca de un 80% (puede revisar código) de los clientes tienen edad entre 29-44.
¿De dónde son? y ¿cómo se comportan? (Exited=0 indica cliente que permanece en el banco. Exited=1 indica cliente que se retiro)
Notemos que la mayoría de clientes son de Francia. Por otra parte se observa que:
- En general los hombres suelen quedarse más en el banco que las mujeres.
- Pese a que la mayoría de las personas del banco son de Francia, se van en general casi la misma cantidad en España y en Alemania. Alemania es el país con la peor tasa de retención.
Sería conveniente tener un benchmark, para ver si es común a todos los bancos que los hombres se queden conformes con sus productos o no. Y si es común que en Francia las personas se queden con su banco y en Alemania se cambien.
Notemos que en la parte de la edad podrían realizarse dos gráficos en lugar de uno. Uno para los clientes que se quedan y otro para los que se van. Esto permitiría ver que segmento etario tiene menor taza de retención. ¡Esto se deja propuesto (tarea)!
¿Cómo se comporta el cliente con los productos del banco?
¿Cuántos productos tienen en general los clientes?
Los hombres en general (independiente del país) tienen menos productos. Este comportamiento también se da en las mujeres salvo en España que suelen tener 2 productos en vez de 1 (es muy bajo mayor).
¿Clientes con mejores sueldos tienen mejor balance?
Análisis: Este gráfico que parecía interesante de realizarse, no muestra un patrón evidente de si los hombres o mujeres tienen un mejor balance dado el sueldo. Ni si el balance depende del sueldo.
Cómo se Relacionan todas las Variables con la Retención del Cliente
¿Qué variables de los clientes se relacionan más fuertemente con la salida de éste del banco?
Análisis Exploratorio: Exited (Si el cliente se va es 1) está negativamente correlacionado si el cliente es un miembro activo o no (esto es relativamente obvio) y con el número de productos que el cliente tiene.
Dicho de otra forma, si el cliente es un miembro es 1 por lo tanto es más probable que se quede (exited=0). Y si el cliente tiene más productos, es más probable el cliente se quede (exited=0). Notemos la lectura de estas variables. Son correlacionales y no causales. (puede leer aquí la diferencia https://aprendeingenieria.com/correlacion-≠-causalidad/) Es decir, hay por lo menos dos escenarios. Clientes con más productos no quieran salirse del banco (por pereza a tener que, por ejemplo, sacar todos los productos de nuevo). O bien clientes que les gusta mucho el banco sacan hartos productos y por eso no se van.
Nota: La edad se relaciona con la variable miembro activo o no. Usuarios con mayor edad tienden a ser miembros (de nuevo las variables son correlacionales). Adicionalmente el número de productos está muy fuerte (y negativamente) relacionada con el balance de la persona.
Noté que a su vez estás variables están relacionadas positivamente con si el cliente se va (exited=1.) Es decir clientes con más edad tienden a irse como a su vez clientes con un mejor balance.
Nota: Estas variables que se mueven en conjunto sería bueno analizarlas con estudios y preguntas al consumidor para entender porque se dan estos patrones.
Creando Modelo de Machine Learning
Árbol de decisión:
El modelo predice con un 84% si el cliente se va o no. Sin embargo, es mejor saber como está el modelo respecto a la matriz de confusión, para saber cuantos falsos negativos tiene (ya que probablemente estos sean los más costosos). Los falsos negativos son los que el modelo predice incorrectamente que se quedarán, pero en verdad se retiran del banco.
Al hacer la matriz de confusión se nota que: el modelo se equivoca con 483 clientes que se van (prediciendo que se quedarían), este valor lo vamos a tratar de corregir usando random forest. (Los errores totales del modelo son 531).
¿Mejora el modelo al hacer un random forest?
Sí! el modelo mejora. Predice un 86% de los casos y el error más costoso disminuye de 483 a 372.
¿Dónde se equivoca nuestro modelo?
¿Qué opina de dónde se equivoca el modelo?
Antes de continuar leyendo los otros artículos, piense en:
- ¿Qué agregaría usted al análisis?
- ¿Qué le gustaria saber de los clientes o del modelo?
- ¿Qué gráficos le gustaría estuvieran y no están?