Quel outil de prévision séries temporelles choisir ?

Je choisirais l’outil selon votre contrainte principale, pas juste selon la précision. Prophet rassure, NeuralProphet apprend mieux les effets récents, TimeGPT accélère via API, Chronos ouvre la porte aux foundation models à poids ouverts. Le vrai sujet, c’est production, coût, explicabilité et vitesse.

Pourquoi le choix du modèle compte autant ?

Le choix du modèle compte parce qu’une prévision utile ne sert pas juste à gagner trois points sur un benchmark. Elle doit être précise, oui, mais aussi compréhensible, exploitable en production, et soutenable économiquement. C’est là que je vois souvent l’écart entre un bon test en notebook et un vrai système de forecasting qui tourne tous les jours.

Dans la vraie vie, les séries temporelles business sont rarement propres. Vous avez de la saisonnalité, une tendance qui bouge, des jours fériés, des promotions, des ruptures de stock, des données manquantes, parfois des changements de méthode de collecte. Et derrière, il faut mettre à jour les prévisions régulièrement, gérer la latence, le coût d’API, la gouvernance des données, les accès, les logs, les alertes. Bref, ce n’est pas juste une courbe à prédire.

C’est pour ça que je ne choisis jamais un outil uniquement sur son score moyen. Prophet reste très intéressant quand je veux une base claire, robuste, explicable, avec une bonne gestion des tendances et saisonnalités. NeuralProphet va plus loin quand on veut apprendre à partir des valeurs passées, ce qu’on appelle les lags, et ajouter des variables externes comme la météo, les prix ou les campagnes marketing. TimeGPT simplifie beaucoup la configuration avec une API de foundation model, c’est-à-dire un modèle pré-entraîné sur beaucoup de séries temporelles. Chronos permet de tester une logique proche, mais avec des poids ouverts, donc plus de contrôle technique.

On voit clairement un déplacement des approches statistiques explicables vers des modèles neuronaux et des foundation models. C’est normal, ils capturent parfois mieux les patterns complexes. Mais ça ne rend pas les modèles simples obsolètes. Dans beaucoup de cas métier, un Prophet propre, bien monitoré, avec des alertes et une vraie boucle de mise à jour, bat une usine à gaz neuronale mal exploitée.

Observation terrain très simple. Dans les projets data, le modèle le plus précis en notebook n’est pas toujours celui qui tient le mieux en production. J’ai vu des modèles excellents sur historique devenir inutilisables parce qu’ils coûtaient trop cher, mettaient trop de temps à répondre, ou étaient impossibles à expliquer aux équipes métier.

Critère Ce que je regarde
Précision Est-ce que le modèle améliore vraiment la décision métier, pas juste le score statistique.
Explicabilité Est-ce que je peux expliquer pourquoi la prévision monte, baisse ou casse.
Scalabilité Est-ce que ça tient sur 10, 1 000 ou 100 000 séries.
Vitesse Est-ce que l’entraînement et l’inférence restent compatibles avec le rythme business.
Coût Est-ce que le coût API, machine ou maintenance reste acceptable.
Effort de déploiement Est-ce que l’équipe peut le monitorer, le relancer, le corriger.
Bon cas d’usage Prophet pour un baseline robuste, NeuralProphet avec covariables, TimeGPT pour aller vite via API, Chronos pour tester un foundation model plus contrôlable.

Comment tester Prophet et NeuralProphet proprement ?

Je commence toujours simple : j’installe les librairies, je mets les données dans un format propre, puis je crée un baseline reproductible. Avant de comparer des modèles, il faut déjà être sûr qu’on compare la même chose. Sinon on finit par choisir l’outil qui a eu le meilleur découpage de données, pas le meilleur modèle.

pip install prophet

pip install neuralprophet

pip install nixtla

pip install chronos-forecasting

pip install autogluon.timeseries

Prophet et NeuralProphet peuvent être entraînés localement sur votre machine ou votre serveur. TimeGPT, lui, passe par le SDK Nixtla et demande une clé API. C’est un point bête, mais en entreprise ça compte vite : sécurité, coût, gouvernance, données qui sortent ou non.

Prophet attend un format très simple : une colonne ds pour la date ou le timestamp, et une colonne y pour la valeur à prédire. C’est volontairement minimaliste, et c’est une des raisons pour lesquelles je l’utilise souvent en premier avec des équipes métier.

import pandas as pd
from prophet import Prophet

model = Prophet()
model.fit(df)

future = model.make_future_dataframe(periods=30)
forecast = model.predict(future)

# Colonnes utiles :
# yhat        : prévision
# yhat_lower  : borne basse
# yhat_upper  : borne haute

