Cómo predijimos la deserción al abordarla como un desastre natural

A veces, para resolver un problema, basta con mirarlo desde un ángulo diferente. Aunque en los últimos 10 años problemas similares se han resuelto de la misma manera y con diferentes efectos, no es un hecho que este método sea el único.

Existe un tema como la pérdida de clientes. La cosa es inevitable, porque los clientes de cualquier empresa pueden, por muchos motivos, dejar de utilizar sus productos o servicios. Por supuesto, para una empresa, la deserción es una acción natural, pero no la más deseable, por lo que todos intentan minimizarla. Mejor aún, prediga la probabilidad de abandono de una categoría particular de usuarios, o de un usuario específico, y sugiera algunos pasos para retenerlos.

Es necesario analizar e intentar fidelizar al cliente, si es posible, por al menos los siguientes motivos:

  • atraer nuevos clientes es más caro que los procedimientos de retención. Para atraer nuevos clientes, por regla general, es necesario gastar algo de dinero (publicidad), mientras que los clientes existentes pueden activarse con una oferta especial con condiciones especiales;
  • Comprender las razones por las que los clientes se van es la clave para mejorar los productos y servicios.

Existen enfoques estándar para predecir la deserción. Pero en uno de los campeonatos de IA decidimos probar la distribución Weibull. Se utiliza con mayor frecuencia para análisis de supervivencia, pronóstico del tiempo, análisis de desastres naturales, ingeniería industrial y similares. La distribución de Weibull es una función de distribución especial parametrizada por dos parámetros Cómo predijimos la deserción al abordarla como un desastre natural и Cómo predijimos la deserción al abordarla como un desastre natural.

Cómo predijimos la deserción al abordarla como un desastre natural
Wikipedia

En general, es algo interesante, pero para pronosticar salidas de capital, y en fintech en general, no se usa tan a menudo. Debajo del corte le contamos cómo lo hicimos nosotros (Data Mining Laboratory), ganando simultáneamente el oro en el Campeonato de Inteligencia Artificial en la categoría “IA en bancos”.

Acerca de la deserción en general

Entendamos un poco qué es la pérdida de clientes y por qué es tan importante. Una base de clientes es importante para una empresa. Los nuevos clientes llegan a esta base, por ejemplo, después de conocer un producto o servicio a través de un anuncio, viven algún tiempo (utilizan activamente el producto) y después de un tiempo dejan de usarlo. Este período se denomina "ciclo de vida del cliente", un término que describe las etapas por las que pasa un cliente cuando conoce un producto, toma una decisión de compra, paga, utiliza y se convierte en un consumidor leal y, finalmente, deja de usar el producto. por una razón u otra. En consecuencia, la deserción es la etapa final del ciclo de vida del cliente, cuando el cliente deja de utilizar los servicios, y para una empresa esto significa que el cliente ha dejado de generar ganancias o cualquier beneficio.

Cada cliente bancario es una persona concreta que elige una u otra tarjeta bancaria específicamente para sus necesidades. Si viajas con frecuencia, una tarjeta con millas te vendrá muy bien. Compra mucho: hola, tarjeta de devolución de dinero. Compra mucho en tiendas específicas y ya existe un socio de plástico especial para ello. Por supuesto, a veces se selecciona una tarjeta según el criterio del "servicio más barato". En general, aquí hay suficientes variables.

Y una persona también elige el banco en sí: ¿tiene algún sentido elegir una tarjeta de un banco cuyas sucursales estén solo en Moscú y la región, cuando usted es de Khabarovsk? Incluso si una tarjeta de un banco de este tipo es al menos 2 veces más rentable, la presencia de sucursales bancarias cercanas sigue siendo un criterio importante. Sí, 2019 ya está aquí y lo digital es nuestro todo, pero algunos problemas con algunos bancos solo se pueden resolver en una sucursal. Además, una parte de la población confía mucho más en un banco físico que en una aplicación en un teléfono inteligente, esto también debe tenerse en cuenta.

Como resultado, una persona puede tener muchas razones para rechazar los productos del banco (o el propio banco). Cambié de trabajo y la tarifa de la tarjeta cambió de salario a "Para simples mortales", que es menos rentable. Me mudé a otra ciudad donde no hay sucursales bancarias. No me gustó la interacción con el operador no calificado de la sucursal. Es decir, puede haber incluso más motivos para cerrar una cuenta que para utilizar el producto.

