Maximiser la performance de la stratégie promotionnelle grâce au Machine Learning Data Science & Tech

Nous présentons, dans cet article, un cas d’usage data-science réalisé pour l’un de nos clients retailers. Ce use-case consiste à fournir aux équipes métiers un outil d’aide à la décision de façon à ce qu’elles soient en mesure d’identifier les meilleures combinaisons d’offres promotionnelles à jouer sur une période à venir.  L’outil développé embarque un modèle permettant de prédire, pour chaque jour d’une période future, qualifié en particulier par l’ensemble des offres promotionnelles jouées ce jour-là, la performance business de l’enseigne à cette date (cf, figure 1). C’est précisément la construction de ce modèle prédictif que nous décrivons dans cet article.

Figure 1 Prédictions du CA de différents scénarios promotionnelles sur l’année 2019

Etape 1 : construction du socle de données, une étape complexe

Pour réaliser ce use-case, nous avons tout d’abord construit le socle de données nécessaire au travail de modélisation. Cette étape s’est avérée complexe, pour trois raisons principales : 

Des sources multiples et variées :  La performance business d’un jour donné est multi-factorielle, particulièrement dans le retail. Elle dépend notamment d’éléments calendaires, de la météo, du type de magasin, des prix pratiqués par le retailer, de la qualité des collections … et enfin des offres jouées et de la façon dont sont relayées ces offres en média notamment. La construction du datamart utilisé par le modèle a donc nécessité l’ingestion et normalisation de ces données, issues de sources de formats très variés, en plus des données transactionnelles nécessaires à l’analyse d’impact

Une volumétrie de données importante : Le travail de modélisation requis à une maille jour, le nombre important de transactions et de magasins font augmenter la complexité des traitements dont plusieurs requièrent plus de 100 Go en mémoire vive.

Un travail important de préparation des données promotionnelles : Une part importante des traitements concernant les offres promotionnelles jouées par le passé a dû être réalisée manuellement. En effet, ces offres font l’objet d’une saisie dans les outils en texte brut, sans encodage standardisé. Par conséquent, l’extraction des informations d’intérêt (catégories des offres, générosité, …etc) exige non seulement la conception d’algorithmes efficaces de traitement de texte, mais aussi un travail exploratoire où l’implication des différentes équipes est primordiale. 

Etape 2-1 : définition de l’approche de modélisation 

Au vu l’importance de la dimension temporelle (saisonnalité, jour de la semaine…) dans l’explication de la performance business, nous adoptons une modélisation en Série Chronologique où l’estimation du KPI prédit (Y) se décompose en une tendance (T), une saisonnalité (S) et une partie résiduelle (e) fonction de la promotion notamment (cf. eq 1).

En collaboration avec les équipes Stratégie d’Equancy, nous formulons plusieurs hypothèses métiers. Plusieurs partis-pris de modélisation sont alors décidés :

La construction d’un modèle par département produit et par magasin. Cette décision est justifiée par le fait que la relation du client à la promotion est très différente selon ces dimensions et ne peut être modélisée par un simple ajout de variables ;

La construction de plusieurs attributs décrivant une offre promotionnelle, parmi lesquelles son type, sa générosité, sa largeur, sa cible. Enfin, les variables liées à la promotion sont calculées en attribuant des scores via une fonction spécifique à chaque type d’offre. Une prédiction de l’effet promotion via un modèle linéaire s’écrit donc de la façon suivante :

Etape 2-2 :  Les raisons du choix de Prophet 

Rendu Open Source en 2017, Prophet est un outil de prévision de séries temporelles développé par les équipes R&D de Facebook. Il est basé sur un modèle additif (cf. figure 2) incluant une estimation par morceaux de la tendance, une saisonnalité annuelle, hebdomadaire et quotidienne ainsi qu’un effet vacances (intégré automatiquement pour plusieurs pays). De plus, il permet l’ajout de variables exogènes appelées « extra-regressors » qui seront les variables liées à la promotion dans notre cas.

Prophet présente les avantages d’être rapide, flexible et simple à interpréter

Par rapport à d’autres frameworks possibles (Amazon Forecast, modélisation ARIMA, réseaux de neurones), Prophet présente les avantages d’être rapide, flexible et simple à interpréter. Ces éléments sont importants pour notre cas d’usage au vu de la volumétrie conséquente des données, des multiples itérations nécessaires au travail de modélisation, et de l’interprétabilité souhaitée des résultats pour faciliter l’appropriation du modèle par les équipes métiers :

Flexibilité : Plusieurs possibilités d’ajustement sont fournies à l’utilisateur telles que l’ajout de saisonnalités conditionnelles et l’indication de points de changement dans la tendance. De plus, Prophet permet la prise en compte d’une connaissance métier en intégrant des paramètres de régularisation pour chaque composante du modèle. 

Rapidité : La rapidité de calcul est due à la conception simple du modèle d’une part (pas besoin d’estimer les valeurs manquantes ni d’effectuer des différentiations) et à l’utilisation du langage STAN pour le calcul des différentes composantes du modèle d’autre part.

Simplicité : L’ensemble des composantes du modèles sont estimées simultanément via un modèle linéaire, ce qui garantit l’interprétabilité des résultats par ses coefficients. En outre, l’API python de Prophet est codée de manière intuitive et similaire à celle de Scikit-learn (facile à adopter par les data scientists).

La figure 2 illustre un exemple de décomposition de l’estimation d’un indicateur de performance business : le chiffre d’affaires. On constate les 4 points de changement de la tendance, les pics de vente correspondants au 14 juillet, la variation de la saisonnalité annuelle (plus de ventes en été), la variation de la saisonnalité hebdomadaire (plus de ventes le samedi) ainsi que l’effet promotion représenté par les « extra-regressors ». 

Figure 2 Différentes composantes du modèle estimant le chiffre d’affaires

Etape 3 : Apprentissage des hyperparamètres par Grid-Search 

Après avoir construit l’ensemble des variables explicatives du KPI à prédire, l’étape suivante consiste à optimiser les différents hyperparamètres du modèle. Les hyperparamètres du Prophet sont les différents paramètres de régularisation bayésienne pour chacune des composantes, le nombre d’harmoniques à utiliser pour l’estimation de chaque saisonnalité ainsi que le nombre de points de changements de la tendance.

Le Grid-Search consiste à parcourir cette trajectoire en construisant les modèles correspondants et en les évaluant par un score via une validation croisée

Afin d’optimiser ces paramètres, nous adoptons une méthodologie d’apprentissage statistique par Grid-Search. Étant donné une formule de score de performance de modèle et un ensemble de combinaisons de valeurs d’hyperparamètres appelé trajectoire, le Grid-Search consiste à parcourir cette trajectoire en construisant les modèles correspondants et en les évaluant par un score via une validation croisée. Cette dernière est effectuée, dans notre cas, en séparant l’historique de données (5 années) en un ensemble d’entrainement (4 premières années) et un ensemble de test (dernière année). Finalement, le modèle, et donc les hyperparamètres, donnant le meilleur score est retenu.

Etape 4 :  Retour des équipes métiers et ajustement des hyper-paramètres

En appliquant cette méthodologie nous aboutissons à des résultats très satisfaisants d’un point de vue performance (les modèles construits par département produit et magasin expliquent 85% de la variance en moyenne). Les premières simulations montrent cependant que le modèle est peu sensible à l’augmentation de la générosité promotionnelle. Une étape supplémentaire d’investigation et de retravail du modèle est donc nécessaire, de façon à être plus proche des attentes du métier.

La faible sensibilité des modèles à l’augmentation des générosités des offres simulées est expliquée par la structure temporelle du jeu de données historique. Dans ce dernier, on constate une simultanéité entre la saisonnalité et les variables promotion. En effet, le client applique à peu près les mêmes offres aux mêmes dates d’une année à une autre. Par conséquent les modèles construits donnent plus d’importance à la saisonnalité au détriment des variables promotion

Un ajustement manuel supplémentaire des hyperparamètres correspondants à la saisonnalité est effectué en imposant une régularisation plus stricte. Le modèle est ainsi contraint à expliquer une part plus importante du KPI prédit par l’activité promotionnelle.

La figure 3 illustre l’effet de cet ajustement sur la saisonnalité du CA par exemple. 

Figure 3 Saisonnalité du chiffre d’affaires avec et sans régularisation

Les scores des modèles sont légèrement détériorés suite à cet ajustement, les variances expliquées passent de 85% à 79% en moyenne.  Ce résultat reste acceptable au vu des objectifs du projet, d’autant plus que le modèle retenu correspond davantage aux besoins exprimés par le métier.

Conclusion

Le modèle retenu est embarqué au sein d’un outil de simulation dédié aux équipes métiers chargées de la définition des stratégies promotionnelles.

La prise en compte des inputs des équipes métier est un facteur clé de succès de ce use-case : ils se sont avérés indispensables pour définir l’approche de modélisation, définir la notion de performance du modèle et la conception de l’outil.

Crédit photo: Ali Shah Lakhani


Avatar de Wissameddine Ghannan
Wissameddine Ghannan

Après une expérience chez Michelin, Wissameddine rejoint Equancy en 2018 en tant que consultant Data-Scientist. Il travaille sur différentes missions embarquant du machine-learning pour répondre à des enjeux variés tels que le clustering de comportements clients, la prédiction de KPI digitaux, ainsi que la modélisation de phénomènes de sensibilité à la promotion et à la météo dans des contextes retail. Il participe également à des projets relevant du data engineering aux côtés des équipes techniques d’Equancy : il intervient dans la construction de data lakes et l’industrialisation de pipelines de traitement de données.