Prophet est un très bon premier baseline quand vos données ont une tendance, une saisonnalité, des jours spéciaux, des effets calendrier. L’outil vient de l’open-source chez Facebook, maintenant Meta. Il est simple à lancer, lisible, et ses intervalles d’incertitude aident beaucoup à discuter avec le business. Dire “la prévision est entre 900 et 1 100” passe souvent mieux qu’un chiffre unique qui donne une fausse impression de précision.

NeuralProphet garde une partie de cet esprit, mais ajoute PyTorch, de l’autorégression, des lags, des covariables et plus de flexibilité. L’autorégression, ça veut juste dire que les valeurs passées aident à prédire les valeurs futures. Très utile quand les derniers jours pèsent lourd.

from neuralprophet import NeuralProphet

m = NeuralProphet(n_lags=14, n_forecasts=7)
metrics = m.fit(df, freq="D")
forecast = m.predict(df)

Je le trouve pertinent sur du trafic web, de la demande électrique, des ventes, bref quand le niveau récent raconte déjà une bonne partie de l’histoire.

Note technique : selon les versions de PyTorch, on peut tomber sur des soucis liés à torch.load, notamment avec le paramètre weights_only. Dans un environnement contrôlé, j’ai déjà utilisé ce patch prudent quand NeuralProphet en avait besoin. Ce n’est pas une règle universelle.

import torch

_original_torch_load = torch.load

def torch_load_compat(*args, **kwargs):
    kwargs.setdefault("weights_only", False)
    return _original_torch_load(*args, **kwargs)

torch.load = torch_load_compat

Pour moi, Prophet sert de référence claire. NeuralProphet sert de marche intermédiaire avant d’aller vers des modèles plus lourds comme Chronos, AutoGluon TimeSeries ou TimeGPT.

Quand TimeGPT fait gagner du temps ?

TimeGPT me fait gagner du temps quand je veux sortir vite une prévision exploitable, sans construire tout un pipeline de feature engineering, d’entraînement local, de tuning, de monitoring modèle dès le premier jour. C’est typiquement l’outil que je teste quand j’ai besoin d’un premier résultat sérieux, vite, pour voir si le sujet mérite plus d’investissement.

TimeGPT est un modèle de prévision de séries temporelles proposé via Nixtla. On l’utilise par API, avec le SDK Nixtla et une clé API. L’idée est proche d’un foundation model appliqué aux time series : au lieu de repartir de zéro avec un modèle entraîné uniquement sur vos données, on capitalise sur un modèle déjà pré-entraîné pour réduire la configuration initiale.

Je le trouve intéressant dans quelques cas très concrets :

  • Prototyper rapidement une prévision de ventes, de trafic, de charge ou de demande.
  • Comparer un résultat contre un baseline Prophet, sans y passer trois jours.
  • Tester beaucoup de séries sans maintenir une infrastructure ML complète.
  • Déployer vite une première version, quitte à raffiner ensuite avec un modèle local.
from nixtla import NixtlaClient

client = NixtlaClient(api_key='VOTRE_CLE_API')

forecast = client.forecast(
    df=df,
    h=30,
    time_col='ds',
    target_col='y'
)

Les noms exacts des méthodes et des paramètres doivent être validés avec la version du SDK Nixtla utilisée. Les SDK évoluent, et c’est le genre de détail qui fait perdre 20 minutes bêtement.

Outil Ce que je regarde
Prophet Simple, local, assez lisible, mais demande souvent du réglage manuel sur les saisonnalités et jours spéciaux.
NeuralProphet Plus flexible, plus neural, intéressant si on veut enrichir le modèle, mais avec plus de paramètres à comprendre.
TimeGPT Moins de réglage manuel, potentiellement plus rapide pour tester, mais moins transparent et avec une logique de coût API différente.

Les limites sont réelles. Il faut regarder le coût d’API, la dépendance à un service externe, la confidentialité des données envoyées, la latence, la gouvernance et l’auditabilité. Un modèle local simple est parfois plus facile à expliquer à un métier ou à un auditeur.

Je le vois surtout comme un accélérateur de benchmark, pas comme une excuse pour oublier la qualité des données. Si vos historiques sont sales, incohérents ou pleins de ruptures métier non documentées, aucun modèle magique ne sauvera le projet.

  • Mes données sont-elles sensibles ou non ?
  • Combien de séries dois-je prévoir ?
  • À quelle fréquence les prévisions seront-elles recalculées ?
  • Quel budget API suis-je prêt à accepter ?
  • Ai-je besoin d’expliquer finement chaque prévision ?
  • Quelles sont mes contraintes de production, de latence et de gouvernance ?

Pourquoi regarder Chronos maintenant ?

