El abandono de clientes es un fenómeno bien conocido en muchas empresas. De hecho, en prácticamente todos y cada una de los que se pueda imaginar, ya que cada negocio tiene clientes y les vende productos y servicios que éstos pueden dejar de comprar o consumir. Lo que se vende es irrelevante para el hecho de que el cliente siempre está presente. Incluso si el negocio es B2B, hay clientes, sólo que esta vez son otros negocios. Por lo tanto, el cliente es siempre la piedra angular de cada negocio y perderlos es terrible sin importar lo que vendamos. En este artículo te explico cómo podemos reducir la tasa de abandono de clientes gracias a Machine Learning. ¡Sigue leyendo!

¿Qué es el abandono de clientes?

Por suerte para nosotros, perder clientes no sucede muy a menudo. Dependiendo del negocio, puede suceder en una proporción de 1 a 4 (una alta relación de pérdida de clientes) o tal vez de 1 a 20 para negocios basados en clientes leales. Siempre depende del tipo de negocio. En cualquier caso, reducir estos ratios será nuestro objetivo. Sin embargo, definir lo que es una proporción aceptable para un negocio no es fácil, ni reutilizable en todos los casos de negocio. ¿Qué relación sería aceptable para una empresa de telecomunicaciones? ¿Qué pasa con un gimnasio? ¿Qué hay de un supermercado? En este último caso, ¿es posible medir el abandono?

Según el contexto, la primera pregunta que debemos responder al tratar con el abandono es: ¿qué es el abandono EN NUESTRO ESCENARIO DE NEGOCIO? Esto se puede ver como una extensión de la fase de definición de problemas clásico en cualquier proyecto de Machine Learning, pero con un énfasis especial en la definición por su variabilidad entre negocios. Y, como en cualquier proyecto de Machine Learning, monetizar y valorar nuestro modelo es clave para entender lo bueno que es realmente más allá de las métricas estadísticas. Estas métricas, a pesar de ser buenos indicadores del rendimiento durante el desarrollo, hay que reconocer que no son útiles para el objetivo real del modelo: aplicarse a un negocio y mejorarlo de alguna manera.

Traducir modelos a valor económico nunca es fácil, y el abandono no es una excepción, pero al ser un caso ampliamente estudiado en todas las industrias podemos empezar a tener una idea de lo importante que es (puedes verlo aquí):

  • El aumento de las tasas de retención de clientes en un 5% aumenta los beneficios entre un 25% y un 95%
  • Cuesta cinco veces más atraer a un nuevo cliente que mantener uno existente

Por supuesto, no hay que dudar en ajustar estos números y / o aplicarlos a cada caso de negocio, pero estas cifras nos dan una percepción clara del papel crítico en el negocio de un modelo como este. Ayuda a darse cuenta rápidamente de la rentabilidad que se derivan de los cambios en nuestro modelo (aumentando 1% en una medida de rendimiento en el modelo impacta en dinero X para nuestro negocio).

Una vez que hayamos establecido lo que se agita para nuestro caso de negocio particular, siempre queremos saber no sólo qué, pero, al menos, estos puntos clave:

  • ¿Quién?
    • Sabiendo qué clientes son más propensos a irse podemos diseñar campañas de retención y evitar su abandono.
  • ¿Por qué?
    • Estas campañas de retención deben centrarse en áreas clave de nuestro negocio. Conocer las razones por las que los clientes que probablemente abandonan nuestro negocio nos ayudará a dirigirnos a los perfiles adecuados y diseñar acciones.

 

Técnicas de Machine Learning

«En el equilibrio hay virtud»

Como dijo el filósofo, en equilibrio hay virtud. Esto es cierto en la vida y no es diferente en Machine Learning, especialmente en un caso como el abandono de clientes. Ya hemos mencionado que los ratios de abandono pueden ser mayores o menores dependiendo del caso de negocio, pero siempre estará desequilibrado en favor de los casos que no abandonan. Esta es una situación bien conocida en Machine Learning, y hace más difícil a nuestros modelos (en este caso, un clasificador binario ya que tenemos 2 clases –‘abandona’ y ‘no abandona’) para aprender de los datos ya que se muestran menos casos de la clase ‘abandona’. Existen diversas técnicas para equilibrar nuestros datos y hacer que la tarea de aprendizaje sea más fácil para los algoritmos.

Podríamos aplicar, por ejemplo:

  • Sobremuestreo: Aumentar la clase minoritaria (nuestros casos de clientes que abandonan) creando casos sintéticos que son lo suficientemente similares a los casos reales.
  • Submuestreo: Disminución de la clase mayoritaria. El equilibrio del conjunto de datos se puede lograr eliminando casos de la clase mayoritaria que no son significativos porque ya existen otros casos extremadamente o exactamente idénticos.
  • Métodos híbridos: Combinación de métodos de sobremuestreo y submuestreo.

Hay otras técnicas asociadas con el algoritmo en el que estamos construyendo nuestro modelo, pero como en cualquier otra área de Machine Learning no hay almuerzo gratuito: requiere pruebas, evaluar diferentes combinaciones de procesamiento, investigar cuál se ajusta mejor a sus datos y algoritmo y aplicarlo.

 

Cuidado con la dimensionalidad

Confía en la navaja de Occam

