Predice el valor del ciclo de vida del cliente con AI Platform: Introducción

Last reviewed 2019-02-06 UTC

Este artículo es la primera parte de una serie de cuatro partes en la que se analiza cómo puedes predecir el valor del ciclo de vida del cliente (CVC) mediante AI Platform en Google Cloud.

Los artículos de esta serie son los siguientes:

  • Parte 1: Introducción (este artículo). Se presenta el valor del ciclo de vida del cliente (CVC) y dos técnicas de modelado para predecir el CVC.
  • Parte 2: Entrena el modelo. Se analiza cómo preparar los datos y entrenar los modelos.
  • Parte 3: Implementa en producción. Se describe cómo implementar los modelos analizados en la Parte 2 en un sistema de producción.
  • Parte 4: Usa tablas de AutoML. Se muestra cómo usar las tablas de AutoML para compilar un modelo a fin de implementarlo.

Descripción general

Muchos anunciantes intentan adaptar sus anuncios a individuos o grupos de usuarios similares, pero no siempre apuntan a sus clientes más valiosos. El principio de Pareto a menudo se cita en referencia a las ventas y predice que el 20% de tus clientes representa el 80% de tus ventas. ¿Qué pasaría si pudieras identificar cuáles de tus clientes representan ese 20%, no solo en el pasado, sino también en el futuro? La predicción del valor del ciclo de vida del cliente (CVC) es una forma de identificar a esos clientes.

Los objetivos de esta serie son los siguientes:

  • Explicar los conceptos de modelado de CVC
  • Comparar dos enfoques para el modelado de CVC
  • Mostrar cómo implementar modelos de CVC en Google Cloud

Esta solución compara dos enfoques diferentes para el modelado de CVC: modelos probabilísticos y modelos de aprendizaje automático (AA). Proporciona una implementación de cada enfoque y presenta los resultados cuando cada modelo se aplica a un conjunto de datos públicos. En los artículos de la serie, se explica cómo implementar el sistema de modelado en Google Cloud.

Cuándo debes usar este enfoque

Puedes usar modelos de CVC para responder a este tipo de preguntas sobre los clientes:

  • Cantidad de compras: ¿Cuántas compras realizará el cliente en un intervalo de tiempo futuro determinado?
  • Vida útil: ¿Cuánto tiempo pasará antes de que el cliente se vuelva inactivo de forma permanente?
  • Valor monetario: ¿Cuánto valor monetario generará el cliente en un intervalo de tiempo futuro determinado?

Cuando predices el valor del ciclo de vida del cliente futuro, hay dos problemas distintos que requieren datos y estrategias de modelado diferentes:

  • Predecir el valor futuro para los clientes existentes que tienen un historial de transacciones conocido
  • Predecir el valor futuro para los nuevos clientes que acaban de realizar su primera compra

Esta serie se centra en el primer problema.

Muchas empresas predicen los CVC solo a partir el importe monetario total de las ventas, sin comprender el contexto. Por ejemplo, un cliente que hace un pedido grande puede ser menos valioso que otro cliente que compra varias veces, pero en cantidades más pequeñas. El modelado de CVC puede ayudarte a comprender mejor el perfil de compra de tus clientes y a valorar tu negocio con mayor precisión.

Si usas los enfoques descritos en esta serie para predecir el valor de tus clientes, puedes priorizar tus acciones próximas, por ejemplo:

  • Decidir cuánto invertir en publicidad
  • Decidir a qué clientes apuntar con la publicidad
  • Planificar cómo mover clientes de un segmento a otro

Los modelos que se usan en esta serie no son adecuados para empresas en las que se puede observar y medir la deserción de clientes de forma directa. Por ejemplo, no debes usar estos modelos para empresas que se basan en suscripciones, cuentas de clientes o contratos que se pueden cancelar. En su lugar, en los modelos de esta serie se supone que los usuarios interactúan con el negocio a voluntad, como en las tiendas de comercio electrónico en las que los usuarios pueden realizar compras en cualquier momento. Además, los modelos que se describen en esta serie sirven más para predecir el valor futuro de los clientes existentes que tienen al menos una historial de transacciones de tamaño moderado.

Conceptos de CVC: compras recientes, frecuencia y valor monetario (RFM)

Tres entradas importantes en los modelos de CVC son las compras recientes, la frecuencia y el valor monetario:

  • Compras recientes: ¿Cuándo fue el último pedido del cliente?
  • Frecuencia: ¿Con qué frecuencia compra?
  • Valor monetario: ¿Qué cantidad de dinero gasta?

En el siguiente diagrama, se muestra una sucesión de ventas pasadas para un conjunto de cuatro clientes.

Historial de ventas de 4 clientes

En el diagrama, se ilustran los valores de RFM y se muestra lo siguiente para cada cliente:

  • Compras recientes: el período entre la última compra y hoy, representado por la distancia entre el círculo del extremo derecho y la línea de puntos vertical etiquetada como Ahora.
  • Frecuencia: El período entre las compras, representado por la distancia entre los círculos en una sola línea.
  • Valor monetario: La cantidad de dinero gastado en cada compra, representada por el tamaño del círculo. Esta cantidad podría ser el valor promedio del pedido o la cantidad de productos que el cliente pidió.

En los modelos de esta serie, solo se usan los datos históricos de ventas para calcular el CVC. Las entradas de valor de RFM se calculan a partir del historial de transacciones de cada cliente.

Dos métodos de modelado para el CVC

