250 likes | 516 Views
Modelo predictivo de deserción de clientes de un banco usando librería Mahout del framework HADOOP. María José Loor Martínez Fernando Xavier Loor Mera. Introducción. Análisis de lealtad y deserción de clientes.
E N D
Modelo predictivo de deserción de clientes de un banco usando librería Mahout del framework HADOOP María José Loor Martínez Fernando Xavier Loor Mera
Introducción • 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.
Alcance y Limitaciones • 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. • Limitaciones • El tamaño de la muestra. • Información confidenciales. • Tiempo.
Deserción de clientes • 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.
HADOOP • Sistema de almacenamiento y procesamiento de datos. • Escalable • Tolerante a fallos • Distribuido. • Procesamiento distribuido de grandes conjuntos de datos. • Soportado por dos componentes: • HDFS (Hadoop Distributed File System) • MapReduce.
Hadoop Distributed File System • 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 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.
MapReduce • Framework que soporta la computación en paralelo sobre grandes colecciones de datos en clústeres de computadoras. • MapReduce divide el procesamiento en dos fases • Map • Reduce. • Compuesto por: • Nodo maestro JobTracker • Nodo esclavo TaskTracker.
MapReduce Master Asignación Map Asignación Reduce Esclavo Escribir Esclavo Salida Archivo 0 Fragmento 0 Escribe localmente Leer remotamente Lee Esclavo Fragmento 1 Salida Archivo 1 Fragmento 2 Esclavo Esclavo Fragmento 3 Fragmento 4 Archivos Intermedios Datos de Entrada Fase Map Fase Reduce Datos de Salida
Mahout • 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.
Definición de variables predictivas • Base 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 predictivas • 57% 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.
Definición de variables predictivas • El 23% de los clientes desertores tienen un tiempo promedio de vida en el banco de 2 años.
Definición de variables predictivas • El 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.
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.
Entrenamiento del modelo • Algoritmo trainlogistic $ 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 entrada Modelo resultante Variable Objetivo Variables 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
EVALUACIÓN DEL MODELO • Algoritmorunlogistic $ bin/mahout runlogistic --input /home/hadoop/baseClientes.csv --model ./model --auc Datos de entrada Modelo resultante Variable de Evaluación • La salida es el valor de AUC • Medida utilizada para determinar la calidad del modelo.
Pruebas y Resultados • 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 • En la validación se utilizó una muestra de 1,000 clientes.
Conclusiones • 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.
Recomendaciones • 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.