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

MODÈLE ARIMA.

Un modèle statistique qui prévoit une série à partir de son propre passé : ses valeurs récentes, sa tendance et ses erreurs de prévision récentes. Avec sa variante saisonnière SARIMA, c'est la référence pour prévoir des ventes mensuelles et fournir une fourchette autour de la prévision.

PrévisionSéries temporellesSaisonnalitéStatistique classiqueNiveau : intermédiaire

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceTrès solide sur une série régulière, difficile à battre à 12 mois
InterprétabilitéChaque terme a un sens, mais les coefficients parlent peu au métier
VitesseRapide sur une série, plus long sur des milliers de références
Facilité de réglageauto.arima choisit seul en R, statsmodels demande de fixer les ordres
Tolérance aux données brutesExige des dates régulières, sensible aux ruptures et aux trous
EN 30 SECONDES

Prévoir les ventes de juillet en regardant juin, en tenant compte de la hausse habituelle d'un mois à l'autre, et en corrigeant l'erreur faite le mois dernier. Puis en vérifiant ce qui s'était passé en juillet l'an dernier.

1. I : on retire la tendance

Le I (intégré) signifie qu'on modélise les variations d'un mois à l'autre plutôt que le niveau brut. Une série qui monte devient une série stable autour d'une moyenne. Le paramètre d compte ces différenciations, souvent 1.

2. AR et MA : on s'appuie sur le passé

AR (autorégressif) : la valeur du mois dépend des p mois précédents. MA (moyenne mobile) : on corrige avec les q dernières erreurs de prévision. D'où la notation ARIMA(p,d,q).

3. S : on ajoute les saisons

Des ventes mensuelles ont presque toujours un cycle annuel. SARIMA ajoute un second jeu de termes (P,D,Q) calé sur 12 mois, qui compare chaque mois au même mois des années précédentes. En pratique, c'est la version qu'on utilise.

4. On projette avec une fourchette

Le modèle prolonge la série et donne un intervalle de prévision, qui s'élargit avec l'horizon.

LE CAS MÉTIER

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

Neuf ans de ventes mensuelles

Une seule colonne de ventes, de janvier 2017 à décembre 2025. On y voit une tendance à la hausse et un cycle annuel qui se répète. Pas besoin d'autres variables.

EN SORTIE

Les 12 prochains mois, avec une fourchette

Une prévision par mois pour 2026, et un intervalle à 80 % et 95 %. Les achats et la supply chain dimensionnent sur la prévision centrale, la finance regarde la borne basse.

CE QU'ON MESURE

La MAPE sur une année jamais vue

On entraîne jusqu'à fin 2024 et on prévoit 2025, puis on compare au réel. La MAPE donne l'erreur moyenne en % des ventes. On compare toujours à la prévision naïve saisonnière (« même mois l'an dernier ») : si ARIMA ne fait pas mieux, on garde la plus simple.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Prévoir une série régulière (mensuelle, hebdomadaire) avec au moins 3 à 4 ans d'historique
  • Tendance et saisonnalité stables dans le temps
  • Besoin d'un intervalle de prévision autour de la prévision
  • Horizon court à moyen : quelques mois à un an

NON

  • Milliers de références à prévoir en masse : Holt-Winters ou un modèle global de boosting passent mieux à l'échelle
  • Ventes pilotées par des promos, la météo ou les jours fériés : ajouter ces variables avec SARIMAX ou Prophet
  • Demande intermittente avec beaucoup de zéros : utiliser Croston
  • Historique court (moins de 2 ans) : la saisonnalité ne peut pas être estimée
LES 3 RÉGLAGES QUI COMPTENT

En R, auto.arima explore les combinaisons pas à pas et garde la meilleure selon l'AICc. En Python, SARIMAX demande de fixer les ordres soi-même.

d et D : les différenciations

d retire la tendance, D retire la saisonnalité en comparant chaque mois au même mois de l'année précédente. d = 1 et D = 1 conviennent à la plupart des ventes mensuelles. Trop différencier ajoute du bruit.

p, q / order

Nombre de mois passés (p) et d'erreurs passées (q) pris en compte. Des petites valeurs, 0 à 2, suffisent presque toujours. auto.arima les choisit ; en Python, on compare quelques candidats par leur AIC.

P, D, Q, 12 / seasonal_order

La partie saisonnière, avec une période de 12 pour des données mensuelles. Le modèle « airline » (0,1,1)(0,1,1)[12] est un bon point de départ quand on ne sait pas quoi choisir.

LE CODE MINIMAL

jeu d'exemple : ventes_mensuelles.csv ↓
# Prévision des ventes : ARIMA en R
library(forecast)

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))

# auto.arima choisit les ordres (p,d,q)(P,D,Q)[12] par critère AICc
modele <- auto.arima(train)
print(modele)
prev_test <- forecast(modele, h = 12)

# MAPE du modèle et de la référence naïve (même mois l'an dernier)
mape <- function(reel, prevu) mean(abs(reel - prevu) / reel) * 100
cat("MAPE ARIMA            :", round(mape(test, prev_test$mean), 1), "%\n")
cat("MAPE naïf saisonnier  :", round(mape(test, snaive(train, h = 12)$mean), 1), "%\n")

# Modèle final sur tout l'historique : 12 prochains mois, intervalles 80 % et 95 %
final <- auto.arima(serie)
print(forecast(final, h = 12))

QUESTIONS FRÉQUENTES

Que signifie ARIMA(p,d,q) ?

p est le nombre de valeurs passées utilisées (partie autorégressive), d le nombre de différenciations pour retirer la tendance, q le nombre d'erreurs de prévision passées utilisées (partie moyenne mobile). ARIMA(1,1,1) regarde le mois précédent et la dernière erreur, sur la série des variations mensuelles.

Quelle différence entre ARIMA et SARIMA ?

SARIMA ajoute une partie saisonnière (P,D,Q) sur une période donnée, 12 pour des données mensuelles. Un ARIMA simple ne voit pas le cycle annuel et prévoit mal des ventes saisonnières. Dans la pratique, sur des ventes, on utilise presque toujours SARIMA.

ARIMA ou Prophet pour prévoir des ventes ?

ARIMA est souvent plus précis sur une série régulière avec une seule saisonnalité, et donne des intervalles de prévision fondés. Prophet est plus simple à lancer et gère mieux les jours fériés, les ruptures et les saisonnalités multiples. Le mieux est de comparer les deux sur la même période de test.

LES ALGOS VOISINS

à comparer avant de choisir
l'alternative simple

Holt-Winters

Un lissage qui gère tendance et saisonnalité. Souvent aussi précis qu'ARIMA, plus facile à expliquer et à industrialiser.

Voir la fiche →
la version complète

SARIMA / SARIMAX

ARIMA avec saisons et variables externes : promotions, prix, météo, jours fériés.

Voir la fiche →
la prévision clé en main

Prophet

Gère seul plusieurs saisonnalités et les jours fériés. Moins fin qu'un ARIMA bien réglé, mais très rapide à mettre en place.

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 →