Los modelos de Machine Learning pueden llegar a ser muy complejos, con docenas o cientos de características para calcular y comprender. Esto también sucede en el análisis de abandonos, especialmente cuando las métricas de negocio calculadas entran en la receta. Aunque para nuestros algoritmos esto puede ser beneficioso (cuanto más rica sea la información, mejor será el modelo) podemos caer en la «maldición de la dimensionalidad». Tener demasiadas características cuando podemos llegar a un modelo lo suficientemente bueno (recuerda, nunca tendremos un modelo perfecto) con menos características es una pérdida de tiempo y potencia de cómputo.

Esto es especialmente crítico si pensamos en una de las preguntas clave de nuestro enfoque de abandono: «¿por qué mis clientes me abandonan?«. Si la respuesta se basa en cientos de factores, será extremadamente difícil hacerla comprensible para nuestros colegas o clientes al diseñar campañas de retención o, aún más importante a veces, ¡cuando estamos vendiendo las conclusiones del proyecto!

Además de eso, tener modelos simples generalmente los hace más robustos y menos propensos al sobreentrenamiento (algoritmos sobreespecializados en el dato con el que entrenan). Los datos siempre nos sorprenderán cuando pongamos nuestro modelo en producción. Los clientes siempre se comportarán de manera diferente y los nuevos clientes llegarán con nuevos casos. Tener modelos más simples (siempre y cuando funcionen lo suficientemente bien) suele ser mejor que los modelos demasiado complicados, ya que normalmente generalizan mejor con nuevos datos (funcionarán mejor contra los datos no vistos).

 

La interpretación del modelo

El porqué de todo junto

Tener un buen modelo de abandono de clientes es genial, pero no suficiente. Ser capaz de detectar abandonos y predecir qué clientes son más propensos a abandonar nuestro negocio no es útil si no somos capaces de interpretar por qué, qué aspectos de su comportamiento son los más importantes para aquellos clientes que abandonan. Esto se logra a través de la interpretación del modelo, ya que el modelo es un resumen de todo el conjunto de datos. Al mismo tiempo, el conjunto de datos es (o debe ser) un resumen del comportamiento de nuestros clientes. Así, interpretando el modelo estamos interpretando la actividad de nuestros clientes, pero no en un ámbito general, sino centrándonos en sus acciones o perfiles relacionados con el abandono.

La interpretación de modelos es un tema candente hoy en día en Machine Learning. Es una parte fundamental de ML por muchas razones. Algunas de ellas son:

  • Nos permite entender mejor nuestros modelos más allá de las métricas
  • Es útil para depurar y mejorar modelos
  • Para detectar y evitar sesgos en nuestros conjuntos de datos y modelos
  • Para llegar a análisis prescriptivos (como las campañas de retención antes mencionadas)

Las importancias de las características se pueden extraer de nuestros modelos para comprobar qué características han contribuido más para que el modelo decida si un cliente va a abandonar o no. Diferentes algoritmos guardan esta información de diferentes maneras. Por ejemplo, los algoritmos basados en árbol guardan esto como metadatos en función de cuánto les ha ayudado cada entidad en la fase de entrenamiento a aprender del conjunto de datos sobre el comportamiento de nuestros clientes. Otros algoritmos, como la regresión logística, guardan estas importancias en forma de coeficientes o pesos para cada entidad. En cada algoritmo que guarda su característica importancia información podemos extraerla y trazarla.

Otros algoritmos, como las máquinas de soporte vectorial o las redes neuronales, se han considerado históricamente «cajas negras». Eso ya no es cierto gracias a diferentes técnicas como Permutation Feature Importance o SHapley Additive Explanations. Su objetivo es ser independientes del modelo ya que no transmiten las características internas del modelo para informar sobre las importancias, pero desafían el modelo alimentándolos con datos modificados y luego analizando su rendimiento. Si las modificaciones han tenido un efecto profundo en el rendimiento del modelo, asignan una puntuación más alta a la entidad modificada. Estas pruebas, testeos y generación de reportes de rendimientos sobre los modelos con estas técnicas pueden llevar mucho tiempo, pero nos permiten explicar prácticamente cualquier modelo, incluidos los complejos modelos de ensamblado (combinaciones de muchos modelos simples enlazados) utilizados con frecuencia en los sistemas de producción.

 

Podría interesarte el artículo: Analizando el abandono de clientes con Python, donde podrás consultar un ejemplo completo de análisis de churn rate con Python.

 

¿Quieres poner en marcha tu proyecto de Machine Learning?

Conseguir el éxito en proyectos de analítica avanzada y su monetización requiere de datos, un buen modelo… y su interpretación asociada al caso de negocio. Esta combinación es imprescindible para que el proyecto tenga sentido y sea rentable. Por esta razón, durante nuestro Ideation Workshop nos reunimos en una sesión con todas las partes implicadas de tu equipo, para poner en contexto el proyecto y asegurar tanto su viabilidad técnica como los hitos de negocio en términos de rentabilidad. ¡Infórmate! Mira: Machine Learning Ideation Workshop: ¿Cómo empiezo mi proyecto?

 

Referencias

https://imbalanced-learn.readthedocs.io/en/stable/index.html

https://scikit-learn.org/stable/modules/feature_selection.html

Pau Sempere