Accueil / Factory / Algos ML / Moyenne mobile — factory / algos ML / prévision de séries temporelles

MOYENNE MOBILE.

La prévision la plus simple : le mois prochain ressemblera à la moyenne des derniers mois. Elle ne capte ni tendance ni saison, mais elle sert de référence que tout modèle doit battre. Calculée sur 12 mois, elle sert aussi à lire la tendance de fond d'une série saisonnière.

PrévisionSéries temporellesRéférenceLissageNiveau : débutant

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceCorrecte sur une série stable, en retard dès qu'elle bouge
InterprétabilitéUne moyenne : n'importe qui peut la recalculer
VitesseInstantanée, même sur des milliers de références
Facilité de réglageUn seul choix : le nombre de périodes k à moyenner
Tolérance aux données brutesSupporte le bruit, mais un pic isolé pèse k périodes
EN 30 SECONDES

Pour estimer votre facture d'électricité du mois prochain, vous faites la moyenne des trois dernières. Simple, souvent pas si mal, mais toujours en retard quand l'hiver arrive.

1. On choisit une fenêtre

k périodes : 3 mois pour suivre les variations récentes, 12 mois pour lisser toute une année.

2. On fait la moyenne et on la fait glisser

Chaque mois, on ajoute le dernier mois connu et on retire le plus ancien. Le résultat sert de prévision pour le mois suivant.

3. On compare aux autres méthodes

La moyenne mobile sert d'étalon. On mesure son erreur sur une période passée, puis on exige de tout modèle plus complexe qu'il fasse nettement mieux.

LE CAS MÉTIER

prévision des ventes · retail / distribution
EN ENTRÉE

Neuf ans de ventes mensuelles

Une série de janvier 2017 à décembre 2025, avec une tendance à la hausse et un cycle annuel marqué. On veut une prévision du mois suivant et une lecture de la tendance, sans outil spécialisé.

EN SORTIE

Une référence chiffrée et une tendance

Sur les 24 derniers mois, la moyenne des 3 derniers mois se trompe de 5,7 % en moyenne, celle des 12 derniers de 6,1 %. La simple répétition du même mois l'an dernier fait mieux : 5,1 %. La moyenne sur 12 mois, sans saisonnalité, montre une tendance passée de 1 563 à 1 608 en 2025.

CE QU'ON MESURE

La MAPE, face à plusieurs références

La MAPE est l'erreur moyenne en % des ventes réelles. On calcule toujours deux références : la moyenne mobile et le naïf saisonnier. Sur une série saisonnière, un modèle qui ne bat pas ces deux-là n'apporte rien.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Référence minimale avant d'acheter ou de développer un outil de prévision
  • Série stable, sans tendance forte ni saison : consommations courantes, flux réguliers
  • Lire une tendance de fond : la moyenne sur 12 mois efface la saisonnalité annuelle
  • Milliers de références à prévoir vite, avec une méthode que tout le monde comprend

NON

  • Série saisonnière à prévoir : utiliser Holt-Winters ou SARIMA
  • Tendance marquée : la moyenne mobile reste toujours en retard, préférer Holt ou Holt-Winters
  • Besoin de donner plus de poids aux mois récents : utiliser le lissage exponentiel
  • Demande intermittente avec beaucoup de zéros : utiliser Croston
LES 3 CHOIX QUI COMPTENT

Pas d'algorithme à entraîner, mais trois choix qui font la qualité de la référence. Fonctions : stats::filter en R, rolling en pandas.

La fenêtre k

Petite (3 mois), la moyenne suit vite les changements mais reste bruitée. Grande (12 mois), elle est stable mais réagit lentement. Pour des données saisonnières, une fenêtre égale à la période (12 mois) annule la saison.

Moyenne passée ou centrée : sides / center

Pour prévoir, la moyenne ne doit utiliser que le passé (sides = 1, ou rolling puis shift). Une moyenne centrée, qui utilise aussi les mois suivants, sert seulement à décrire l'historique.

La période de test

La comparaison se fait sur des mois que la méthode n'a pas vus, sur au moins une année complète pour couvrir toutes les saisons. Une seule année atypique suffit à fausser le classement.

LE CODE MINIMAL

jeu d'exemple : ventes_mensuelles.csv ↓
# Prévision des ventes : moyenne mobile en R
ventes <- read.csv("ventes_mensuelles.csv")
y <- ventes$ventes
n <- length(y)

# Prévision du mois suivant = moyenne des k derniers mois connus
prev_mm <- function(k) c(rep(NA, k), stats::filter(y, rep(1 / k, k), sides = 1)[k:(n - 1)])
# Référence naïve saisonnière : le même mois l'an dernier
naif_saison <- c(rep(NA, 12), y[1:(n - 12)])

# Erreur moyenne en % (MAPE) sur les 24 derniers mois, prévus un mois à l'avance
test <- (n - 23):n
mape <- function(prevu) round(mean(abs(y[test] - prevu[test]) / y[test]) * 100, 1)
cat("MAPE (%) mm3 :", mape(prev_mm(3)), "| mm6 :", mape(prev_mm(6)), "| mm12 :", mape(prev_mm(12)),
    "| naïf saisonnier :", mape(naif_saison), "\n")

# Moyenne mobile sur 12 mois : la saisonnalité s'annule, il reste la tendance
tendance <- stats::filter(y, rep(1 / 12, 12), sides = 1)
cat("Tendance fin 2025 :", round(tendance[n]), "| fin 2024 :", round(tendance[n - 12]), "\n")
cat("Prévision de janvier 2026 (mm3) :", round(mean(tail(y, 3))), "\n")

QUESTIONS FRÉQUENTES

Comment calculer une moyenne mobile dans Excel ?

On écrit dans une cellule la moyenne des k cellules précédentes, par exemple =MOYENNE(B2:B4) pour 3 mois, puis on recopie la formule vers le bas. Le résultat en face d'un mois sert de prévision pour le mois suivant.

Quelle différence entre moyenne mobile et lissage exponentiel ?

La moyenne mobile donne le même poids aux k derniers mois et ignore les plus anciens. Le lissage exponentiel donne un poids qui décroît avec l'ancienneté : le dernier mois compte le plus, mais tout l'historique contribue.

Pourquoi une moyenne mobile sur 12 mois efface-t-elle la saisonnalité ?

Chaque fenêtre de 12 mois contient exactement un mois de chaque sorte : un janvier, un février, et ainsi de suite. Les hauts et les bas de la saison se compensent, il ne reste que le niveau moyen de l'année glissante, c'est-à-dire la tendance.

LES ALGOS VOISINS

à comparer avant de choisir
la version pondérée

Lissage exponentiel

Donne plus de poids aux mois récents au lieu de tous les compter pareil. Réagit plus vite, avec un seul paramètre.

Voir la fiche →
pour tendance et saison

Holt-Winters

Un lissage qui suit en plus la tendance et la saisonnalité. La méthode à essayer quand la moyenne mobile ne suffit plus.

Voir la fiche →
pour analyser la série

Décomposition STL

Sépare proprement tendance, saisonnalité et reste, là où la moyenne mobile sur 12 mois ne donne que la tendance.

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 →