Prédire la valeur du client avec AI Platform : Introduction

Last reviewed 2019-02-06 UTC

Cet article constitue la première partie d'une série en quatre parties qui explique comment prédire la valeur du client (CLV) à l'aide d'AI Platform (AI Platform) sur Google Cloud.

Cette série est constituée des articles suivants :

Présentation

De nombreux annonceurs essaient d'adapter leurs publicités à des individus ou à des groupes d'utilisateurs similaires, mais ils ne parviennent pas toujours à toucher les clients les plus importants. La loi de Pareto, qui est souvent citée en référence en matière de ventes, prédit que 20 % des clients représentent 80 % des ventes. Et si vous pouviez identifier, parmi vos clients, ceux qui représenteront ces 20 % à l’avenir ? Prédire la CLV permet d'identifier ces clients.

Les objectifs de cette série sont les suivants :

  • Expliquer les concepts de modélisation de la CLV
  • Comparer deux approches de modélisation de la CLV
  • Montrer comment mettre en œuvre des modèles CLV sur Google Cloud

Cette solution compare deux approches différentes de modélisation de la CLV : les modèles probabilistes et les modèles de machine learning (ML). Elle montre comment mettre en œuvre chaque approche et présente les résultats obtenus lorsque chaque modèle est appliqué à un ensemble de données public. Les articles de la série se concentrent sur la mise en œuvre du système de modélisation sur Google Cloud.

Quand utiliser cette approche

Vous pouvez employer les modèles de CLV pour répondre aux types de questions suivants concernant les clients :

  • Nombre d'achats : combien d'achats le client fera-t-il au cours d'une période future donnée ?
  • Durée de vie : combien de temps s'écoulera-t-il avant que le client ne devienne définitivement inactif ?
  • Valeur monétaire : quelle valeur monétaire le client générera-t-il au cours d'une période future donnée ?

Lorsque vous prédisez la valeur vie client future, deux problèmes distincts nécessitent des données et des stratégies de modélisation différentes :

  • Prédiction de la valeur future pour les clients existants dont l'historique des transactions est connu
  • Prédiction de la valeur future pour les nouveaux clients qui viennent de faire leur premier achat

Cette série est centrée sur le premier problème.

Lorsqu'elles prédisent la CLV, de nombreuses entreprises n'examinent que le montant monétaire total des ventes, sans en comprendre le contexte. Par exemple, un client qui passe une commande volumineuse peut avoir moins de valeur qu'un autre client qui effectue plusieurs achats, mais en plus petites quantités. La modélisation de la CLV peut vous aider à mieux comprendre le profil d'achat de vos clients et vous permettre de valoriser votre activité avec plus de précision.

En appliquant les approches décrites dans cette série pour prédire la valeur de vos clients, vous pouvez hiérarchiser vos prochaines actions, par exemple :

  • Décider combien investir en publicité
  • Décider quels clients cibler avec de la publicité
  • Planifier comment déplacer les clients d'un segment à un autre

Les modèles utilisés dans cette série ne conviennent pas aux entreprises dans lesquelles la perte de clientèle peut être observée et mesurée directement. Par exemple, vous ne devez pas employer ces modèles pour les entreprises dont l'activité repose sur des abonnements, des comptes clients ou des contrats pouvant être annulés. Les modèles de cette série supposent plutôt que les utilisateurs font appel aux entreprises à leur gré, par exemple dans les magasins d'e-commerce où ils peuvent effectuer des achats à tout moment. En outre, il est préférable d'appliquer les modèles décrits dans cette série afin de prédire la valeur future pour les clients existants dont l'historique présente au moins un certain nombre de transactions.

Concepts de CLV : RFM

Les trois critères importants dans les modèles de CLV sont la récence, la fréquence et la valeur monétaire :

  • Récence : quand le client a-t-il passé sa dernière commande ?
  • Fréquence : à quelle fréquence effectue-t-il des achats ?
  • Montant : combien dépense-t-il ?

Le schéma suivant montre une succession de ventes passées pour un ensemble de quatre clients.

Historique des ventes pour quatre clients

Le schéma illustre les valeurs RFM pour les clients, en indiquant pour chacun d'entre eux les informations suivantes :

  • Récence : temps écoulé entre le dernier achat et la date actuelle, représenté par la distance entre le cercle le plus à droite et la ligne pointillée verticale portant l'étiquette Now (Maintenant).
  • Fréquence : temps écoulé entre les achats, représenté par la distance entre les cercles sur une seule ligne.
  • Montant : somme dépensée pour chaque achat, représentée par la taille du cercle. Ce montant peut correspondre à la valeur moyenne de la commande ou à la quantité de produits que le client a commandés.

Dans les modèles utilisés dans cette série, seules les données de l'historique des ventes sont utilisées pour calculer la CLV. Les entrées de valeur RFM sont calculées à partir de l'historique des transactions de chaque client.

Deux méthodes de modélisation de la CLV

Comme indiqué précédemment, cette série d'articles compare deux approches pour le calcul de la CLV :

  • Modèles probabilistes. Ces modèles consistent à ajuster une distribution de probabilité aux valeurs RFM observées pour les clients. Ils reposent sur un comportement d'achat défini par l'historique des transactions de chaque client. Ces données sont suffisantes pour extraire les valeurs RFM.
  • Modèles de ML. Ces modèles constituent une classe vaste et couramment utilisée de modèles statistiques, dans lesquels les paramètres sont ajustés aux données par entraînement avec une descente de gradient stochastique. Les modèles de ML peuvent utiliser davantage de caractéristiques que les modèles probabilistes. Dans cette série, nous employons des modèles de réseau de neurones profond (DNN, Deep Neural Network), une classe populaire de modèles de ML. Nous montrons également comment utiliser AutoML Tables pour créer automatiquement un modèle de ML.