Y el cliente no sólo puede expresar claramente su intención: ir al banco y redactar un extracto, sino simplemente dejar de utilizar los productos sin rescindir el contrato. Se decidió utilizar el aprendizaje automático y la inteligencia artificial para comprender estos problemas.

Además, la pérdida de clientes puede ocurrir en cualquier industria (telecomunicaciones, proveedores de Internet, compañías de seguros, en general, dondequiera que exista una base de clientes y transacciones periódicas).

Qué hemos hecho

En primer lugar, era necesario describir un límite claro: a partir de qué momento comenzamos a considerar que el cliente se ha ido. Desde el punto de vista del banco que nos proporcionó los datos para nuestro trabajo, el estado de actividad del cliente era binario: está activo o no. Había un indicador ACTIVE_FLAG en la tabla "Actividad", cuyo valor podía ser "0" o "1" ("Inactivo" y "Activo" respectivamente). Y todo estaría bien, pero una persona es tal que puede usarlo activamente durante algún tiempo y luego salir de la lista activa durante un mes: se enfermó, se fue de vacaciones a otro país o incluso fue a probar un tarjeta de otro banco. O tal vez después de un largo período de inactividad, volver a utilizar los servicios del banco.

Por lo tanto, decidimos llamar período de inactividad a un cierto período de tiempo continuo durante el cual la bandera correspondiente se estableció en "0".

Cómo predijimos la deserción al abordarla como un desastre natural

Los clientes pasan de inactivos a activos después de períodos de inactividad de diferente duración. Tenemos la oportunidad de calcular el grado de valor empírico de la "fiabilidad de los períodos de inactividad", es decir, la probabilidad de que una persona vuelva a utilizar productos bancarios después de una inactividad temporal.

Por ejemplo, este gráfico muestra la reanudación de la actividad (ACTIVE_FLAG=1) de los clientes después de varios meses de inactividad (ACTIVE_FLAG=0).

Cómo predijimos la deserción al abordarla como un desastre natural

Aquí aclararemos un poco el conjunto de datos con el que empezamos a trabajar. Así, el banco proporcionó información agregada de 19 meses en las siguientes tablas:

  • “Actividad”: transacciones mensuales de clientes (mediante tarjetas, en banca por Internet y banca móvil), incluida la nómina y la información sobre el volumen de negocios.
  • “Tarjetas”: datos sobre todas las tarjetas que tiene el cliente, con una tabla de tarifas detallada.
  • “Acuerdos” - información sobre los acuerdos del cliente (tanto abiertos como cerrados): préstamos, depósitos, etc., indicando los parámetros de cada uno.
  • “Clientes”: un conjunto de datos demográficos (género y edad) y la disponibilidad de información de contacto.

Para trabajar necesitábamos todas las tablas excepto el “Mapa”.

Aquí surgió otra dificultad: en estos datos el banco no indicó qué tipo de actividad se realizaba con las tarjetas. Es decir, podríamos entender si hubo transacciones o no, pero ya no pudimos determinar su tipo. Por lo tanto, no estaba claro si el cliente retiraba efectivo, recibía un salario o gastaba el dinero en compras. Tampoco teníamos datos sobre los saldos de las cuentas, lo que hubiera sido útil.

La muestra en sí fue imparcial: en esta sección, durante 19 meses, el banco no hizo ningún intento por retener clientes y minimizar las salidas.

Entonces, sobre los períodos de inactividad.

Para formular una definición de abandono, se debe seleccionar un período de inactividad. Para crear un pronóstico de abandono en un momento dado Cómo predijimos la deserción al abordarla como un desastre natural, debes tener un historial de cliente de al menos 3 meses en un intervalo Cómo predijimos la deserción al abordarla como un desastre natural. Nuestro historial se limitó a 19 meses, por lo que decidimos tomar un período de inactividad de 6 meses, si estuviera disponible. Y para el período mínimo para un pronóstico de alta calidad, tomamos 3 meses. Tomamos las cifras de 3 y 6 meses de forma empírica basándonos en un análisis del comportamiento de los datos de los clientes.

Formulamos la definición de abandono de la siguiente manera: mes de abandono de clientes Cómo predijimos la deserción al abordarla como un desastre natural este es el primer mes con ACTIVE_FLAG=0, donde a partir de este mes hay al menos seis ceros consecutivos en el campo ACTIVE_FLAG, es decir, el mes desde el cual el cliente estuvo inactivo durante 6 meses.

