Intégrer des variables exogènes dans une prévision de séries temporelles, c'est expliquer au modèle pourquoi les ventes ont bondi le week-end des soldes, pourquoi la consommation électrique a pic lors de la vague de chaleur de juillet, ou pourquoi le trafic a chuté le 11 novembre. Sans ces signaux extérieurs, le modèle tente de reconstituer ces anomalies depuis les seuls patterns passés - et il échoue. Avec eux, la précision progresse de 10 a 30 % sur des horizons courts selon les secteurs et les données disponibles.
Ce guide couvre l'ensemble du sujet de façon opérationnelle : quelles variables choisir et comment les construire (feature engineering, lags, fenetres glissantes, encodage calendrier, termes de Fourier), quels modeles les supportent nativement (SARIMAX, Prophet, LightGBM, Temporal Fusion Transformer, Moirai), le piege central du leakage, la distinction corrélation/causalité, et des cas concrets en retail et en énergie pour des PME.
Quelles variables exogènes intégrer - et lesquelles éviter
La première erreur est d'inclure toutes les variables disponibles en espérant que le modèle trie lui-même. En prévision de séries temporelles, chaque variable exogène introduit du bruit potentiel et un risque de leakage. Sélectionner avec discernement est plus efficace qu'ingérer en masse.
Les variables les plus utiles par secteur
Quelques références pratiques pour les PME :
- Retail / e-commerce : promotions et taux de remise (variable continue ou binaire), jours fériés, vacances scolaires par zone, météo (température, précipitations) pour les secteurs textile et alimentaire, prix des concurrents quand disponibles, ruptures de stock passées.
- Distribution alimentaire / GMS : jour de la semaine (vendredi = pointe), position dans le mois (début de mois = effet salaire), fetes religieuses ou culturelles selon la zone de chalandise.
- Energie : température extérieure (corrélation forte avec la consommation de chauffage et de climatisation), nébulosité (production solaire), jours ouvrés/feries, activité industrielle si vous êtes fournisseur B2B.
- Services et B2B : calendrier des appels d'offres ou renouvellements de contrats, indicateurs macroéconomiques sectoriels (indice PMI, commandes à l'industrie), taux de change si activité export.
Ce qu'il vaut mieux exclure
Sont généralement à exclure : les variables dont la valeur future n'est pas disponible au moment de la prévision (sauf si vous la remplacez par une prévision intermédiaire), les variables trop corrélées entre elles (multicollinéarité, surtout pour SARIMAX), et les variables anecdotiques dont l'impact n'est visible que sur 2 ou 3 occurrences dans l'historique.
Test de sélection rapide
Pour chaque variable candidate : (1) y a-t-il une logique métier claire qui explique l'impact ? (2) la valeur est-elle connue ou prévisible à l'horizon cible ? (3) l'historique contient-il assez d'occurrences pour que le modèle l'apprenne ? Si vous répondez non à l'une de ces trois questions, remettre la variable en question avant de l'inclure.
Feature engineering temporel : comment construire les variables
Les variables exogènes brutes (une température, un booléen "promo") sont rarement suffisantes telles quelles. Le feature engineering transforme ces signaux en formes que les modèles peuvent exploiter efficacement. Avant même de construire ces variables, il est utile d'avoir analysé la structure de la série cible elle-même : sa tendance, sa saisonnalité, ses résidus. La décomposition additive ou multiplicative d'une série temporelle est souvent cette étape préalable qui révèle si la saisonnalité est stable ou amplifiée par la croissance, et quel type de modèle sera le plus adapté.
Lags et fenetres glissantes
Les lags (décalages temporels) permettent d'inclure la valeur d'une variable exogène à t-1, t-7, t-14... comme prédicteur. Exemple : la météo d'hier influence les achats de produits frais aujourd'hui. Pour une prévision hebdomadaire, un lag-7 (même jour la semaine passée) est souvent le plus informatif.
Les fenetres glissantes (rolling windows) calculent des statistiques agrégées sur une période passée : moyenne mobile sur 7 jours de la température, somme des promotions actives sur les 14 derniers jours. Elles lissent le bruit et capturent des tendances de moyen terme qu'un lag ponctuel ne voit pas.
Un point de vigilance : ces deux techniques appliquées a une variable exogène supposent que vous disposez des valeurs passées réelles. Si vous les appliquez à la variable cible elle-même pour construire des features auto-regressives, la fenetres doit être calculée strictement sur les données antérieures à la date de prévision - sans quoi vous introduisez du leakage.
Encodage calendrier et termes de Fourier
Les variables calendaires (jour de la semaine, semaine de l'année, mois, position dans le mois) sont à encoder avec soin pour les modèles de machine learning :
- Encodage cyclique sinus/cosinus : pour que le modèle comprenne que décembre est "proche" de janvier (et non à l'opposé sur une echelle linéaire 1-12), on transforme le mois m en sin(2*pi*m/12) et cos(2*pi*m/12). Idem pour les jours de la semaine.
- Termes de Fourier : pour les modèles linéaires et les gradient boosting, on ajoute explicitement des paires sin/cos pour chaque période de saisonnalité identifiée (annuelle, hebdomadaire, quotidienne). Prophet les utilise en interne pour modéliser sa saisonnalité. LightGBM nécessite de les ajouter manuellement.
- Distance au prochain event : "jours avant le prochain jour férié", "jours après une promotion" - souvent plus informatif qu'un simple booléen, car l'effet d'anticipation (achats avant un pont) et l'effet de rebond (creux post-promo) sont réels et symétriques.
Encodage des jours fériés et vacances scolaires
En France, les vacances scolaires varient par zone (A, B, C) et les effets diffèrent selon le secteur. Un distributeur en zone A et un distributeur en zone C n'ont pas le même pic estival. L'encodage minimum : une variable binaire par type d'evenement (férié, petites vacances, grandes vacances) avec la zone si pertinent. Un encodage plus fin : une variable catégorielle distinguant Noël, Pâques, pont du 8 mai, etc. car leurs impacts sur la demande sont différents en amplitude et en durée.
| Type d'event | Encodage recommandé | Horizon d'effet typique |
|---|---|---|
| Jour ferié isolé | Binaire + type (férié national, pont...) | J-2 a J+1 |
| Vacances scolaires | Binaire + zone (A/B/C) + type (ete, Noel...) | Toute la période |
| Promotion | Taux de remise continu + durée en jours | J-1 a J + durée + J+3 rebond |
| Météo | Temperature, précipitations, ensoleillement | J (ou J-1 pour alimentation) |
| Evenement local | Binaire + catégorie (concert, marché, salon) | J (ponctuel) |
Modeles supportant les régresseurs externes : panorama 2026
Tous les modèles de prévision ne gèrent pas les variables exogènes de la meme façon. Voici un tour d'horizon des approches disponibles, du plus classique au plus récent.
SARIMAX : le classique statistique
SARIMAX est l'extension de SARIMA qui intègre des régresseurs externes (le X dans le sigle). Il reste une référence solide pour des séries bien structurées avec peu de régresseurs (typiquement 1 a 5 variables). Ses avantages : interprétabilité totale des coefficients, bonne performance sur historiques courts (18 mois suffisent), diagnostics statistiques classiques (p-values, résidus). Ses limites : il suppose des relations linéaires entre régresseurs et variable cible, ne gere pas bien les interactions entre variables exogènes, et son estimation devient instable si les régresseurs sont trop corrélés entre eux.
Disponible dans la librairie Python statsmodels via SARIMAX(endog, exog=...). Point d'attention : les memes valeurs des régresseurs doivent etre fournies pour la période de prévision (ce qui implique soit qu'elles sont connues à l'avance, soit qu'elles sont elles-memes prévues).
Prophet : la gestion native des événements
Prophet (Meta, open source) gère les variables exogènes via add_regressor(). Chaque régresseur est traité comme un terme additif dans le modèle. Avantages : il intègre nativement les jours fériés via un paramètre holidays avec DataFrame pays/date, la saisonnalité est modélisée par termes de Fourier en interne, et l'interface est accessible. Limites : modèle additif, donc peu adapté aux interactions complexes entre variables ; moins performant que les approches ML sur des séries avec fort signal exogène non linéaire.
Gradient boosting (LightGBM, XGBoost) : la flexibilité maximale
Dans une approche gradient boosting, les variables exogènes deviennent simplement des colonnes supplémentaires dans la matrice de features. LightGBM et XGBoost capturent naturellement les non-linéarités et les interactions entre variables - ce que SARIMAX ne fait pas. C'est l'approche qui donne généralement les meilleurs résultats sur des séries retail avec promotions et météo, à condition de bien construire les features (lags, rolling windows, encodage cyclique).
La librairie MLforecast de Nixtla automatise une partie du feature engineering temporel (lags, rolling means) et s'interface directement avec LightGBM. Pour les PME sans data scientist senior, c'est un point d'entrée pragmatique.
Temporal Fusion Transformer (TFT)
Le Temporal Fusion Transformer (Google DeepMind, 2019, arXiv:1912.09363) est spécifiquement conçu pour la prévision multi-horizon avec variables exogènes. Sa distinction clé : il distingue explicitement les covariables connues à l'avance (jours fériés, promotions planifiées, calendrier) des covariables observées mais non connues à l'avance (météo réelle, prix passés). Cette distinction est encodée dans l'architecture meme du modele, ce qui évite structurellement le leakage. Son réseau de sélection de variables attribue automatiquement un poids à chaque variable exogène à chaque pas de temps - ce qui facilite l'interprétabilité.
TFT est disponible via la librairie pytorch-forecasting. Il est pertinent quand vous disposez de plusieurs séries parallèles (ex : des centaines de références produits) et d'un historique conséquent (plus de 2 ans, fréquence journalière).
Foundation models : Moirai et ChronosX
Les foundation models pour séries temporelles entrent progressivement dans le périmètre des variables exogènes. Moirai (Salesforce, 2024) est un transformer universel entraîné sur plus de 27 milliards d'observations (LOTSA dataset) qui supporte les covariables via son format d'entrée. ChronosX (Amazon, mars 2025, arXiv:2503.12107) est une extension de Chronos spécifiquement conçue pour adapter les foundation models pré-entraînés à la prise en compte des variables exogènes - un verrou technique long à résoudre pour ces modeles zero-shot.
Pour une PME en 2026, ces modeles restent encore des options avancées plutot que le premier choix opérationnel. LightGBM avec bon feature engineering tient largement la comparaison sur la plupart des cas PME réels, pour une fraction de la complexité d'infrastructure.
| Modele | Exogenes supportées | Relations non linéaires | Historique minimum | Complexité déploiement |
|---|---|---|---|---|
| SARIMAX | Oui (linéaire) | Non | 18-24 mois | Faible |
| Prophet | Oui (add_regressor) | Partiellement | 12-18 mois | Faible |
| LightGBM / XGBoost | Oui (features libres) | Oui | 12-24 mois | Moyenne |
| TFT | Oui (connues/inconnues) | Oui | 2+ ans, fréquence jour | Elevée |
| Moirai / ChronosX | Oui (covariables contexte) | Oui | Possible zero-shot | Elevée |
Le leakage : le piège qui gonfle artificiellement les métriques
Le leakage (ou fuite de données) est l'erreur la plus fréquente - et la plus silencieuse - quand on travaille avec des variables exogènes. Elle consiste à utiliser pendant l'entraînement ou l'évaluation des informations qui ne seraient pas disponibles en production réelle.
Trois formes concrètes de leakage exogene
La variable future utilisée comme feature. Exemple classique : vous entrainez un modèle de prévision des ventes J+7 en incluant la température réelle de J+7. En production, cette température n'est pas connue - seule une prévision météo à 7 jours l'est. Résultat : des métriques excellentes en backtesting, des prévisions catastrophiques en production.
Le rolling window qui regarde en avant. Calculer une moyenne mobile sur une fenetre centrée (moyenne des 3 jours avant et 3 jours après) introduit les valeurs futures dans le calcul. Toujours utiliser des fenetres exclusivement ancrées sur le passé (trailing window).
La normalisation sur l'ensemble du dataset. Normaliser une variable exogène en utilisant la moyenne et l'écart-type calculés sur tout le dataset (train + test) fait "voir" au modele des statistiques du futur. La normalisation doit etre calculée sur le train uniquement, puis appliquée au test.
Regle anti-leakage
Pour chaque variable exogene, posez la question : "Au moment ou je fais la prévision pour la date T, est-ce que cette valeur est réellement disponible ?" Si la réponse est non ou partielle, soit vous remplacez la valeur réelle par une prévision (météo J+7), soit vous utilisez uniquement des lags (valeur de J-1, J-7...), soit vous excluez la variable. Pas d'autre option.
Corrélation vs causalité : ne pas inclure n'importe quelle variable
Une corrélation forte entre une variable exogene et la série cible n'est pas une raison suffisante pour l'inclure dans le modele de prévision. Deux raisons principales à cela.
La causalité spurieuse. Deux séries peuvent evoluer de façon parallele sans lien causal direct - portées par un troisième facteur commun. Inclure ce type de variable apporte du bruit, pas de signal. Le test de causalité de Granger permet de vérifier si les valeurs passées d'une variable X ont un pouvoir prédictif sur la variable Y, une fois controlé l'effet de Y sur lui-meme.
La causalité inversée. Parfois c'est la variable cible qui influence la variable exogene, pas l'inverse. Exemple : les prix d'un concurrent peuvent réagir à votre propre niveau de ventes si vous etes le leader du marché. Inclure ce signal comme prédicteur revient à utiliser une information en partie dérivée de ce qu'on cherche à prévoir.
En pratique, la sélection se fait en deux temps : d'abord un filtre métier (y a-t-il une logique économique claire ?), puis une validation empirique (l'ajout de cette variable améliore-t-il les métriques sur un test set strict, sans leakage ?). Si l'amélioration est marginale et peu stable, exclure.
Cas concrets PME : retail et énergie
Deux cas illustrent comment ces principes s'appliquent en pratique pour des PME françaises.
Retail : prévoir la demande d'un réseau de magasins
Un réseau de magasins de sport en France (30 points de vente, prévision hebdomadaire par référence) a intégré trois variables exogènes principales : le calendrier promotionnel (taux de remise par référence, connu à J+14 à l'avance), les vacances scolaires par zone (connues à l'avance sur toute l'année), et la météo a J-3 (connue au moment du réassort). L'approche retenue : LightGBM avec feature engineering (lags 1, 7, 14 semaines ; rolling mean 4 semaines ; encodage cyclique semaine/mois ; distance au prochain ferié). Gain sur la MASE par rapport au modele sans exogènes : environ 15 % sur les références saisonnières (textile outdoor). Sur les références stables (équipement de salle), l'apport était marginal.
Pour une méthodologie complète sur la prévision des stocks en PME, l'article prévision des stocks IA pour PME : précision et coût 2026 détaille les étapes de mise en oeuvre. Et pour le calcul de la prévision de ventes avec l'IA, voir le guide de calcul de prévision des ventes par l'IA.
Energie : prévoir la consommation d'un site industriel
Pour un industriel toulousain cherchant à optimiser ses contrats d'énergie, la prévision de consommation électrique à J+1 intégrait : la température extérieure (prévisible avec 90 % de précision à J+1 via Météo-France), le calendrier de production (capacité planifiée, connue à J+2), et les jours feries. SARIMAX avec ces trois régresseurs a réduit l'erreur de prévision (MAE) de 22 % par rapport au seul modele SARIMA sur les données historiques de 2023-2025. La variable "température" représentait à elle seule 60 % du gain.
Ce type de cas illustre pourquoi la météo est souvent la variable exogene la plus rentable à intégrer dans les secteurs sensibles aux conditions climatiques - mais elle necessite une prévision meteorologique comme entrée, pas la valeur réelle.
Prévision avec variables exogènes
Promotions, météo, jours fériés : on identifie les signaux qui comptent vraiment pour votre activité et on les intègre proprement dans votre modele de prévision.
Pour aller plus loin
- Choisir entre ARIMA, Prophet et deep learning - comparatif complet des approches de prévision de séries temporelles.
- Guide de calcul de prévision des ventes par l'IA - de la donnée brute a une prévision exploitable.
- Prévision des stocks IA pour PME : précision et coût 2026 - mise en oeuvre concrète et chiffres réels.
- Prévision des ventes IA et séries temporelles - introduction aux méthodes et aux données nécessaires.
- Top librairies Python pour la prévision de séries temporelles - statsmodels, Prophet, NeuralForecast, MLforecast.
- Métriques et backtesting pour valider une prévision - MAPE, MASE et protocoles d'évaluation sans leakage.
- TimesFM, Chronos et Moirai pour la prévision zero-shot - foundation models pour séries temporelles en pratique.
- Service de prévision de stock et de demande IA - accompagnement Tensoria pour les PME.
- Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting (arXiv) - article de reference du TFT.
- ChronosX : Adapting Pretrained Time Series Models with Exogenous Variables (arXiv, mars 2025) - extension des foundation models aux covariables.
En résumé : les exogènes changent la donne, a condition de les intégrer proprement
Les variables exogènes sont souvent la différence entre un modele de prévision "correct sur les tendances" et un modele "utile pour piloter le stock et les opérations". Météo, promotions, jours fériés, vacances scolaires : ces signaux sont connus à l'avance, ils ont un impact réel et mesurable, et leur intégration dans le modele est bien maitrisée techniquement.
La difficulté n'est pas dans l'outillage - SARIMAX, Prophet et LightGBM les gèrent tous. La difficulté est dans la rigueur du feature engineering (fenetres strictement passées, encodage calendrier correct) et dans la discipline autour du leakage (ne jamais utiliser une valeur future qui ne serait pas disponible en production).
Un modele avec 3 variables exogènes bien choisies et bien construites battra presque toujours un modele avec 20 variables mal sélectionnées. La sélection rigoureuse, appuyée sur la logique métier avant la corrélation statistique, reste le premier levier de précision.