Pour les modèles probabilistes, cette solution utilise une bibliothèque Lifetimes existante qui repose sur des DataFrames avec Pandas. Vous pouvez éventuellement créer une bibliothèque équivalente dans TensorFlow pour effectuer les mêmes tâches que la bibliothèque Lifetimes.

Modèles probabilistes

Les modèles probabilistes emploient des valeurs RFM calculées à partir d'une liste de transactions de commandes. Chaque transaction comprend un numéro client, ainsi qu'une date et une valeur de commande. Différents modèles sont appropriés pour modéliser différentes relations client. La partie 2 de cette série d'articles explique comment employer les modèles suivants disponibles dans la bibliothèque Lifetimes :

  • Pareto/Loi binomiale négative (NBD, Negative Binomial Distribution)
  • Bêta-géométrique (BG/NBD)

Pareto/NBD

Le modèle Pareto/NBD a été mis au point par Schmittlein et al. Ce modèle est employé pour les situations non contractuelles dans lesquelles les clients peuvent effectuer des achats à tout moment. À l'aide de quatre paramètres, il décrit la fréquence à laquelle les clients effectuent des achats et la durée après laquelle ils cessent d'être clients de l'entreprise. Vous utilisez le modèle en optimisant les paramètres de façon qu'il s'adapte au mieux à un ensemble de données RFM.

BG/NBD

Quoique largement utilisé, le modèle de Pareto/NBD est difficile à mettre en œuvre, car l'estimation des paramètres est lourde en termes de calcul. Pour résoudre ce problème, Fader et Hardie ont élaboré le modèle BG/NBD. Celui-ci, à l'instar du modèle Pareto/NBD, est employé pour les situations non contractuelles dans lesquelles les clients peuvent effectuer des achats à tout moment. Le modèle BG/NBD utilise également quatre paramètres pour décrire la fréquence à laquelle les clients effectuent des achats et la durée après laquelle ils deviennent inactifs. Cependant, il est plus facile à mettre en œuvre que le modèle Pareto/NBD et s'exécute plus rapidement. Les deux modèles ont tendance à donner des résultats similaires.

Calculer la CLV avec des modèles probabilistes

L'application des modèles probabilistes est un processus en plusieurs étapes. Le code du modèle effectue les tâches suivantes :

  1. Il prétraite les données de transaction pour calculer les valeurs RFM.
  2. Il emploie le module Lifetimes pour optimiser les paramètres du modèle approprié, Pareto/NBD ou BG/NBD, afin de l'adapter aux données RFM.
  3. Il calcule la valeur monétaire prévue pour chaque client.

La création d'un modèle pour la valeur monétaire est complexe, car de nombreux paramètres, tels que les prix des produits qui évoluent dans le temps, ne sont pas représentés par les seules données de transaction. La méthode probabiliste suppose que la valeur monétaire suit une distribution gamma-gamma. Le code de la bibliothèque Lifetimes inclut une méthode de distribution gamma-gamma qui vous permet de calculer la CLV à l'aide d'un modèle probabiliste ajusté. Vous en apprendrez plus sur l'utilisation de la bibliothèque Lifetimes pour générer des prédictions de CLV dans la partie 2 de cette série d'articles.

Modèles de machine learning

Les modèles de ML constituent une bonne alternative aux modèles probabilistes. Ces articles traitent de l'utilisation des DNN, que vous mettez en œuvre dans TensorFlow à l'aide de l'interface Estimator.

Cette solution améliore les performances des DNN au moyen de deux techniques :

  • La normalisation des lots, qui présente les avantages suivants :

    • Elle normalise et décorrèle les valeurs numériques dans les caractéristiques. Étant donné que la normalisation des lots effectue cette étape, vous n'avez pas à vous en charger.
    • Elle minimise l'incidence de la modification des pondérations au fil du temps, ce qui affecte l'importance de chaque caractéristique.
  • La décroissance du taux d'apprentissage, où le taux d'apprentissage diminue de manière exponentielle avec le temps, ce qui permet d'éviter les oscillations de la perte lorsque ce taux se rapproche du minimum.

Cette série d'articles présente deux mises en œuvre de DNN dans TensorFlow :

  1. DNN avec un Estimator standardisé. TensorFlow inclut des modèles de DNN mis en œuvre au préalable qui sont conformes à l'interface Estimator. L'exemple de code de cette série inclut un modèle basé sur le DNNRegressor mis en œuvre au préalable.
  2. DNN avec un Estimator personnalisé. Vous bénéficiez d'une flexibilité accrue qui vous permet d'inclure des techniques avancées dans le modèle à l'aide d'un Estimator personnalisé. La mise en œuvre d'un Estimator personnalisé dans l'exemple de code illustre cette flexibilité en incorporant la décroissance du taux d'apprentissage et la normalisation des lots.

L'un des avantages des DNN est qu'ils peuvent incorporer de nombreuses caractéristiques. Par conséquent, leur qualité dépend souvent de l'extraction de caractéristiques. La section concernant la préparation des données de la partie 2 de cette série explique comment créer des caractéristiques à partir des entrées disponibles pour des ensembles de données potentiellement volumineux.

Étapes suivantes

Lisez les parties suivantes de cette série, qui expliquent comment vous pouvez mettre en œuvre la prédiction de la CLV :