Cómo predijimos la deserción al abordarla como un desastre natural
Número de clientes que se fueron

Cómo predijimos la deserción al abordarla como un desastre natural
Número de clientes restantes

¿Cómo se calcula la deserción?

En este tipo de competiciones, y en la práctica en general, el flujo de salida a menudo se predice de esta manera. El cliente utiliza productos y servicios en diferentes períodos de tiempo, los datos sobre la interacción con él se representan como un vector de características de longitud fija n. Muy a menudo, esta información incluye:

  • Datos que caracterizan al usuario (datos demográficos, segmento de marketing).
  • Historial de uso de productos y servicios bancarios (son acciones de los clientes que siempre están ligadas a un tiempo o período específico del intervalo que necesitamos).
  • Datos externos, si fue posible obtenerlos, por ejemplo, reseñas de redes sociales.

Y después de eso, derivan una definición de abandono, diferente para cada tarea. Luego utilizan un algoritmo de aprendizaje automático, que predice la probabilidad de que un cliente se vaya. Cómo predijimos la deserción al abordarla como un desastre natural basado en un vector de factores Cómo predijimos la deserción al abordarla como un desastre natural. Para entrenar el algoritmo, se utiliza uno de los marcos conocidos para construir conjuntos de árboles de decisión, XGBoost, LuzGBM, gatoboost o modificaciones de los mismos.

El algoritmo en sí no es malo, pero tiene varias desventajas importantes cuando se trata de predecir la deserción.

  • No tiene la llamada “memoria”. La entrada del modelo es un número específico de características que corresponden al momento actual. Para almacenar información sobre el historial de cambios en los parámetros, es necesario calcular características especiales que caracterizan los cambios en los parámetros a lo largo del tiempo, por ejemplo, el número o monto de transacciones bancarias durante los últimos 1,2,3, XNUMX, XNUMX meses. Este enfoque sólo puede reflejar parcialmente la naturaleza de los cambios temporales.
  • Horizonte de previsión fijo. El modelo solo es capaz de predecir la pérdida de clientes durante un período de tiempo predefinido, por ejemplo, un pronóstico con un mes de anticipación. Si se requiere un pronóstico para un período de tiempo diferente, por ejemplo, tres meses, entonces es necesario reconstruir el conjunto de entrenamiento y volver a entrenar un modelo nuevo.

Nuestro enfoque

Decidimos de inmediato que no utilizaríamos enfoques estándar. Además de nosotros, en el campeonato se inscribieron 497 personas más, cada una de las cuales tenía a sus espaldas una experiencia considerable. Por lo tanto, intentar hacer algo según un esquema estándar en tales condiciones no es una buena idea.

Y comenzamos a resolver los problemas que enfrenta el modelo de clasificación binaria prediciendo la distribución de probabilidad de los tiempos de abandono de clientes. Un enfoque similar puede verse aquí, le permite predecir la deserción de manera más flexible y probar hipótesis más complejas que en el enfoque clásico. Como familia de distribuciones que modelan el tiempo de salida, elegimos la distribución Weibull por su uso generalizado en el análisis de supervivencia. El comportamiento del cliente puede verse como una especie de supervivencia.

A continuación se muestran ejemplos de distribuciones de densidad de probabilidad de Weibull según los parámetros. Cómo predijimos la deserción al abordarla como un desastre natural и Cómo predijimos la deserción al abordarla como un desastre natural:

Cómo predijimos la deserción al abordarla como un desastre natural

Esta es la función de densidad de probabilidad de la rotación de tres clientes diferentes a lo largo del tiempo. El tiempo se presenta en meses. En otras palabras, este gráfico muestra cuándo es más probable que un cliente abandone en los próximos dos meses. Como puede ver, un cliente con una distribución tiene un mayor potencial de abandonar antes que los clientes con Weibull(2, 0.5) y Weibull. (3,1) distribuciones.

El resultado es un modelo que, para cada cliente, para cada
mes predice los parámetros de la distribución de Weibull, que refleja mejor la ocurrencia de la probabilidad de salida de flujos a lo largo del tiempo. Con más detalle:

  • Las características objetivo en el conjunto de capacitación son el tiempo restante hasta la deserción en un mes específico para un cliente específico.
  • Si no hay una tasa de abandono para un cliente, asumimos que el tiempo de abandono es mayor que la cantidad de meses desde el mes actual hasta el final del historial que tenemos.
  • Modelo utilizado: red neuronal recurrente con capa LSTM.
  • Como función de pérdida, utilizamos la función de probabilidad logarítmica negativa para la distribución de Weibull.