Como se señaló antes, esta serie de artículos compara dos enfoques para calcular el CVC:

  • Modelos probabilísticos. Estos modelos ajustan una distribución de probabilidad a los valores de RFM observados para los clientes. Estos modelos se basan en el comportamiento de compra que define el historial de transacciones de cada cliente. Esos datos son suficientes para extraer valores de RFM.
  • Modelos de AA. Estos modelos son una clase extensa y muy usada de modelos estadísticos en los que los parámetros se ajustan a los datos mediante entrenamiento con descenso de gradientes estocástico. Los modelos de AA pueden usar más atributos que los probabilísticos. En esta serie, usamos modelos de red neuronal profunda (DNN), una clase popular de modelos de AA. También mostramos cómo usar las tablas de AutoML para crear de forma automática un modelo de AA.

Para los modelos probabilísticos, esta solución usa una biblioteca de Lifetimes existente que se basa en DataFrames con Pandas. Es posible compilar una biblioteca equivalente en TensorFlow para realizar las mismas tareas que la biblioteca de Lifetimes.

Modelos probabilísticos

Los modelos probabilísticos usan valores de RFM que se calculan a partir de una lista de transacciones de pedidos. Cada transacción consta de un ID de cliente, una fecha de pedido y el valor del pedido. Los diferentes modelos son apropiados para modelar distintas relaciones con los clientes. La Parte 2 de la serie de artículos muestra cómo emplear los siguientes modelos disponibles en la biblioteca de Lifetimes:

  • Distribución binomial de Pareto/negativa (NBD)
  • Geométrico Beta (BG/NBD)

Pareto/NBD

Schmittlein et al. desarrolló originalmente el modelo Pareto/NBD, que se usa para situaciones no contractuales en las que los clientes pueden realizar compras en cualquier momento. Mediante cuatro parámetros, describe la tasa en la que los clientes realizan compras y la tasa en la que dejan de ser clientes del negocio. Para usar el modelo, se optimizan los parámetros a fin de proporcionar un mejor ajuste a un conjunto de datos de RFM.

BG/NBD

El modelo Pareto/NBD se ha usado mucho, pero es difícil de implementar porque la estimación de parámetros requiere gran cantidad de procesamiento. Para abordar estos problemas, Fader y Hardie desarrollaron el modelo BG/NBD. El modelo BG/NBD, al igual que el modelo Pareto/NBD, se usa para situaciones no contractuales en las que los clientes pueden realizar compras en cualquier momento. El modelo BG/NBD también usa cuatro parámetros para describir la tasa en la que los clientes realizan compras y la tasa en la que dejan de hacerlo. Sin embargo, el modelo BG/NBD es más fácil de implementar que Pareto/NBD y se ejecuta más rápido. Los dos modelos tienden a producir resultados similares.

Cálculo del CVC con modelos probabilísticos

Usar los modelos probabilísticos es un proceso de varios pasos. El código del modelo realiza las siguientes tareas:

  1. Preprocesa los datos de transacción para calcular los valores de RFM.
  2. Usa el módulo de Lifetimes para optimizar los parámetros del modelo apropiado, ya sea Pareto/NBD o BG/NBD, a fin de ajustarse a los datos de RFM.
  3. Calcula el valor monetario previsto para cada cliente.

Crear un modelo para el valor monetario es complejo, porque muchos parámetros, como los precios de los productos que cambian con el tiempo, no están representados solo por datos de transacciones. El método probabilístico supone que el valor monetario sigue una distribución gamma-gamma. El código de la biblioteca de Lifetimes incluye un método de distribución gamma-gamma que puedes usar para calcular el CVC con un determinado modelo probabilístico ajustado. Aprenderás más sobre el uso de la biblioteca de Lifetimes para generar predicciones de CVC en la Parte 2 de la serie.

Modelos de aprendizaje automático

Los modelos de AA representan una buena alternativa a los probabilísticos. En estos artículos, se describe el uso de DNN, que se implementa en TensorFlow mediante la interfaz de Estimator.

Esta solución usa dos técnicas para mejorar el rendimiento de las DNN:

  • La normalización por lotes, que tiene los siguientes beneficios:

    • Normaliza y decorrelaciona los valores numéricos en los atributos. Debido a que la normalización por lotes realiza este paso, no tienes que hacerlo tú mismo.
    • Minimiza el impacto del cambio de peso con el tiempo, lo que afecta la importancia de cada atributo.
  • El decaimiento de la tasa de aprendizaje, en el que la tasa de aprendizaje se disminuye de forma exponencial con el tiempo, lo que ayuda a prevenir oscilaciones en la pérdida cuando la tasa de aprendizaje se acerca al mínimo.

Este conjunto de artículos muestra dos implementaciones de DNN en TensorFlow:

  1. DNN de Estimador estándar. TensorFlow incluye modelos de DNN con implementación previa que se ajustan a la interfaz de Estimator. El código de muestra para esta serie incluye un modelo basado en el DNNRegressor con implementación previa.
  2. DNN de Estimador personalizado. Obtienes una mayor flexibilidad para incluir técnicas avanzadas en el modelo mediante un Estimator personalizado. La implementación del Estimator personalizado en el código de muestra ilustra esta flexibilidad porque incorpora el decaimiento de la tasa de aprendizaje y la normalización por lotes.

Una de las ventajas de las DNN es que pueden incorporar muchos atributos. Como resultado, su calidad a menudo depende de la ingeniería de atributos. En la sección de preparación de datos de la Parte 2 de esta serie, se explica cómo crear atributos a partir de las entradas disponibles para conjuntos de datos que pueden ser grandes.

¿Qué sigue?

Lee las siguientes partes de esta serie, en las que se explica cómo puedes implementar la predicción de CVC: