L’essentiel

  • Une série temporelle (time series) marketing combine tendance (trend), saisonnalités (seasonality), décisions commerciales et changements de mesure. Une rupture de tracking ne doit pas devenir une baisse de demande dans le modèle.
  • Trafic, commandes, chiffre d’affaires et demande se prévoient à des grains différents. L’horizon de prévision (forecast horizon) utile dépend du délai de décision, du volume et des variations historiques disponibles.
  • Une prévision (forecasting) est une distribution, pas un nombre certain. Un scénario avec budget ou remise fixés reste conditionnel à ces hypothèses.
  • Les core updates Google sont datées et font partie de l’historique : leur signe et leur ampleur restent imprévisibles à l’avance, mais la prévision mesure ensuite leur impact, négatif ou positif. Une offensive concurrente inconnue ou une campagne sans précédent exploitable ne peuvent être chiffrées honnêtement.
  • Je commence par la référence saisonnière naïve : un modèle plus complexe doit réduire les erreurs hors échantillon et améliorer les décisions.
  • Le backtesting respecte le temps, avec plusieurs origines de prévision et des erreurs par horizon. Une séparation aléatoire des observations fausse l’évaluation.
  • Les régresseurs futurs doivent être connus à la date de prévision, ou faire l’objet de scénarios. Utiliser une dépense réalisée après cette date crée une fuite d’information (data leakage).
  • Mesurer l’incrémental (incrementality) revient à comparer l’observé à un contrefactuel (counterfactual), ce qui serait arrivé sans intervention. Un témoin crédible compte davantage qu’une courbe bien ajustée.
  • Coupons et réductions peuvent subventionner des achats déjà acquis ou avancer des ventes futures. La hausse pendant l’opération doit être relue avec le creux suivant et la marge perdue.
  • Les prévisions par catégorie doivent rester cohérentes avec le total du site. Les taux et paniers moyens se recomposent avec leurs dénominateurs, sans additionner des ratios.
  • En production, surveiller fraîcheur des données, biais, couverture des intervalles de prévision (prediction interval) et ruptures. Chaque alerte et chaque modèle doivent avoir un responsable.

Ce qu’est une série temporelle marketing

Une série temporelle associe une mesure à des instants ordonnés : sessions par heure, commandes par jour, leads qualifiés par semaine. Ce que l’on voit dépend du grain choisi. À l’heure, les incidents et les rythmes intrajournaliers apparaissent ; à la semaine, le bruit s’atténue, mais les promotions courtes disparaissent. Je recommande de choisir le grain en fonction de la décision à prendre, à condition que le volume suffise.

Les saisonnalités s’emboîtent : rythme hebdomadaire, cycle annuel, soldes, Black Friday, Noël et rentrée. Certains événements changent de date ; les coder comme une simple semaine du calendrier peut décaler artificiellement leur effet. La tendance décrit une évolution persistante, tandis qu’une campagne ponctuelle produit une perturbation localisée.

On peut décomposer la série ainsi : y[t] = niveau[t] + saison[t] + effet_promo[t] + bruit[t], la tendance étant comprise dans le niveau. Si l’amplitude saisonnière augmente avec le trafic, une formulation multiplicative ou une transformation peut mieux convenir.

Décomposer le trafic sépare motifs récurrents et événementsDeux années de sessions quotidiennes sont décomposées en tendance et niveau, saisonnalités hebdomadaire et annuelle, événements et résidu, avec des échelles propres à chaque panneau. Une migration provoque une rupture de niveau, tandis que les promotions, Black Friday et Noël produisent des événements distincts.Décomposer le trafic sépare motifs récurrents et événementsSessions quotidiennes sur deux ans ; lire les quatre panneaux à leurs échelles propres ; valeurs illustratives.Axes verticaux : sessions par jour ; composantes exprimées en écarts de sessions.Observé65014252200Tendance et niveau85012501650Saisonnalités : hebdomadaire et annuelle-1500150Événements et résidu-350125600hebdomadaireannuelleévénementsrésidupromoBlack FridayNoëlpromoBlack FridayNoëlmigration du sitejanv. A1juil. A1janv. A2juil. A2déc. A2y[t] = niveau[t] + saison_hebdo[t] + saison_annuelle[t] + événements[t] + résidu[t]Le niveau comprend ici la tendance et la rupture ; les creux de Noël sont des événements calendaires.Lecture : La tendance et les saisonnalités se distinguent des événements, du résidu et de la rupture de niveau.
Décomposition d'un trafic en niveau et tendance, saisonnalité hebdomadaire, saisonnalité annuelle et événements, puis résidu inexpliqué

Avec l’autocorrélation, les observations restent liées à leurs valeurs passées : on ne peut pas traiter chaque journée comme indépendante. Une série marketing dépend aussi des réactions des acteurs, à travers les budgets, les prix, la concurrence ou le moteur de recherche, là où un signal industriel stable conserve son fonctionnement. Une refonte, une migration, une mise à jour d’algorithme Google ou un changement de tracking ou de consentement peuvent provoquer une rupture. Ce qui produit le trafic ou les ventes change alors, parfois en même temps que la façon de les mesurer.

Ce que l’on peut prédire, et à quel horizon

Les horizons du tableau donnent des repères pour cadrer le travail. Le backtesting doit les confirmer : ils ne promettent aucune performance et ne constituent pas des seuils universels.

Ce que l’on prédit Grain et horizon raisonnable Données nécessaires Usage de la prévision Principale limite
Trafic SEO par famille de pages Jour ou semaine, quelques semaines à un trimestre Clics, sessions, familles stables, calendrier SEO Objectifs, alertes, capacité éditoriale Ruptures de visibilité et changements de catalogue
Trafic payant sous budget donné Jour ou semaine, prochains jours à quelques semaines Dépenses, clics, coûts, ciblages, budget futur Plan de diffusion et acquisition Enchères et rendement hors plage historique
Sessions totales Jour ou semaine, semaines à trimestre Canaux réconciliés, calendrier média et commercial Charge technique et trajectoire commerciale Mix d’acquisition changeant
Commandes et taux de conversion Jour ou semaine, semaines à trimestre Sessions éligibles, commandes, stock, appareil Opérations et objectifs de conversion Faibles dénominateurs, mix des visiteurs
Chiffre d’affaires et panier moyen Semaine ou mois, semaines à trimestre Commandes nettes, prix, remises, retours, mix produit Atterrissage financier Délais de retour et composition du panier
Leads Jour ou semaine, semaines à trimestre Leads dédupliqués, qualification, délais CRM Dimensionnement commercial Qualification tardive, volume sans qualité
Demande par produit ou catégorie Jour ou semaine, horizon du réassort Ventes, disponibilité, prix, délais fournisseurs Stock et réapprovisionnement Demande intermittente, ventes censurées par les ruptures
Rétention et churn Cohorte hebdomadaire ou mensuelle, prochains mois Ancienneté, achats, renouvellements, définition du churn Fidélisation et revenus récurrents Cohortes incomplètes, inactivité ambiguë
Valeur vie client Cohorte mensuelle, horizon économique explicite Réachat, survie, marge, coûts de service Acquisition et valeur des cohortes Extrapolation longue, dépendance aux hypothèses
La fiabilité d'une prévision dépend de la série et de l'horizonNeuf usages sont placés selon leur horizon et leur fiabilité attendue, les séries agrégées à court terme étant plus prévisibles que les comportements fins à long terme. Au-delà d'un an, les scénarios remplacent les prévisions ; le signe et l'ampleur d'une core update restent imprévisibles et son impact se mesure ensuite.La fiabilité d'une prévision dépend de la série et de l'horizonLire l'horizon horizontalement et la fiabilité verticalement ; positions et valeurs illustratives.Fiabilité attendueélevéefaiblejoursemainemoistrimestreannéeHorizonSessions totalesTrafic payant à budget donnéTrafic SEO par famille de pagesCommandes, conversionChiffre d'affaires, panierLeadsDemande par produit, réassortRétention, churnValeur vie clientau-delà :scénarios,pas prévisionsUne core update est datée : son signe et son ampleur restent imprévisibles, son impact se mesure après coup face à la prévision.Ce qui reste hors de portée : initiative concurrente inconnue, campagne sans historique, choc externe.La fiabilité dépend du volume, de l'historique et de la stabilité du contexte.Lecture : Les séries agrégées à court terme se prévoient mieux ; au-delà d'un an, raisonner en scénarios.
Carte des prévisions de trafic, ventes et valeur client selon leur horizon, avec une fiabilité dépendante du volume et des hypothèses

La prévision dite inconditionnelle suppose ici que la politique actuelle se poursuit. Cette hypothèse de continuité est déjà une condition ; au sens statistique, une prévision inconditionnelle intègre aussi l’incertitude des facteurs futurs. Pour une prévision conditionnelle, on fixe un scénario : dépenser X, lancer la promotion Y, conserver les prix. Même si elle prédit bien les résultats sous ces hypothèses, elle ne prouve pas que modifier X causera l’écart simulé.

Je réserve surtout les projections annuelles à la comparaison de scénarios. Pour les engagements opérationnels, s’en tenir aux horizons validés. La rétention, le churn et la valeur vie client demandent souvent de modéliser les cohortes, la survie ou le réachat avant d’agréger les résultats dans le temps. La seule courbe de chiffre d’affaires ne décrit pas ces mécanismes.

Plusieurs core updates surviennent chaque année, avec des dates de déploiement annoncées par Google : elles font partie de l’historique. Le modèle les intègre comme événements datés ou points de rupture, sans pouvoir prévoir leur signe ni leur ampleur pour un site donné. Leur impact se mesure ensuite face à la prévision contrefactuelle, avec son intervalle. Une initiative concurrente inconnue ou un cygne noir ne peuvent être datés honnêtement ; une campagne sans précédent exige un test ou des hypothèses externes. Les intervalles usuels ne couvrent pas automatiquement ces ruptures.

Une prévision mesure une rupture sans pouvoir l'anticiperAprès 24 mois observés, la prévision prolonge la saisonnalité avec un intervalle croissant sur un futur agrandi de douze mois. Une rupture non anticipable réduit le trafic de 30 % à cinq mois, tandis que l'effet d'une première promotion à huit mois reste inconnu.Une prévision mesure une rupture sans pouvoir l'anticiperTrafic observé, médiane et intervalle de prédiction ; historique comprimé, futur agrandi ; valeurs illustratives.Trafic (unités illustratives)6001 0001 400historique observé, 24 moisM-24M-18M-12M-6M0aujourd'hui4 semaines : fiable3 mois : à surveiller12 mois : scénariorupture, baisse de 30 %core update ou migration : impact non prévisible, mesuré ensuite face à la prévisionpremière promo, jamais observée?effet inconnuHorizon (mois après M0)Historique comprimé ; futur agrandi.Ce que l'outil sait faire : prolonger un motif appris.Ce qu'il ne sait pas faire : anticiper le signe d'une rupture, chiffrer un levier sans historique, garantir un point.L'écart entre observé et prévu mesure ensuite l'impact de la rupture, négatif ou positif.ObservéPrévision médianeIntervalle de prédictionObservé après ruptureLecture : Prolonger un motif appris permet de mesurer une rupture après coup, sans en prévoir le signe ni l'ampleur.
L'animation montre l'intervalle qui s'élargit, une rupture que le modèle ne pouvait anticiper dont l'impact est ensuite mesuré face à la prévision, et un levier sans historique.

Préparer la série avant de modéliser

Pour le trafic SEO, deux sources conviennent, accessibles par API. L’API Google Analytics, ou l’export GA4 vers BigQuery, fournit les sessions organiques. Encore faut-il pouvoir s’y fier : tracking stable sur toute la période, consentement et échantillonnage documentés, aucun changement de propriété ni de filtre. Si ces conditions ne sont pas réunies, l’API Search Console est la référence. Elle mesure clics et impressions côté moteur, indépendamment du tracking du site, avec quelques jours de consolidation.

Les plateformes média renseignent la diffusion et les dépenses. Pour réconcilier les commandes, prendre l’ERP ou le back-office comme référence : dédupliquer par order_id, tenir compte des annulations, des remboursements et des taxes, et fixer la date de rattachement.

Les clics Search Console ne sont pas des sessions GA4. Fuseaux horaires, consentement, périmètres et délais de consolidation diffèrent. Je déconseille de raccorder deux sources par un coefficient constant sans vérifier la stabilité de cet écart.

  1. Construire une grille régulière avec date, series_id, y, fuseau et statut de complétude. Définir des familles de pages stables et conserver les correspondances après migration.
  2. Tenir un calendrier avec event_type, début, fin, périmètre et commentaire : promotions, ruptures de stock, incidents, changements de tracking, déploiements et core updates (event_type = core_update), avec leurs dates de déploiement annoncées.
  3. Ajouter les régresseurs exogènes pertinents : price_index, discount_depth, media_budget, jours fériés, calendrier commercial, météo si le produit y est sensible. Documenter leur disponibilité future.
  4. Distinguer zéro réel et valeur manquante. Reconstituer une panne de collecte depuis une source indépendante ; sinon, conserver l’incertitude et un indicateur de donnée imputée.

Conserver les anomalies réelles, comme une vente événementielle : les lisser ferait disparaître une information. On peut corriger une erreur technique, à condition de garder une trace de la correction. Recalculer les imputations et les transformations dans chaque fenêtre d’apprentissage, sans utiliser le futur.

Documenter tout saut inexpliqué avant de le modéliser. Si son origine reste inconnue, comparer plusieurs fenêtres ou isoler la période, sans lui attribuer une cause commerciale arbitraire.

Choisir une méthode adaptée au problème

Tout modèle doit battre le naïf saisonnier en backtest à l’horizon utile : même jour de la semaine précédente ou même semaine de l’année précédente, avec réalignement des jours fériés mobiles.

Prophet

Prophet, créé chez Facebook (aujourd’hui Meta) par Sean J. Taylor et Benjamin Letham, a été publié en 2017 avec l’article « Forecasting at Scale ». C’est un modèle additif : tendance par morceaux avec points de rupture, saisonnalités multiples par séries de Fourier, effets des jours fériés et événements, régresseurs additionnels.

Sur un site à très forte volumétrie, j’ai prédit le trafic SEO à plus ou moins 3 % avec Prophet et 24 mois d’historique incluant des core updates. Ce résultat dépend des conditions : une série agrégée et volumineuse dont le bruit se moyenne, deux cycles annuels complets, les dates des core updates de l’historique inscrites au calendrier et les autres événements renseignés. La précision doit être jugée en backtest sur plusieurs origines couvrant ces updates, en précisant l’horizon et la métrique. À un grain plus fin, famille de pages ou requêtes de marque, comme sur un site de faible volume, l’erreur est nettement supérieure.

Pour le trafic SEO, Prophet a l’intérêt d’absorber un changement de niveau après une update grâce à ses changepoints, une fois le modèle réajusté. Au besoin, on ajoute un régresseur de niveau dès le début du déploiement.

Avantages

  • Ajustement rapide.
  • Gère les trous et résiste généralement aux valeurs aberrantes ; vérifier ce comportement sur la série.
  • Composantes lisibles par des non-statisticiens.

Limites

  • Intervalles souvent trop étroits, à recalibrer ; la documentation des intervalles détaille les hypothèses.
  • Tendance extrapolée naïvement au-delà de l’historique ; autocorrélation des résidus ignorée.
  • Souvent moins performant au grain horaire ou sur des séries très bruitées.
  • Projet en maintenance légère, sans nouvelles fonctionnalités prévues.

ARIMA et ses déclinaisons

George Box et Gwilym Jenkins ont formalisé ARIMA et sa méthodologie dans leur ouvrage de 1970, à l’origine de la méthode Box-Jenkins. Le modèle combine autorégression (AR), fondée sur les valeurs passées, moyenne mobile des erreurs (MA) et différenciation pour stabiliser la série. SARIMA ajoute la saisonnalité ; SARIMAX accueille des régresseurs exogènes : promotions, budget, jours fériés, dont les valeurs futures doivent être disponibles.

L’auto-ARIMA de statsforecast de Nixtla ou pmdarima sélectionne les ordres ; statsmodels permet un réglage détaillé.

Le lissage exponentiel (exponential smoothing) remonte aux travaux de Robert G. Brown dans les années 1950. Charles Holt et Peter Winters y ont ajouté la tendance et la saisonnalité à la fin des années 1950, d’où Holt-Winters. Rob J. Hyndman et ses coauteurs en ont donné une formulation en modèles à espace d’états : le cadre ETS. Ces modèles peuvent battre ARIMA, surtout avec peu de données, lorsque le niveau, la tendance et une saisonnalité régulière expliquent mieux la série que ses dépendances résiduelles.

Avantages

  • Fondement statistique explicite et autocorrélation modélisée.
  • Intervalles cohérents sous les hypothèses du modèle.
  • Convient bien aux horizons courts.

Limites

  • Une seule saisonnalité dans SARIMA classique ; les cycles multiples demandent des termes de Fourier ou une autre approche, comme TBATS, proposé par Alysha De Livera, Rob J. Hyndman et Ralph Snyder.
  • Stationnarité à obtenir ; sensibilité aux ruptures.
  • Réglage moins intuitif pour une équipe marketing.
  • Retour vers la moyenne à long horizon pour les composantes stationnaires ; les modèles différenciés avec dérive peuvent prolonger une tendance.

XGBoost, LightGBM et le gradient boosting

La série devient une table supervisée : chaque ligne associe une cible future à des retards, moyennes glissantes, calendrier, promotions, prix et budget. XGBoost, présenté par Tianqi Chen et Carlos Guestrin dans leur article de 2016, apprend les combinaisons qui expliquent cette cible.

LightGBM, présenté par l’équipe de Microsoft Research dans l’article de 2017 de Guolin Ke et ses coauteurs, s’utilise de la même façon. Le travail d’ingénierie se justifie pour prévoir la demande par produit, la conversion sous promotions ou les nombreuses séries d’un catalogue. Quand quelques effets calendaires ou commerciaux suffisent, Prophet ou SARIMAX peut répondre au besoin avec moins d’ingénierie.

Avantages

  • Interactions non linéaires entre prix, calendrier et promotions.
  • Nombreux régresseurs, utiles quand le signal vient surtout de variables externes.
  • Plusieurs séries dans un seul modèle global, avec partage de l’information.

Limites

  • Les arbres plafonnent : ils n’extrapolent pas une tendance hors de la plage d’entraînement.
  • Il faut construire la prévision multi-horizon, par une approche récursive ou directe.
  • Pas d’intervalle natif dans une régression ponctuelle : prévoir une régression quantile ou une calibration conforme.
  • Risque de fuite dans les variables construites, donc davantage d’ingénierie et de validation : décaler les moyennes glissantes et respecter la disponibilité des régresseurs.

Et les autres : ETS, modèles hiérarchiques, bayésien, modèles de fondation

ETS reste une référence peu coûteuse en calcul. Pour partager l’information entre séries, on peut recourir aux modèles hiérarchiques. La réconciliation hiérarchique (hierarchical reconciliation), issue des travaux de Rob J. Hyndman et de ses coauteurs, assure la cohérence entre le total du site, les catégories et les produits. La bibliothèque hierarchicalforecast de Nixtla propose notamment BottomUp et MinTrace. Pour les ratios, il faut recomposer les valeurs avec leurs dénominateurs.

Les modèles structurels bayésiens décomposent la série en niveau, tendance, saison et contrôles. Avec PyMC, on peut personnaliser ces formulations. CausalImpact, présenté par Kay Brodersen et ses coauteurs chez Google dans leur article de 2015, repose sur ces modèles pour construire un contrefactuel sous hypothèses causales. Darts facilite les comparaisons.

Pour une référence zero-shot, sans entraînement local préalable, on peut utiliser les modèles de fondation TimesFM, publié par Google Research, ou Chronos, publié par Amazon Science. Certaines versions de ces modèles acceptent des covariables.

Avantages

  • ETS : calcul léger sur des rythmes réguliers.
  • Hiérarchies : totaux cohérents ; bayésien : incertitude explicite.
  • Modèles de fondation : première comparaison rapide.

Limites

  • Hiérarchies instables et dépendances entre séries compliquent les intervalles agrégés.
  • Des témoins mal choisis empêchent une interprétation causale solide.
  • Même préentraîné, un modèle doit être validé localement et disposer des régresseurs futurs.
Famille Quand elle convient Ce qu’elle gère mal Effort de mise en œuvre
Prophet Trafic agrégé, calendrier riche Ruptures, résidus autocorrélés, couverture Faible à modéré
ARIMA, SARIMA, SARIMAX Court horizon, autocorrélation, régresseurs Ruptures, saisonnalités multiples, non-linéarités Modéré
Gradient boosting Promotions, variables externes, nombreuses séries Extrapolation, horizons et intervalles à construire Élevé
Lissage exponentiel, ETS Niveau et saison réguliers Interventions, cycles complexes Faible
Modèles hiérarchiques et réconciliation Catalogue organisé, agrégats cohérents Hiérarchies instables, petits volumes Modéré à élevé
Modèles bayésiens structurels Composantes latentes, contrôles crédibles Mauvais témoins, identification causale Élevé
Modèles de fondation Références zero-shot Ruptures inédites, garanties locales Faible à modéré

Pour le trafic SEO agrégé, je commencerais par Prophet. Pour les ventes sous promotions documentées, par SARIMAX ; pour de nombreuses séries produit, par un boosting global. Dans chaque cas, le backtest doit confirmer le choix.

Valider une prévision avant de la croire

En backtesting par origine glissante, ou rolling origin, on rejoue plusieurs décisions historiques : entraîner jusqu’à une date, prévoir l’horizon utile, avancer la coupure et recommencer. La validation croisée temporelle de Forecasting: Principles and Practice décrit ce principe. Ne pas répartir les observations au hasard : les observations voisines, les transformations et les retards risqueraient de transmettre des informations futures à l’apprentissage.

Conserver une dernière période pour l’évaluation finale, après sélection des modèles. Reproduire les délais réels de disponibilité : commandes encore annulables, leads non qualifiés, données média provisoires. Je retiens une erreur par horizon et par famille, car une moyenne globale peut masquer une prévision inutilisable pour le réassort.

  • MAE : moyenne des erreurs absolues, dans l’unité métier.
  • RMSE : racine de l’erreur quadratique moyenne, plus sensible aux grandes erreurs.
  • MAPE : erreur absolue relative à l’observé, indéfinie à zéro et instable près de zéro.
  • sMAPE : normalisation par les amplitudes de l’observé et du prévu ; fixer la convention et le traitement du double zéro.
  • WAPE : somme(abs(y - prévision)) / somme(abs(y)), dominé par les gros volumes et indéfini si le total est nul.
  • Pinball loss : pénalisation asymétrique adaptée au quantile prévu ; la couverture mesure la proportion d’observations dans l’intervalle annoncé.

Dans ce backtest illustratif de sessions quotidiennes, chaque ligne agrège plusieurs origines au même horizon. Les chiffres ne proviennent pas d’un site réel.

Horizon MAE naïve saisonnière MAE modèle Couverture de l’intervalle annoncé à 90 %
J+1 120 sessions 90 sessions 91 %
J+7 180 sessions 140 sessions 89 %
J+28 260 sessions 300 sessions 74 %

À J+7, le gain illustratif de MAE est (180 - 140) / 180, soit environ 22 %. À J+28, le modèle perd face au naïf et sous-couvre : cet horizon exige une autre méthode ou une décision moins précise.

Un modèle se juge sur le futur, à chaque horizonCinq fenêtres d'entraînement précèdent chacune leur test, dans l'ordre du temps, puis les erreurs WAPE de trois modèles sont comparées sur douze semaines. Un encart montre l'élargissement de l'intervalle de prévision avec l'horizon.Un modèle se juge sur le futur, à chaque horizonÀ gauche, respecter l'ordre temporel ; à droite, comparer erreurs et intervalles ; valeurs illustratives.Validation à origines glissantesentraînementtestorigine 1origine 2origine 3origine 4origine 5temps : chaque test suit son entraînementMême protocole pour tous les modèlesRéajuster à chaque origine, avec les seules données disponibles.Ajuster aussi les transformations sans utiliser le futur.Erreur selon l'horizon (valeurs illustratives)0102030WAPE (%)123456789101112horizon en semainesnaïf saisonnierETSSARIMAX avec promosL'intervalle de prévision s'élargit avec l'horizonhistoriqueTemps →prévisionEncart : niveau sans unité ; bande = intervalle de prévision.Un modèle se juge contre la base naïve saisonnière, par horizon, jamais sur un découpage aléatoire.Lecture : Comparer les modèles à la base naïve saisonnière, avec des tests successifs et une erreur par horizon.
Origines glissantes de validation, erreurs par horizon et intervalle prédictif qui s'élargit avec l'éloignement de la prévision

Les intervalles s’élargissent généralement avec l’horizon, sans croissance nécessairement monotone. Examiner leur largeur autant que leur couverture. Je déconseille une décision fondée sur le seul point central : le coût d’un stock insuffisant peut justifier un quantile supérieur. Budget effectivement dépensé, météo réalisée ou taux de conversion futur sont des fuites s’ils étaient inconnus à l’origine du backtest.

Mesurer l’incrémental : la prévision comme contrefactuel

Le contrefactuel décrit ce qui serait arrivé sans l’action. On prévoit cette trajectoire, que l’on ne peut pas observer, pour estimer l’effet : effet[t] = observé[t] - contrefactuel[t]. En sommant les effets sur une fenêtre, on obtient un incrément estimé, avec son intervalle. Une prévision juste en temps normal ne suffit pas à garantir un contrefactuel causal.

Je privilégie un groupe témoin (control group) défini avant lancement quand l’intervention peut être isolée. Le choix de la méthode dépend ensuite du protocole et des témoins disponibles :

  • Les geo experiments réservent des zones sans campagne, idéalement avec assignation aléatoire quand le protocole le permet. GeoLift de Meta propose sélection de marchés, analyse de puissance et estimation fondée sur le contrôle synthétique. Surveiller les débordements entre zones.
  • Le contrôle synthétique, méthode d’Alberto Abadie et de ses coauteurs, pondère plusieurs unités non traitées pour reproduire la trajectoire antérieure du groupe traité. Sa crédibilité dépend de la qualité de cet ajustement avant intervention et de la stabilité des témoins.
  • CausalImpact de Google utilise des séries temporelles structurelles bayésiennes. Les contrôles doivent rester non affectés par l’action, et leur relation avec la cible rester valable après intervention.
  • La différence de différences calcule (après_traité - avant_traité) - (après_témoin - avant_témoin). Elle suppose des tendances parallèles en l’absence d’action, sans choc différentiel concomitant.
  • Le holdout d’audience compare des populations assignées aléatoirement à l’éligibilité ou à l’exclusion d’une campagne. L’analyse porte sur l’assignation, pas uniquement sur les personnes effectivement exposées.
L'incrémental se mesure face à un scénario sans campagneSur seize semaines, les sessions observées dépassent après le lancement d'une campagne la trajectoire prévue sans campagne, l'écart représentant l'incrémental. La bande indique l'incertitude du contrefactuel, dont trois méthodes de construction sont présentées, et non celle du cumul.L'incrémental se mesure face à un scénario sans campagneSessions hebdomadaires sur seize semaines ; bande d'incertitude du contrefactuel, pas du cumul ; valeurs illustratives.observécontrefactuel prévuintervalle de prévision80100120140160lancement de la campagneavantaprèsincrémentallift cumulé avec intervalleS1S2S3S4S5S6S7S8S9S10S11S12S13S14S15S16Temps (semaines)Sessions / semaineL'intervalle du cumul doit tenir compte des dépendances temporelles entre les erreurs hebdomadaires.Groupe témoin géographiqueSi des zones comparables peuvent être isolées,avec peu de diffusion entre test et témoin.Contrôle synthétiqueSi plusieurs séries témoins non exposéesreproduisent bien la période avant.Modèle structurel (CausalImpact)Si des covariables non affectées restent liéesà la série, avec assez d'historique avant.Le contrefactuel est une prévision : sa qualité se vérifie sur la période avant, pas après.Lecture : L'écart à la trajectoire sans campagne mesure l'incrémental, sous réserve de la qualité du contrefactuel.
Trajectoires observée et contrefactuelle avant et après intervention, avec lift incrémental estimé et intervalle d'incertitude

Fixer avant lancement indicateur, fenêtre, effet minimal détectable et règles d’exclusion. Tester des dates placebo dans le passé, examiner les tendances antérieures et vérifier l’absence de contamination. Pour l’effet cumulé, propager les trajectoires conjointes : additionner des bornes quotidiennes ne construit pas un intervalle valide.

Une comparaison avant/après confond facilement saisonnalité, campagnes concurrentes et régression vers la moyenne après une période exceptionnellement faible. Un témoin touché par la promotion invalide l’interprétation, même si l’ajustement historique est excellent.

En SEO, les cohortes de pages permettent d’évaluer des modifications, notamment déployées en Edge SEO. Contrôler gabarits, demande, indexation et transferts de trafic entre pages ; intégrer les délais de crawl. Pour arbitrer les budgets entre canaux, le Marketing Mix Modeling bayésien aborde plus largement les contributions et les rendements.

Meridian, publié par Google, propose un MMM bayésien. Robyn, publié par Meta, estime les contributions dans un MMM par régression ridge. Pour personnaliser la modélisation bayésienne, on peut utiliser PyMC-Marketing, développé par PyMC Labs autour de PyMC.

Je retiens aussi cette méthode pour mesurer l’effet d’une core update en SEO : entraîner jusqu’au début du déploiement, puis comparer la prévision au trafic SEO observé sur les quatre à huit semaines suivantes, avec l’intervalle. Examiner les familles de pages pour repérer les segments perdants ou gagnants. Un changement simultané du site contamine toutefois cette lecture.

Coupons et réductions : incrémental ou cannibalisé ?

Les ventes observées pendant une promotion réunissent des achats qui auraient eu lieu de toute façon, des achats réellement incrémentaux et des achats avancés, ou pull-forward. Les premiers sont subventionnés par la remise ; les derniers peuvent provoquer un creux après l’opération. Des substitutions entre produits compliquent encore le bilan.

Je recommande un holdout de clients ou de zones sans coupon, ou une attribution aléatoire du coupon au sein de segments définis avant le test. Comparer les acheteurs « avec coupon » et « sans coupon » revient surtout à comparer des comportements de sélection : recherche de remises, fidélité, intention d’achat. Pour mesurer l’effet de l’offre, inclure tous les clients assignés, qu’ils aient utilisé le coupon ou non.

Prenons un exemple illustratif : un produit vendu 100 € HT, avec un coût variable total de 70 €. Sans promotion, le contrefactuel prévoit 1 000 unités pendant l’opération. La remise de 20 € accompagne 1 400 ventes : 1 000 achats déjà attendus, 200 réellement supplémentaires et 200 avancés depuis les semaines suivantes.

Le lift observé est de 40 %, mais la contribution unitaire passe de 30 € à 10 €. Sur une fenêtre incluant le creux suivant, le bilan illustratif devient :

  • Achats déjà attendus : 1 000 * (-20 €) = -20 000 € de contribution.
  • Achats incrémentaux : 200 * 10 € = +2 000 €.
  • Achats avancés : 200 * (10 € - 30 €) = -4 000 €.
  • Effet total : -22 000 €, avant coûts supplémentaires de campagne.
Un coupon peut augmenter les ventes et réduire la margeUne promotion de deux semaines totalise 160 ventes, dont 100 de base, 40 incrémentales et 20 avancées compensées par le creux suivant. Le pont de marge montre que 800 euros de marge incrémentale moins 3 200 euros de remise donnent un effet net de -2 400 euros.Un coupon peut augmenter les ventes et réduire la margeÀ gauche, décomposer les ventes ; à droite, compter la remise sur toutes les ventes ; valeurs illustratives.Ventes hebdomadaires, en unitéscoupon -20 %02040608050S150S250S380S480S540S640S750S8base sans coupon : 50creux post-promobase (auraient acheté sans coupon)incrémentalavancé depuis les semaines suivantesPromo : 160 ventes = 100 de base + 40 nouvelles + 20 avancées.S6 et S7 : 20 ventes en moins, soit les 20 achats avancés.Lecture en marge (valeurs illustratives)Prix : 100 € ; coût variable : 80 € ; marge avant remise : 20 €.Chaque barre est en euros de marge, remise comprise à la fin.0 €+3 200 €ventesobservéespendant la promo-2 000 €moins ventescannibalisées-400 €moins ventesavancées800 €= ventesincrémentales-3 200 €coût dela remise surtoutes les ventes-2 400 €effet netsur la margeMarge nouvelle : 40 × 20 € = 800 €. Remise : 160 × 20 € = 3 200 €.Effet net : 800 € - 3 200 € = -2 400 € sur toute la fenêtre.Comparer avec coupon et sans coupon demande un témoin : zones, clients ou périodes sans coupon,et une fenêtre qui inclut les semaines suivantes.Lecture : Les 800 € de marge incrémentale ne couvrent pas les 3 200 € de remise : l'effet net est de -2 400 €.
Ventes promotionnelles décomposées en achats cannibalisés, incrémentaux et avancés, puis creux post-promotion et coût de la remise

Dans cet exemple, les volumes de chaque catégorie sont connus. Dans un test réel, il faut les estimer. Le seul pic de commandes ne suffit pas à juger la promotion rentable : mesurer la marge contributive, les retours et les achats ultérieurs sur une fenêtre assez longue, sans compter deux fois les ventes avancées.

Sans randomisation, l’estimation tirée d’une série contrefactuelle dépend davantage des hypothèses. Pour prévoir, on peut aussi utiliser les caractéristiques des promotions comme régresseurs : profondeur, durée, ciblage et timing. Le modèle a besoin de variations dans cet historique pour en apprendre les effets ; une remise toujours identique à Noël reste difficile à séparer de l’effet de Noël.

Faire vivre le modèle en production

Calculer une prévision et réentraîner le modèle répondent à deux besoins différents, qui peuvent suivre des cadences distinctes. On peut, par exemple, publier une prévision quotidienne, réentraîner chaque semaine et revoir le modèle chaque mois. Ce rythme est illustratif : je préfère l’adapter à la dérive et aux décisions pour éviter de relancer automatiquement un apprentissage coûteux.

Surveiller la fraîcheur et la complétude des données, la distribution des régresseurs, le biais des erreurs et la couverture par horizon. Si le consentement change, commencer par vérifier la mesure. Réentraîner immédiatement risque de faire passer une panne pour le nouveau niveau normal.

Pour déclencher une alerte SEO ou acquisition, comparer l’observé à la prévision archivée avant l’observation, avec son intervalle. Une alerte qui coïncide avec une core update annoncée se lit comme une mesure d’impact plutôt que comme un incident de données.

Une baisse par rapport à la semaine précédente peut être saisonnière ; un écart au scénario attendu mérite une enquête, sans en donner la cause. Sur un grand catalogue, tenir compte de la persistance de l’écart, du volume et de l’importance commerciale pour limiter les fausses alertes.

Versionner données, transformations, code, paramètres, calendrier événementiel et scénarios futurs. Conserver forecast_origin, target_date, quantiles et model_version. La validation revient à la data science. Les responsables data marketing valident les définitions et le calendrier, et un responsable opérationnel traite les alertes.

Je demande que le livrable garde la trace de la décision, de ses hypothèses et du protocole prévu pour la réviser. Préciser ces responsabilités dans le cadrage du projet, au même titre que la cible à prévoir.

Questions fréquentes

Combien d’historique faut-il pour commencer ?

Les cycles et les ruptures déterminent la quantité d’historique utile. Plusieurs cycles annuels comparables aident à distinguer la saison des événements. Avec un historique court, on peut partir d’une référence hebdomadaire, en acceptant davantage d’incertitude. Accumuler des données devenues non comparables n’améliore pas nécessairement la prévision.

Peut-on mesurer l’effet d’une core update ?

Oui : comparer le trafic observé à la prévision arrêtée avant le déploiement sur quatre à huit semaines, avec son intervalle, par famille de pages. L’écart estime pertes ou gains ; une modification simultanée du site brouille l’attribution.

Peut-on mesurer une campagne sans groupe témoin ?

On peut extrapoler une trajectoire contrefactuelle, mais son interprétation dépend fortement de la stabilité du contexte. Sans témoin ni variation indépendante, il peut rester impossible de séparer l’effet de la campagne de celui de la saisonnalité ou des événements concurrents.

Un coupon utilisé prouve-t-il une vente incrémentale ?

Non. L’acheteur pouvait déjà vouloir commander ou anticiper un achat futur. Il faut comparer des groupes comparables, idéalement randomisés, puis mesurer ventes et marge sur une fenêtre incluant les semaines suivantes.

À retenir

  • Définir cible, grain et horizon avant de choisir une méthode.
  • Documenter chaque rupture et distinguer zéro, absence et erreur de collecte.
  • Exiger un gain face au naïf saisonnier en validation temporelle.
  • Lire des distributions et des erreurs par horizon, pas seulement un point central.
  • Construire un contrefactuel crédible avant d’attribuer un effet à une action.
  • Juger les promotions sur la marge et une fenêtre incluant les achats avancés.
  • Versionner les prévisions et attribuer chaque alerte à un responsable.