Accueil / Factory / Algos ML / Holt-Winters — factory / algos ML / prévision de séries temporelles

MÉTHODE HOLT-WINTERS.

Un lissage exponentiel qui suit trois choses à la fois : le niveau des ventes, leur tendance et leur profil saisonnier. Chaque composante se met à jour à chaque nouvelle période, avec son propre coefficient. Simple à expliquer, rapide sur des milliers de références, c'est un standard des outils de prévision en supply chain.

PrévisionSaisonnalitéSupply chainSéries temporellesNiveau : intermédiaire

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceSouvent au niveau d'ARIMA sur des séries mensuelles régulières
InterprétabilitéNiveau, tendance, saison : trois composantes parlantes
VitesseRapide, applicable à des milliers de références
Facilité de réglageTrois coefficients estimés seuls, un choix additif ou non
Tolérance aux données brutesDemande des dates régulières et au moins deux cycles complets
EN 30 SECONDES

Un acheteur expérimenté prévoit décembre ainsi : le niveau actuel des ventes, plus la hausse habituelle d'un mois sur l'autre, plus le surplus propre à décembre. Et il ajuste un peu chacun des trois à chaque mois écoulé.

1. Le niveau

Comme un lissage exponentiel simple, corrigé de l'effet saisonnier. Coefficient alpha.

2. La tendance

La pente, lissée elle aussi : de combien le niveau monte ou baisse par période. Coefficient beta.

3. La saison

Un indice par mois, mis à jour chaque fois que ce mois revient. Coefficient gamma. La prévision assemble les trois : niveau + tendance × horizon + saison du mois visé.

LE CAS MÉTIER

plan d'approvisionnement · distribution / industrie
EN ENTRÉE

Neuf ans de ventes mensuelles

Une série de janvier 2017 à décembre 2025, avec une hausse régulière, un cycle annuel et un pic de décembre. Elle alimente le plan d'approvisionnement à 12 mois.

EN SORTIE

Une prévision mensuelle et trois coefficients lisibles

Le modèle donne les 12 prochains mois et trois coefficients. Un alpha faible signifie un niveau stable, un gamma faible un profil saisonnier qui change peu d'une année à l'autre. Ces chiffres se discutent avec les équipes supply, contrairement aux ordres d'un ARIMA.

CE QU'ON MESURE

La MAPE sur 2025, face au naïf saisonnier

On apprend jusqu'à fin 2024 et on prévoit 2025. On compare les versions additive et multiplicative, et la référence « même mois l'an dernier ». La version retenue doit battre cette référence, sinon elle n'apporte rien au plan.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Ventes, commandes ou volumes mensuels ou hebdomadaires avec tendance et saisonnalité
  • Prévision en masse sur des milliers de références, dans un outil de supply chain
  • Besoin d'expliquer la prévision aux équipes en termes de niveau, tendance et saison
  • Horizon court à moyen, jusqu'à un ou deux cycles saisonniers

NON

  • Moins de deux années d'historique mensuel : la saison ne s'estime pas, rester sur un lissage simple ou la moyenne mobile
  • Ventes pilotées par des promotions, la météo ou des jours fériés mobiles : utiliser SARIMAX ou Prophet
  • Plusieurs saisonnalités (jour et semaine, semaine et année) : utiliser Prophet ou TBATS
  • Demande intermittente avec beaucoup de zéros : utiliser Croston
LES 4 RÉGLAGES QUI COMPTENT

Les coefficients de lissage s'estiment seuls ; les choix de structure sont à faire. Noms donnés pour R (HoltWinters, ou hw dans forecast) et Python (statsmodels).

seasonal : additive ou multiplicative

Additive si l'écart saisonnier reste à peu près le même en unités quand les ventes montent. Multiplicative s'il grossit avec le niveau (décembre toujours 20 % au-dessus). On compare les deux sur une période de test.

alpha, beta, gamma / smoothing_level, smoothing_trend, smoothing_seasonal

Les trois coefficients entre 0 et 1, estimés en minimisant l'erreur passée. On les regarde pour vérifier la cohérence : un coefficient proche de 1 signale une composante instable.

Tendance amortie : damped / damped_trend

Fait décroître la tendance avec l'horizon au lieu de la prolonger indéfiniment. Souvent plus prudent au-delà de quelques mois (hw(damped = TRUE) dans forecast en R, damped_trend=True en Python).

seasonal_periods / frequency

La longueur du cycle : 12 pour des données mensuelles, 52 pour des données hebdomadaires. En R, elle se déclare dans ts(frequency = 12).

LE CODE MINIMAL

jeu d'exemple : ventes_mensuelles.csv ↓
# Plan d'approvisionnement : Holt-Winters en R
ventes <- read.csv("ventes_mensuelles.csv")
serie <- ts(ventes$ventes, start = c(2017, 1), frequency = 12)

# Les 12 derniers mois (2025) servent de test
train <- window(serie, end = c(2024, 12))
test <- window(serie, start = c(2025, 1))
mape <- function(reel, prevu) mean(abs(as.numeric(reel) - as.numeric(prevu)) / as.numeric(reel)) * 100

# Saison additive (écart fixe), puis multiplicative (écart proportionnel au niveau)
for (saison in c("additive", "multiplicative")) {
  modele <- HoltWinters(train, seasonal = saison)
  cat("Saison", saison, "| MAPE 2025 :", round(mape(test, predict(modele, n.ahead = 12)), 1), "%\n")
}
cat("Naïf saisonnier | MAPE 2025 :", round(mape(test, window(train, start = c(2024, 1))), 1), "%\n")

# Modèle final : les trois coefficients de lissage (niveau, tendance, saison)
final <- HoltWinters(serie, seasonal = "additive")
print(round(c(alpha = unname(final$alpha), beta = unname(final$beta), gamma = unname(final$gamma)), 3))

# Les 12 prochains mois, avec intervalle de prévision à 95 %
print(round(predict(final, n.ahead = 12, prediction.interval = TRUE)))

QUESTIONS FRÉQUENTES

Holt-Winters additif ou multiplicatif ?

On trace la série : si l'amplitude du cycle saisonnier reste stable quand le niveau augmente, on choisit l'additif ; si elle grandit avec le niveau, le multiplicatif. En cas de doute, on compare les deux sur une période de test.

Quelle différence entre Holt et Holt-Winters ?

La méthode de Holt est un lissage exponentiel avec tendance, sans saison. Holt-Winters ajoute une composante saisonnière. On parle aussi de lissage exponentiel double et triple.

Holt-Winters ou ARIMA pour prévoir des ventes ?

Sur des séries mensuelles régulières, les deux donnent souvent des précisions proches. Holt-Winters est plus simple à expliquer et à industrialiser sur des milliers de références. ARIMA est plus souple quand la série a une structure d'autocorrélation particulière. Le mieux est de comparer les deux sur la même période de test.

LES ALGOS VOISINS

à comparer avant de choisir
l'autre standard

ARIMA

Modélise la série par ses propres valeurs et erreurs passées. Précision souvent comparable, moins intuitif à expliquer.

Voir la fiche →
pour les calendriers complexes

Prophet

Gère jours fériés, saisonnalités multiples et ruptures de tendance. Plus simple à enrichir, parfois moins précis.

Voir la fiche →
la version simple

Lissage exponentiel

Suit uniquement un niveau. Le point de départ quand la série n'a ni tendance ni saison.

Voir la fiche →
— formation

Passer de la fiche à la pratique

Dataistudio forme les équipes au machine learning et à l'IA, sur des cas concrets.

Voir les formations →