Chronos mérite d’être regardé maintenant parce qu’il amène une vraie approche foundation model à poids ouverts dans la prévision de séries temporelles. Un foundation model, c’est un modèle pré-entraîné sur beaucoup de données, qu’on réutilise ensuite sur ses propres cas. Comme GPT pour le texte, mais ici appliqué aux courbes, ventes, trafic, consommation, stocks, capteurs.

L’idée de Chronos est assez simple à comprendre. Les séries temporelles sont transformées en séquences de tokens, c’est-à-dire en petits morceaux numériques que le modèle peut manipuler comme un modèle de langage manipule des mots. Derrière, on retrouve des architectures inspirées des LLM, les grands modèles de langage. Ça change pas mal de choses pour une équipe data, parce qu’on ne part plus forcément d’un modèle entraîné uniquement sur son historique interne.

Le point important, c’est aussi les poids ouverts. On peut tester, auditer, intégrer et comparer plus librement qu’avec une API fermée. Bon, ça ne veut pas dire liberté totale. Il faut vérifier la licence, la version utilisée, les contraintes de calcul et le niveau de support. Mais pour une équipe qui veut garder du contrôle, c’est clairement intéressant.

Je vois Chronos comme une bonne option dans ces cas-là :

  • Vous faites de la recherche appliquée ou de l’exploration sérieuse sur les modèles pré-entraînés pour séries temporelles.
  • Vous voulez créer un benchmark interne face à Prophet, NeuralProphet, TimeGPT ou vos modèles maison.
  • Vous travaillez dans un environnement où envoyer les données vers une API externe pose problème.
  • Vous voulez comprendre ce que les foundation models apportent vraiment sur vos propres séries, pas sur un benchmark public parfait.

Il faut rester lucide. Chronos est plus technique à prendre en main qu’un Prophet lancé en quelques lignes. Il peut demander des ressources de calcul. L’interprétabilité est plus faible. L’intégration production doit être cadrée proprement. Le support des covariables, comme les promotions, jours fériés ou prix, dépend aussi de l’implémentation utilisée. Je ne promettrais jamais que Chronos bat tout partout. Le bon réflexe, c’est de le benchmarker sur vos séries.

pip install chronos-forecasting
pip install autogluon.timeseries

Chronos peut être testé via des packages dédiés, et aussi dans des environnements comme AutoGluon TimeSeries selon les versions. Un test très simple avec AutoGluon ressemble à ça, avec prudence sur l’activation exacte de Chronos qui dépend de la configuration et de la version installée :

from autogluon.timeseries import TimeSeriesDataFrame, TimeSeriesPredictor

train_data = TimeSeriesDataFrame.from_data_frame(
    df,
    id_column="item_id",
    timestamp_column="timestamp"
)

predictor = TimeSeriesPredictor(prediction_length=30)

predictor.fit(train_data)

predictions = predictor.predict(train_data)

Pour moi, Chronos est une option sérieuse si vous voulez explorer les foundation models en forecasting sans dépendre uniquement d’une API externe. Pas forcément l’outil par défaut pour tout le monde, mais clairement un candidat à mettre dans le benchmark.

Quel outil choisir selon votre cas ?

Je choisis l’outil selon le compromis acceptable entre précision, explicabilité, vitesse, coût et mise en production. C’est rarement une question de “meilleur modèle”. C’est plutôt une question de contexte. Votre équipe doit pouvoir comprendre le résultat, le maintenir, le surveiller, et le faire tourner sans transformer le projet en usine à gaz.

Critère Prophet NeuralProphet TimeGPT Chronos
Meilleur usage Baseline solide avec tendance, saisonnalité, jours fériés Séries où le passé récent influence fortement le futur Prototype rapide avec peu de configuration Benchmark avancé avec foundation model à poids ouverts
Niveau d’explicabilité Élevé Moyen Faible à moyen Faible à moyen
Effort de configuration Faible Moyen Très faible Élevé
Données locales ou API Local, open-source Local, PyTorch API Nixtla Local possible, poids ouverts
Scalabilité Bonne sur cas classiques Bonne avec infrastructure adaptée Bonne côté API Bonne mais plus technique
Coût à surveiller Temps machine interne GPU ou CPU selon volume Coût API et dépendance externe Infrastructure, GPU, expertise
Maturité production Très bonne Bonne Bonne si l’API convient à vos contraintes Plus variable selon l’équipe
Profil d’équipe adapté Data analyst, data scientist, équipe métier proche Data scientist à l’aise avec le deep learning Équipe qui veut aller vite Équipe technique qui veut du contrôle

Dans un vrai projet, je démarre presque toujours par Prophet. Ça donne un baseline propre, local, explicable, et souvent suffisant. J’ai vu des équipes gagner des semaines juste avec ça, parce que le modèle était compréhensible par le métier.