Estas son las ventajas de este método:

  • La distribución de probabilidad, además de la posibilidad obvia de clasificación binaria, permite una predicción flexible de varios eventos, por ejemplo, si un cliente dejará de utilizar los servicios del banco dentro de 3 meses. Además, si es necesario, se pueden promediar varias métricas sobre esta distribución.
  • La red neuronal recurrente LSTM tiene memoria y utiliza eficazmente todo el historial disponible. A medida que la historia se amplía o perfecciona, la precisión aumenta.
  • El enfoque se puede ampliar fácilmente al dividir períodos de tiempo en otros más pequeños (por ejemplo, al dividir meses en semanas).

Pero no basta con crear un buen modelo, también es necesario evaluar adecuadamente su calidad.

¿Cómo se evaluó la calidad?

Elegimos Lift Curve como métrica. Se utiliza en los negocios para tales casos debido a su clara interpretación, está bien descrito aquí и aquí. Si describe el significado de esta métrica en una oración, sería "¿Cuántas veces el algoritmo hace la mejor predicción en la primera?" Cómo predijimos la deserción al abordarla como un desastre natural% que al azar."

Modelos de entrenamiento

Las condiciones de la competencia no establecieron una métrica de calidad específica mediante la cual se puedan comparar diferentes modelos y enfoques. Además, la definición de abandono puede ser diferente y puede depender del planteamiento del problema, que, a su vez, está determinado por los objetivos comerciales. Por lo tanto, para comprender qué método es mejor, entrenamos dos modelos:

  1. Un enfoque de clasificación binaria comúnmente utilizado que utiliza un algoritmo de aprendizaje automático de árbol de decisión conjunto (LuzGBM);
  2. Modelo Weibull-LSTM

El conjunto de prueba estuvo formado por 500 clientes preseleccionados que no estaban en el conjunto de formación. Se seleccionaron hiperparámetros para el modelo mediante validación cruzada, desglosados ​​por cliente. Se utilizaron los mismos conjuntos de características para entrenar cada modelo.

Debido a que el modelo no tiene memoria, se le tomaron características especiales que muestran la relación entre los cambios en los parámetros durante un mes y el valor promedio de los parámetros durante los últimos tres meses. Lo que caracterizó el ritmo de variación de los valores durante el último período de tres meses. Sin esto, el modelo basado en Random Forest estaría en desventaja en relación con Weibull-LSTM.

Por qué LSTM con distribución de Weibull es mejor que un enfoque de árbol de decisión conjunto

Aquí todo queda claro en sólo un par de imágenes.

Cómo predijimos la deserción al abordarla como un desastre natural
Comparación de la curva de elevación para el algoritmo clásico y Weibull-LSTM

Cómo predijimos la deserción al abordarla como un desastre natural
Comparación de la métrica Lift Curve por mes para el algoritmo clásico y Weibull-LSTM

En general, LSTM es superior al algoritmo clásico en casi todos los casos.

Predicción de abandono

Un modelo basado en una red neuronal recurrente con celdas LSTM con distribución de Weibull puede predecir la pérdida de clientes por adelantado, por ejemplo, predecir la pérdida de clientes dentro de los próximos n meses. Considere el caso de n = 3. En este caso, para cada mes, la red neuronal debe determinar correctamente si el cliente se irá, a partir del mes siguiente y hasta el enésimo mes. Es decir, debe determinar correctamente si el cliente permanecerá después de n meses. Esto se puede considerar una previsión anticipada: predecir el momento en el que el cliente acaba de empezar a pensar en marcharse.

Comparemos la curva de elevación de Weibull-LSTM 1, 2 y 3 meses antes de la salida:

Cómo predijimos la deserción al abordarla como un desastre natural

Ya hemos escrito anteriormente que también son importantes las previsiones que se hacen para los clientes que ya no están activos desde hace algún tiempo. Por lo tanto, aquí agregaremos a la muestra los casos en los que el cliente que se fue ya ha estado inactivo durante uno o dos meses, y verificaremos que Weibull-LSTM clasifique correctamente dichos casos como abandono. Dado que estos casos estaban presentes en la muestra, esperamos que la red los maneje bien:

Cómo predijimos la deserción al abordarla como un desastre natural

Retención de clientes

En realidad, esto es lo principal que se puede hacer, tener a mano información de que tal o cual cliente se está preparando para dejar de usar el producto. Hablando de construir un modelo que pueda ofrecer algo útil a los clientes para retenerlos, esto no se puede hacer si no se tiene un historial de intentos similares que terminarían bien.

No teníamos esa historia, así que la decidimos de esta manera.

  1. Estamos construyendo un modelo que identifica productos interesantes para cada cliente.
  2. Todos los meses ejecutamos el clasificador e identificamos clientes que potencialmente abandonan.
  3. Ofrecemos a algunos clientes el producto, según el modelo del punto 1, y recordamos nuestras acciones.
  4. Después de unos meses, analizamos cuáles de estos clientes potencialmente salientes se fueron y cuáles se quedaron. Así, formamos una muestra de entrenamiento.
  5. Entrenamos el modelo utilizando el historial obtenido en el paso 4.
  6. Opcionalmente repetimos el procedimiento, sustituyendo el modelo del paso 1 por el modelo obtenido en el paso 5.

Se puede realizar una prueba de la calidad de dicha retención mediante pruebas A/B periódicas: dividimos a los clientes que potencialmente se van en dos grupos. A uno le ofrecemos productos según nuestro modelo de retención y al otro no le ofrecemos nada. Decidimos entrenar un modelo que podría ser útil ya en el punto 1 de nuestro ejemplo.

Queríamos que la segmentación fuera lo más interpretable posible. Para hacer esto, elegimos varias características que podrían interpretarse fácilmente: el número total de transacciones, salarios, rotación total de cuentas, edad, sexo. Las características de la tabla "Mapas" no se tuvieron en cuenta por no ser informativas, y las características de la tabla 3 "Contratos" no se tuvieron en cuenta debido a la complejidad del procesamiento para evitar la fuga de datos entre el conjunto de validación y el conjunto de entrenamiento.

La agrupación se llevó a cabo utilizando modelos de mezcla gaussiana. El criterio de información de Akaike nos permitió determinar 2 óptimos. El primer óptimo corresponde a 1 grupo. El segundo óptimo, menos pronunciado, corresponde a 80 grupos. Con base en este resultado, podemos sacar la siguiente conclusión: es extremadamente difícil dividir los datos en grupos sin información dada a priori. Para una mejor agrupación, necesita datos que describan a cada cliente en detalle.

Por ello, se consideró el problema del aprendizaje supervisado para poder ofrecer a cada cliente individual un producto diferente. Se consideraron los siguientes productos: “Depósito a plazo”, “Tarjeta de crédito”, “Sobregiro”, “Préstamo al consumo”, “Préstamo para automóvil”, “Hipoteca”.

Los datos incluían un tipo más de producto: “Cuenta corriente”. Pero no lo consideramos por su bajo contenido informativo. Para usuarios que sean clientes del banco, es decir no dejó de utilizar sus productos, se construyó un modelo para predecir qué producto podría ser de su interés. Se eligió la regresión logística como modelo y el valor de elevación para los primeros 10 percentiles se utilizó como métrica de evaluación de calidad.

La calidad del modelo se puede evaluar en la figura.

Cómo predijimos la deserción al abordarla como un desastre natural
Resultados del modelo de recomendación de productos para clientes.

Total

Este enfoque nos valió el primer lugar en la categoría "IA en bancos" en el Campeonato de IA RAIF-Challenge 2017.

Cómo predijimos la deserción al abordarla como un desastre natural

Al parecer, lo principal era abordar el problema desde un ángulo poco convencional y utilizar un método que suele utilizarse para otras situaciones.

Aunque una salida masiva de usuarios bien podría suponer un desastre natural para los servicios.

Este método se puede tener en cuenta para cualquier otro ámbito en el que sea importante tener en cuenta las salidas de capital, no sólo los bancos. Por ejemplo, lo utilizamos para calcular nuestras propias salidas, en las sucursales de Rostelecom en Siberia y San Petersburgo.

Empresa "Laboratorio de minería de datos" "Portal de búsqueda "Sputnik"

Fuente: habr.com

Añadir un comentario