Modelo predictivo de deserción de clientes de un banco usando librería Mahout del framework HADOOP
description
Transcript of Modelo predictivo de deserción de clientes de un banco usando librería Mahout del framework HADOOP
María José Loor MartínezFernando Xavier Loor Mera
MODELO PREDICTIVO DE DESERCIÓN DE CLIENTES DE UN BANCO USANDO LIBRERÍA MAHOUT DEL FRAMEWORK HADOOP
Análisis de lealtad y deserción de clientes.
Analizar el comportamiento transaccional de los clientes que han abandonado la empresa.
Obtener un modelo que permita predecir futuros clientes desertores.
Los costos que incurre en mantener a un cliente son menores que la adquisición de nuevos.
INTRODUCCIÓN
Muchas razones a considerar para que un cliente cancele sus productos y servicios, por este motivo se ha limitado el alcance de este proyecto a la parte transaccional.
LimitacionesEl tamaño de la muestra.Información confidenciales.Tiempo.
ALCANCE Y LIMITACIONES
Abandono de clientes ya sea voluntario o involuntario.
Desertor, si el cliente tuvo un producto en un periodo de tiempo y ha cancelado todos los productos y servicios.
Objetivo:Clientes con alto potencial de abandono. Clientes que vale la pena retener.
DESERCIÓN DE CLIENTES
Sistema de almacenamiento y procesamiento de datos. EscalableTolerante a fallosDistribuido.
Procesamiento distribuido de grandes conjuntos de datos.
Soportado por dos componentes: HDFS (Hadoop Distributed File System)MapReduce.
HADOOP
HADOOP
HDFS MapReduce
Sistema de archivos distribuido, escalable y portátil.
HDFS divide en piezas y las distribuye entre los diferentes servidores. Cada servidor almacena un fragmento del conjunto completo de datos
Cada parte de los datos se replica en más de un servidor.
HDFS fue diseñado para gestionar archivos muy grandes.
HADOOP DISTRIBUTED FILE SYSTEM
HADOOP DISTRIBUTED FILE SYSTEM
Data File
Name Node
La data es dividida en fragmentos y se distribuye entre los
diferentes servidores
Cada fragmento de los datos se replica
en más de un servidor.
Framework que soporta la computación en paralelo sobre grandes colecciones de datos en clústeres de computadoras.
MapReduce divide el procesamiento en dos fasesMapReduce.
Compuesto por:Nodo maestro JobTrackerNodo esclavo TaskTracker.
MAPREDUCE
Datos de Entrada Fase Map Archivos
Intermedios Fase Reduce Datos de Salida
Esclavo Salida
Archivo 0
Master
Fragmento 0
Fragmento 1
Fragmento 2
Fragmento 3
Fragmento 4
Esclavo
Esclavo
Esclavo
Esclavo
SalidaArchivo 1
Asignación ReduceAsignación Map
Lee Escribe localmente Leer remotamente
Escribir
MAPREDUCE
Librería escalable y abierta a implementación.Divide sus algoritmos en tres áreas principales:
Filtros colaborativos (recomendadores), Clustering Clasificación.
Algoritmos de Clasificación permiten pronosticar futuros eventos en base a los datos históricos.
Un sistema de clasificación se divide en tres partes: Entrenamiento del modelo, Evaluación del modelo, Implementación del modelo.
MAHOUT
Entrenamiento del modelo
• Definición variable objetivo
• Recolección datos históricos
• Definición variables predictivas
• Selección del algoritmo de aprendizaje
• Entrenamiento del modelo
Evaluación del modelo
• Ejecutar datos de prueba
• Ajustar datos
Usar el modelo
en producci
ón
ANÁLISIS DE LA SOLUCIÓN
Definición de la variable objetivo
Recolección de datos
históricos
Definición de variables
predictivas
Selección de algoritmo de aprendizaje
Usar el algoritmo
seleccionado para entrenar
el modelo
ENTRENAMIENTO DEL MODELO
DEFINICIÓN DE LA VARIABLES OBJETIVO
Deserción
RECOLECCIÓN DE DATOS HISTÓRICOS
• El comportamiento del cliente identifica cuales partes de los servicios del banco son usados y cuan a menudo.
Comportamiento
• La percepción del cliente es definida por la forma en que el cliente aprecia el servicio.Percepción
• Información demográfica del cliente son las variables más usadas, como edad, nivel de educación, estatus social, información geográfica.
Información demográfica
• Las variables macro económicas identifica cambios económicos en la sociedad, las diferencias en las experiencias del cliente y como afecta en el servicio.
Variables Macro
Económicas
DEFINICIÓN DE VARIABLES PREDICTIVASBase de datos: 4,750 clientes inactivos.Cliente Inactivo: es el cliente que durante el
periodo de 12 meses ha cancelado voluntariamente sus productos y servicios con el banco.
Dos tipos de datos: Información demográfica: edad, género, ciudad,
dependencia salarial, y tiempo de vida en el banco. Comportamiento transaccional: periodo de Enero a
Julio del 2010. Productos: cuentas de ahorros, cuentas corrientes, pólizas de acumulación, créditos, créditos para autos y créditos para casas.
DEFINICIÓN DE VARIABLES PREDICTIVAS57% de clientes pertenece al género masculino, y el
43% al género femenino. Un gran porcentaje de clientes fluctúa entre el rango
de 25 y 35 años de edad.
0
50
100
150
200
250
0 10 20 30 40 50 60 70 80 90 100
AGE
DEFINICIÓN DE VARIABLES PREDICTIVASEl 23% de los clientes desertores tienen un tiempo
promedio de vida en el banco de 2 años.
0
200
400
600
800
1000
1200
1400
1600
0 5 10 15 20 25 30
BANK_AGE
DEFINICIÓN DE VARIABLES PREDICTIVASEl número de transacciones disminuye en el tiempo. El producto cuenta de ahorros tiene una participación
significativa en el número de productos activos. Se puede deducir que el comportamiento
transaccional de un cliente desertor es de forma decreciente.
0
500
1000
1500
2000
2500
3000
3500
t = 1 t = 6
TRXPOL_t
TRXCRE_t
TRXCA_t
TRXCC_t
TRXCAS_t
TRXAUT_t
SELECCIÓN DE ALGORITMO
Algoritmos de Clasificación:Regresión Logística
La regresión logística es usada en una situación cuando la variable objetivo es un estado que puede o no suceder.Cuantificar la importancia de la relación existente entre las variables predictivas y la variable objetivo.
Clasificar individuos dentro de las categorías (presente/ausente) de la variable objetivo.
Algoritmo trainlogistic
ENTRENAMIENTO DEL MODELO
$ bin/mahout trainlogistic
--input /home/hadoop/baseClientes.csv
--output ./model
--target churn --categories 2
--predictors AGE BANK_AGE SEX DEPENDENCY--types numeric
--features 16 --passes 100
Datos de entradaModelo resultante Variable ObjetivoVariables
Predictivas Variables de Ajuste
Modelo resultante:churn ~ 5.701*Intercept Term + -1.513*AGE + 7.885*BANK_AGE + 1.852*SEX + 5.701*DEPENDENCY
Intercept Term 5.70054
AGE -1.51264
BANK_AGE 7.88537
SEX 1.85234
DEPENDENCY 5.70054
$ bin/mahout runlogistic
--input /home/hadoop/baseClientes.csv
--model ./model
--auc
Algoritmo runlogistic
EVALUACIÓN DEL MODELO
Datos de entradaModelo
resultanteVariable de Evaluación
La salida es el valor de AUCMedida utilizada para determinar la calidad del modelo.
Cuatro diferentes modelos de regresión logística fueron entrenados y evaluados.:
Evaluación de los modelos:
Los resultados de la evaluación de los dos primeros modelos, los cuales consideraban únicamente un solo tipo de variables, no son muy significativos.
PRUEBAS Y RESULTADOS
Modelo
1Modelo
2Modelo
3Modelo
4AUC 0.56 0.37 0.62 0.68
En la validación se utilizó una muestra de 1,000 clientes.
PRUEBAS Y RESULTADOS
ModeloNumero de clientes
desertores
Número correcto de
predicción de clientes
desertores
Porcentaje predicho
de clientes desertores
Modelo 3 830 794 94%
Modelo 4 830 813 97%
El modelo fue entrenado con una pequeña muestra de datos.
Aunque el valor de evaluación AUC, no fue de 1 para describir un modelo perfecto, ambos clasificaron correctamente a los clientes desertores.
Si la definición de deserción se basa en otros factores como: los reclamos o la rentabilidad del cliente, entonces el modelo se debería redefinir.
El rendimiento del sistema de clasificación en producción dependerá de los datos de entrada.
CONCLUSIONES
Recolectar más muestras a través del tiempo con el fin de hacer más datos de entrenamiento.
Se sugiere tomar los datos históricos de hasta seis meses de anterioridad. El objetivo es mantener la consistencia con los datos de entrada y prototipo del modelo predictivo.
En futuros análisis se puede identificar las características de los clientes de los clientes desertores.
RECOMENDACIONES