Si je vois que les lags comptent vraiment, par exemple les ventes des derniers jours qui tirent fortement les ventes de demain, j’ajoute NeuralProphet. Il utilise PyTorch, il gère l’autorégression, les covariables, et il capte mieux certains effets récents.

Je compare ensuite avec TimeGPT pour voir ce que donne un foundation model via API. C’est rapide, pratique, mais je garde un œil sur le coût, la confidentialité et la dépendance externe. Puis je teste Chronos si l’équipe veut explorer des poids ouverts ou garder plus de contrôle technique.

Je ne juge jamais uniquement avec une métrique ML abstraite. Il faut coller au business. Les métriques utiles peuvent être :

  • MAE, l’erreur moyenne absolue.
  • RMSE, qui pénalise plus fort les grosses erreurs.
  • MAPE, seulement quand les valeurs proches de zéro ne faussent pas tout.
  • Backtesting, pour simuler des prévisions dans le passé.
  • Stabilité dans le temps.
  • Coût opérationnel.
  • Temps d’entraînement.
  • Facilité d’explication.

Il faut aussi surveiller la dérive. Les comportements changent, les données bougent, les modèles vieillissent. Selon la fréquence des données, je réentraîne ou je recalibre.

Il n’y a pas de gagnant universel. Le bon outil, c’est celui que votre équipe peut comprendre, maintenir et améliorer.

Alors, lequel vaut vraiment le coup pour vous ?

Je ne choisirais pas Prophet, NeuralProphet, TimeGPT ou Chronos sur une promesse de performance générale. Je partirais du besoin réel. Si vous voulez un baseline clair, Prophet reste solide. Si les valeurs récentes comptent beaucoup, NeuralProphet devient intéressant. Si vous voulez tester vite un modèle pré-entraîné via API, TimeGPT peut accélérer. Si vous cherchez plus de contrôle autour des foundation models, Chronos mérite un benchmark. Le bon choix, c’est celui qui tient dans votre production, votre budget et votre niveau d’explicabilité attendu. Le bénéfice pour vous, c’est une prévision utile, maintenable, et pas juste jolie dans un notebook.

FAQ

  • Quel est le meilleur outil pour commencer en prévision de séries temporelles ?
    Je commencerais souvent par Prophet. Il est simple, open-source, explicable et très pratique pour construire un baseline sur des données business avec tendance, saisonnalité et effets calendrier. Ça donne une référence propre avant de tester des modèles plus complexes.
  • Quand utiliser NeuralProphet plutôt que Prophet ?
    NeuralProphet devient intéressant quand les valeurs récentes influencent fortement la prévision. C’est fréquent sur le trafic web, les ventes, la demande électrique ou des séries avec beaucoup d’inertie. Il ajoute les lags, l’autoregression, les covariables et la flexibilité de PyTorch.
  • TimeGPT remplace-t-il les modèles classiques ?
    Pas forcément. TimeGPT peut faire gagner beaucoup de temps pour prototyper ou benchmarker grâce à son API et son approche de modèle pré-entraîné. Mais il faut vérifier le coût, la confidentialité, la latence, l’explicabilité et la dépendance à un service externe.
  • Chronos est-il adapté à un usage en production ?
    Chronos peut être intéressant en production, mais il demande plus de cadrage technique. Ses poids ouverts donnent plus de contrôle qu’une API fermée, mais il faut valider les ressources nécessaires, l’intégration, la maintenance, les performances sur vos séries et les contraintes de licence.
  • Comment comparer correctement Prophet, NeuralProphet, TimeGPT et Chronos ?
    Je les comparerais sur vos propres données avec du backtesting. Il faut regarder la précision, mais aussi la stabilité, le temps d’entraînement, le coût, la facilité d’explication, la scalabilité et la capacité à tenir en production. Le meilleur modèle en théorie n’est pas toujours le meilleur choix business.

 

 

A propos de l’auteur

Je suis Franck Scandolera, expert et formateur en tracking avancé server-side, Analytics Engineering, automatisation No/Low Code avec n8n, intégration de l’IA en entreprise et SEO/GEO. Avec mon agence webAnalyste et mon organisme Formations Analytics, j’accompagne des équipes qui veulent rendre leurs données vraiment exploitables, de la collecte jusqu’à l’automatisation et la décision. J’ai travaillé avec des références comme Logis Hôtel, Yelloh Village, BazarChic, la Fédération Française de Football ou Texdecor. Si vous voulez cadrer un projet data, IA ou forecasting sans partir dans tous les sens, contactez-moi.

Retour en haut
Market Lift Up