Prophet, l’outil ultime pour faire du forecasting de précision

Article mise à jour le: 15 septembre 2019

Si vous devez réaliser un forecast financier, admettons la projection de votre chiffre d’affaires, voici un outil open-source développé par l’équipe de data science de Facebook qui vous sera d’un grand secours.

La méthode « manuelle » de Forecast présente de sérieuses limites.

Une projection réalisée souvent grâce au « pifomètre ».

Chaque année, c’est la même chose.

On vous demande de vous poser un instant et d’estimer la croissance de votre chiffre d’affaires pour l’année suivante. Réussir cette projection financière d’activité est clé: elle sera ensuite âprement bataillée entre la direction financière et la direction commerciale de l’entreprise.

Déterminer le chiffre d’affaires correctement pour l’année prochaine est essentiel à la bonne gestion de l’entreprise et atteindre le seuil de rentabilité ou encore estimer les objectifs et primes commerciales.

Une bonne prévision de chiffre d’affaires se décompose généralement en deux parties:

  1. Une estimation de la baseline – qui correspond à l’évolution du chiffre d’affaires « si rien ne change et que toutes les opérations continuent de la même façon ». On prend les mêmes et on recommence.
  2. les initiatives qui sont tous les projets supplémentaires qui vont générer du chiffre d’affaires, comme par exemple les lancements de nouveaux produits prévus ou l’arrivée d’un contrat massif.

La méthode traditionnelle pour estimer la baseline consiste alors à utiliser l’historique des données, d’ouvrir un tableur excel et d’essayer d’estimer tant bien que mal quel sera le futur niveau d’activité pour l’année prochaine, en se basant par exemple sur:

  • la saisonnalité de l’activité
  • l’évolution du marché et l’estimation de la part de marché cible de l’entreprise
  • la taille du panier moyen
  • le nombre de transactions
  • le nombre d’acheteurs
  • le nombre de transactions par acheteur
  • et ainsi de suite…

Le problème est que dans 90% du temps, il n’y a rien de très scientifique pour déterminer l’évolution de chaque mesure. L’expérience, le bon sens, oui, mais la rigueur scientifique fait souvent absence. Certains sont très doués pour créer des projections financières, d’autres… nettement moins.

Il faut ensuite ventiler le chiffre d’affaires par trimestre, par mois puis par jour, en tenant compte bien évidement des jours fériés et autres événements calendaires comme les vacances.

Bref, un pur moment de bonheur.

Avant d’en apprendre plus sur Prophet, voici quelques livres sur la prévision des ventes:

Prophet permet d’utiliser la puissance de la modélisation statistique pour une plus grande précision

Sous le capot : Loi de Fourier et autres bijoux statistiques

Prophet est disponible en 2 versions: R et Python. Et oui, si vous n’êtes pas familier avec ces outils, il va falloir soit vous former à Python ou demander de l’aider auprès de vos développeurs.

D’après l’équipe qui a développé Prophet, son fonctionnement est relativement poussé:

At its core, the Prophet procedure is an additive regression model with four main components:

    • A piecewise linear or logistic growth curve trend. Prophet automatically detects changes in trends by selecting changepoints from the data.
    • A yearly seasonal component modeled using Fourier series.
    • A weekly seasonal component using dummy variables.
    • A user-provided list of important holidays.

La logiciel utilise aussi d’autres célèbres méthodes de forecasting comme ARIMA et d’autres pépites issues du monde des statistiques avancées.  Vous pourrez en apprendre plus sur le fonctionnement de Prophet en cliquant ici, directement sur le site de R&D Facebook.

L’outil open-source de prévision Prophet est très avancé. Il offre de nombreuses fonctionnalités pour affiner les projections:

  • Créer des seuils de saturation – car la demande n’est pas infinie
  • Intégrer en natif les vacances suivant les pays – en utilisant une libraire open-source spéciale. Il suffit de le préciser lors de la création du code Python.
  • Personnaliser les effets de saisonnalité – en impactant le coefficient de Fourier à utiliser

Un résultat propre… et diablement précis à la fois

Une fois que vous aurez préparé les données nécessaires et exécuté Prophet, vous serez surpris de sa précision si vous réalisez quelques analyses back-test.

En entrée, Prophet prend un simple tableau avec les données historiques:

  • La journée – il est recommandé de prendre un maximum d’historique pour augmenter la précision du forecast final
  • La mesure, ici le chiffre d’affaires – sans unité.

Le rendu est triple:

  • Un jeu de données brutes – la colonne YHAT est l’estimation générée. La colonne Y est celle faisant référence à l’historique de données fourni en entrée.
  • Un graphique visualisant le forecast – rien de bien révolutionnaire en terme de visualisation.
  • Un second graphique enfin permettant de voir les saisonnalités créées (variations annuelles, mensuelles,…). Très pratique quand on vous demandera des comptes ou que vous souhaiterez en savoir un peu plus.

Les cas où Prophet révèle sa puissance

La possibilité de générer des milliers de forecast en un clic

Imaginez maintenant que l’on vous demande d’estimer le chiffre d’affaires non pas global, mais par ligne de produit et par pays … ou par client. Que vous deviez générer non pas un seul forecast – mais de nombreuses prévisions dans un temps très court.

Les choses se compliquent exponentiellement sans recours à un outil comme Prophet, car vous ne serez pas en capacité humaine de répéter l’exercice manuellement.

Vous pouvez coder un wrapper en Python permettant de créer des boucles sur les différentes dimensions de déclinaison de forecast. En faisant ainsi, vous pourrez générer très rapidement et à la volée toutes les données nécessaires à vos projections.

Un projet = un forecast

Au fur et à mesure de l’année, vous aurez à faire des estimations.

Un produit lancé il y a quelques semaines – et vous souhaiterez établir une projection rapide basée sur les dernières tendances. Chaque projet peut avoir une baseline prévisionnelle sur-mesure – en quelques clics.  L’intérêt est aussi quand vous allez comparer plusieurs versions du forecast, pour voir s’il s’est adapté à la hausse ou à la baisse entre deux périodes.

Le coin des achats professionnels