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

MODÈLE PROPHET.

Un outil de prévision publié en open source par Meta (ex-Facebook), conçu pour produire rapidement des prévisions correctes sans être spécialiste. Il additionne une tendance qui peut changer de pente, des saisonnalités et des effets de jours fériés ou d'événements. Ses composantes se lisent directement, ce qui en fait un bon outil pour dialoguer avec les métiers.

PrévisionSaisonnalitéJours fériésClé en mainNiveau : débutant

FICHE D'IDENTITÉ

notes sur 5 · usage entreprise
PerformanceCorrect sans réglage, souvent dépassé par un ARIMA bien réglé
InterprétabilitéTendance, saisons, fêtes : chaque effet se trace à part
VitesseQuelques secondes par série, plus lent sur des milliers
Facilité de réglageBons choix par défaut, quelques curseurs métier
Tolérance aux données brutesTolère trous, dates irrégulières et quelques valeurs aberrantes
EN 30 SECONDES

Une prévision en pièces détachées : une ligne de tendance qui peut s'infléchir, à laquelle on ajoute le profil de l'année, puis les bosses des fêtes et des événements connus. Chaque pièce se montre séparément à un comité.

1. Une tendance par morceaux

La tendance est une suite de segments. Le modèle place des points de rupture possibles dans l'historique et ne garde que les changements de pente utiles.

2. Des saisonnalités

Annuelle, hebdomadaire, journalière : chacune est une courbe lisse (une somme de sinusoïdes) ajoutée à la tendance.

3. Des événements

Jours fériés, soldes, lancements : chacun reçoit un effet propre, estimé sur les années passées et reporté sur les dates futures. On additionne le tout, avec une fourchette d'incertitude.

LE CAS MÉTIER

prévision des ventes · retail / e-commerce
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. Deux colonnes suffisent : la date (ds) et la valeur (y).

EN SORTIE

Une prévision décomposée

Pour chaque mois de 2025, Prophet donne la prévision, un intervalle à 80 % et sa décomposition : part de la tendance, part de la saison annuelle. Le contrôle de gestion voit d'où vient chaque chiffre.

CE QU'ON MESURE

La MAPE face au naïf saisonnier

On apprend jusqu'à fin 2024 et on prévoit 2025, puis on compare à la répétition des ventes de 2024. Sur une série mensuelle aussi régulière, le naïf saisonnier est une référence exigeante : Prophet n'est utile que s'il la bat.

QUAND LE SORTIR, QUAND L'ÉVITER

OUI

  • Données journalières ou hebdomadaires avec plusieurs saisonnalités et des jours fériés
  • Premier modèle de prévision rapide, sans expertise en séries temporelles
  • Historique avec trous, dates manquantes ou changements de tendance
  • Besoin de montrer aux métiers la contribution de chaque effet

NON

  • Recherche de la meilleure précision sur une série mensuelle régulière : comparer avec ARIMA ou Holt-Winters
  • Série sans saisonnalité ni tendance claire : le modèle n'a pas de structure à exploiter
  • Historique court (moins d'un an en journalier) : la saison annuelle ne s'estime pas
  • Milliers de séries liées : un modèle global de boosting ou de deep learning tire parti des similitudes
LES 4 RÉGLAGES QUI COMPTENT

Noms donnés en Python ; en R, les tirets bas deviennent des points (changepoint.prior.scale, yearly.seasonality).

changepoint_prior_scale

La souplesse de la tendance, 0,05 par défaut. Plus haut, la tendance suit chaque inflexion et risque de sur-réagir ; plus bas, elle devient rigide. C'est le réglage qui a le plus d'effet.

Saisonnalités : yearly, weekly, daily

À activer selon la fréquence des données. Sur des données mensuelles, seule la saison annuelle a un sens. seasonality_mode="multiplicative" quand l'amplitude grandit avec le niveau.

Jours fériés : add_country_holidays

add_country_holidays(country_name="FR") ajoute les jours fériés français sur des données journalières. On peut aussi fournir sa propre table d'événements (soldes, promotions).

Variables externes : add_regressor

Ajoute une variable connue à l'avance (prix, promotion, météo prévue). Il faut fournir ses valeurs futures dans le tableau de prévision.

LE CODE MINIMAL

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

ventes <- read.csv("ventes_mensuelles.csv")
df <- data.frame(ds = as.Date(ventes$mois), y = ventes$ventes)  # colonnes ds et y obligatoires

# Les 12 derniers mois (2025) servent de test
train <- head(df, -12)
test <- tail(df, 12)
modele <- prophet(train, yearly.seasonality = TRUE, weekly.seasonality = FALSE,
                  daily.seasonality = FALSE)

# Prévision mensuelle sur 12 mois
futur <- make_future_dataframe(modele, periods = 12, freq = "month")
prev <- tail(predict(modele, futur), 12)

mape <- function(reel, prevu) round(mean(abs(reel - prevu) / reel) * 100, 1)
cat("MAPE 2025 Prophet :", mape(test$y, prev$yhat), "%\n")
cat("MAPE 2025 naïf saisonnier :", mape(test$y, tail(train$y, 12)), "%\n")

# Décomposition : tendance + saison annuelle, avec intervalle à 80 %
print(prev[, c("ds", "yhat", "yhat_lower", "yhat_upper", "trend", "yearly")])

QUESTIONS FRÉQUENTES

Prophet est-il meilleur qu'ARIMA ?

Pas en général. Des comparaisons publiées montrent qu'un ARIMA ou un lissage exponentiel bien réglés font souvent aussi bien ou mieux sur des séries régulières. L'intérêt de Prophet est sa simplicité, sa gestion des jours fériés et des saisons multiples, et la lisibilité de sa décomposition.

Prophet fonctionne-t-il avec des données mensuelles ?

Oui, en désactivant les saisonnalités hebdomadaire et journalière et en prévoyant avec une fréquence mensuelle (freq="MS" en Python, freq = "month" en R). Les jours fériés sont en revanche peu utiles à ce grain.

Comment ajouter les jours fériés français dans Prophet ?

En Python, modele.add_country_holidays(country_name="FR") avant l'entraînement ; en R, add_country_holidays(m, country_name = "FR") sur un modèle créé sans données, puis fit.prophet. Chaque jour férié reçoit alors son propre effet.

LES ALGOS VOISINS

à comparer avant de choisir
souvent plus précis

ARIMA

Modélise finement l'autocorrélation. Plus exigeant à régler, mais difficile à battre sur une série mensuelle régulière.

Voir la fiche →
le standard supply chain

Holt-Winters

Niveau, tendance et saison mis à jour à chaque période. Très rapide sur des milliers de références.

Voir la fiche →
l'équivalent statistique

SARIMA / SARIMAX

Saisons et variables externes dans un cadre ARIMA. Plus rigoureux sur l'incertitude, moins simple à lancer.

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 →