BLOG | POC réalisé avec l’outil IPM d’Oracle PBCS
31/08/2023
Introduction à l'intelligence artificielle et à son application dans l'EPM
Aujourd'hui, il est impossible d'être passé à côté du phénomène qu'est celui des intelligences artificielles. Elles nous sont parfois présentées comme la panacée, dépassant nos capacités humaines et capable de résoudre tous les problèmes. Même si la réalité n'est pas aussi belle, il faut reconnaitre que leurs applications dans le domaine de l'EPM sont particulièrement intéressantes.
A quoi peut servir l'IA dans des systèmes d'EPM ?
Dans ce cadre, l'IA peut apporter de nombreux avantages aux contrôleurs financiers en leur permettant :
- d'analyser et de mieux prévoir ou du moins de challenger les résultats établis par le métier,
- d'optimiser les processus à travers leur automatisation,
- et de détecter les anomalies et les comportements suspects dans les données financières de leur entreprise. Anomalies parfois non identifiables humainement parlant car notre regard n’y voit pas de difformité.
L’IA peut donc aider à améliorer la qualité des données manipulées, présentées mais aussi analysées. L’arrivée de l’IA dans les systèmes EPM est en quelque sorte une désacralisation et une avancée pour un métier qui n’était pas la cible de cette technologie auparavant.
Comment mettre en place de l'IA dans son workflow ?
Avant toute chose, il faut distinguer de quels types d'IA on parle.
Dans cet article, nous allons parler plus en détail du Machine Learning : un type d'IA spécifique et généralement celui auquel on pense quand on parle d'IA.
Mais qu'est-ce que le Machine Learning ? Comment ça fonctionne ?
Le Machine Learning est une technique dans le vaste domaine qu'est l'IA utilisant des algorithmes pouvant tirer des conclusions et prendre des décisions en analysant des données, sans avoir été explicitement programmés pour effectuer ces tâches.
Les possibilités font rêver mais avant de se lancer tête baissée dans la mise en place d'une solution de machine learning, on peut légitimement se demander quelles sont ses avantages comparés à des solutions plus standard.
Comment faisaient les entreprises pour définir des modèles prédictifs avant l'avènement du machine learning ?
Avant l'arrivée de l'IA, les entreprises pouvaient par exemple s'appuyer sur les données et les tendances de consommation passées, ou utiliser des modèles basés sur des règles prédéfinies. Ces méthodes peuvent fournir des indications utiles, mais elles ne sont pas aussi précises ou flexibles que les modèles de machine learning.
En effet, ces nouveaux modèles prédictifs représentent une véritable révolution du fait de leur capacité à automatiquement définir les relations sous-jacentes entres des jeux de données complexes et non linéaires.
Pour mettre en place un outil s’appuyant sur de l’IA au sein d’un logiciel EPM, il est nécessaire que ledit logiciel ait un module prenant en charge cette technologie. Pour la suite de cet article, nous allons parler d’Oracle PBCS, un des logiciels d'EPM les plus utilisé au monde.
2. Oracle PBCS
Oracle Planning (PBCS) fait partie des 4 grands logiciels d'EPM les plus utilisés en France avec les solutions de Board, Tagetik et OneStream. La tendance l'exigeant, chacun des quatre a commencé à développer une offre IA sur son logiciel EPM mais c'est Oracle qui est actuellement le plus avancé dans ce domaine : D'abord avec l'arrivé de Predictive Planning dans PBCS en 2018, permettant au contrôleur de gestion d'avoir à disposition plusieurs méthodes d'analyses et de prédictions des KPI (Key Performance Indicator); Oracle a, 3 ans plus tard, remarqué le coup en proposant une nouvelle offre intégrant de l'IA avec encore plus de souplesse: IPM (module présenté lors d’OOW19).
Ce module a été mis à disposition lors de la release de novembre 2021.
Oracle PBCS : son offre IPM
Via son offre Intelligent Performance Management (IPM), Oracle EPM Cloud offre une gestion intelligente de la performance intégrée directement dans PBCS. Il permet de prendre des décisions de planification éclairées grâce à de plus grandes capacités prédictives et accélérer la découverte d'informations grâce à la reconnaissance de modèles financiers.
Cette nouvelle offre vient se rajouter au catalogue "IA" de Oracle PBCS au côté du Predictive Planning.
Elle comprend trois outils distincts :
- Auto Predict : Même méthode de prédiction que le Predictive Planning mais avec plus de liberté à l'utilisation
- IPM Insights : Permet de trouver des liens de causalités entre les données automatiquement
- Machine Learning Model Import : Permet d'importer son propre modèle de Machine Learning pré-entrainé pour répondre au edge cases qui ne seraient pas déjà traités par les solutions existantes
Il est toutefois important de prendre en compte toutes les ressources nécessaires à la mise en place d'une solution de Machine Learning model import. En effet, à l'heure actuelle, il faut impérativement faire appel à des mathématiciens, data scientists et potentiellement des développeurs pour mener à bien ce chantier. Les raisons sont multiples mais comme nous allons l'expliquer par la suite, l'entrainement d'une intelligence artificielle en Machine Learning requiert des compétences spécifiques et différentes de celles d'un contrôleur de gestion.
3. L'étude de cas :
Aperçu du POC Nous allons maintenant voire comment un POC a été mené à bien en s'appuyant sur cette dernière offre du catalogue IPM. L'objectif était de montrer qu'il était possible d'intégrer un modèle d'IA pré entrainé et personnalisé au sein de PBCS.
Le besoin était le suivant : Prédire le chiffre d’affaires d'une entreprise de distribution de l'énergie en fonction des données de météorologie.
Ces dernières ne sont plus exploitables aussi simplement qu’avant de par leurs fluctuations, leur caractère de plus en plus imprévisibles et l’intensité des extrêmes qu’elles peuvent atteindre et que nous avons connu ces derniers mois.
Pour réussir ce projet, l'équipe a suivi ces différentes étapes essentielles à la bonne mise en place d'une solution de Machine Learning :
- Déterminer les données d’entrées et de sortie du modèle
Il faut définir un cadre pour nos données afin de minimiser les chances d'utiliser des données inappropriées.
Ici, les inputs correspondaient aux données météorologiques de plusieurs régions en France ainsi que le prix du gaz et de l'électricité à l'échelle du pays. Les outputs sont la consommation de gaz et d'électricité estimée dans lesdites régions, via lesquelles on peut estimer le chiffre d’affaires de l'entreprise.
- Collecter et préprocesser la donnée historique
Cette partie a nécessité le scrapping de différentes APIs de confiance pour récupérer des données historiques sur la météo et les cours et consommation du gaz et de l'électricité soit respectivement : opendatasoft, reseaux-energies et rte-france. Une fois récupérée, il a fallu préparer ces données pour qu'elles soient compatibles avec les algorithmes qui allaient être utilisés
- Choisir un modèle mathématique pertinent au problème
Ou plusieurs dans notre cas, pour sélectionner celui qui performe le mieux après entrainement
- Entrainer le(s) modèle(s)
- Evaluer le(s) modèle(s) par rapport aux données passées
- Peaufiner/Régler le(s) modèle(s)
Cette étape nécessite la mise en place d'un framework de machine learning pour entrainer les différents modèles. Nous avons utilisé Scikit-Learn pour les raisons suivantes :
Il est simple à utiliser, bien documenté, possède une large sélection d'algorithmes et s'intègre parfaitement avec un environnement de développement en Python, le langage de choix pour faire de la data science.
Une fois les différents modèles entrainés au sein de l’outil, on va sélectionner celui qui a été le plus performant pour deviner des données historiques à partir de donnée provenant du passé.
Dans notre cas, c'est le modèle Support Vector Regression qui a été retenu.
A noter que l’entrainement de nos modèles doit être fait en prenant certaines précautions pour notamment éviter le surentrainement. Concrètement, on parle de surentrainement quand un modèle devient trop spécialisé sur les données qui ont servis à son entrainement ; le rendant de fait inapte à généraliser ses prédictions sur de nouvelles données. Il existe cependant plusieurs méthodes que l’on peut mettre en place pour s’assurer que notre modèle ne vire pas dans ce travers mais cela dépasse le cadre de cet article.
- Déployer le modèle sur la plateforme
Après avoir entrainé le modèle, nous l'avons importé au format pmml au sein d’Oracle PBCS.
Une fois le moteur intégré, il faut à présent mettre en place l’interface utilisateur, pour interagir avec le modèle, tâche que les contrôleurs de gestion peuvent faire à travers l’administration de PBCS ou avec l’aide d’une TMA.
Quel est le rendu dans Oracle PBCS ?
Dans un premier temps, il faut définir les entrées et sorties du modèle par rapport au référentiel de l’application. De façon à faire le lien entre le modèle et la solution PBCS.
Dans le cadre de notre POC, nous avons :
- Récupéré les données météorologiques de l’année à prédire via une api,
- Mis à disposition un écran de saisie à la main des utilisateurs pour les hypothèses les de prix de l’électricité.
Nous avons obtenu ainsi les données nécessaires au lancement du modèle.
Le Machine Learning se lance à l’enregistrement du masque de saisie, en reprenant les indicateurs nécessaires à l’entrée (1) et va compléter l’indicateur de sortie (2) à l’enregistrement du masque.
Le lancement du moteur peut être exécuté par les canaux habituels de déclenchement de traitement d’Oracle PBCS.
Nous avons isolé les résultats du Machine Learning sur une version afin de challenger la version des utilisateurs. Ainsi il est possible d’affiner nos analyses en identifiant les écarts.
Les données produites par le Machine Learning sont exploitables au sein des objets habituels de la solution PBCS. Nous avons par exemple produit le dashboard ci-dessous qui restitue, confronte et combine les données de l’IA et celle des utilisateurs.
Les difficultés et limites rencontrées
Une des parties qui a posé des problèmes à l'équipe a été la récupération de données futures pour faire tourner le modèle et obtenir les prédictions.
Effectivement, il existe peu d'api publique capable de fournir de la donnée tournée vers le futur dont notre modèle dépend pour fonctionner :
Les données météorologiques ont pu être récupérées sur weather-api.com. Un programme Node.js a été conçu pour automatiquement scrapper la donnée et la formater pour qu'elle soit utilisable.
La variation du prix du gaz étant périodique, elle a été répliquée par rapport aux valeurs des années précédentes.
Finalement, la dernière métrique, celle du prix de l'électricité a été difficile à prédire du fait de l'explosion actuelle de son prix. Une moyenne a donc été établit pour adoucir la pente et avoir des résultats crédibles dans l’espoir d’une stabilisation prochaine de son prix -> pour finaliser notre POC
L’apport d’une ressource mathématicienne ou de type datascientist est un pré requis à l’identification du modèle à exploiter. Sans cela le moteur n’aurait pas pu être défini.
4. Résultats et avenir
Le POC est fonctionnel : Il est disponible sur Oracle PBCS et prédit les données du périmètre souhaité.
Le contrôleur de gestion a donc à disposition un outil capable de lui fournir des données avec une fiabilité mathématique et donc rationnelle. Cela accélère sa vélocité et lui permet de challenger les données provenant d'autres secteurs au sein de son entreprise ou celles qu’il a pu produire.
Il faut toutefois garder en tête que l'IA vient s'ajouter à la panoplie d'outil du contrôleur de gestion sans pour autant le remplacer. Comme elle n'est jamais parfaitement fiable, il est important pour le CDG de rester critique sur les données que lui donne l'IA, autrement, son rôle n'aurait plus d'importance.
5. Conclusion
Avec IPM, Oracle a ouvert le champ des possibles en matière d'intelligence artificielle et plus spécifiquement de machine learning appliqué à l'EPM. Au travers de ce POC, nous avons pu prouver la pertinence de cette nouvelle offre au sein de PBCS à condition d'avoir en amont une équipe suffisamment expérimentée en matière d'IA pour travailler sur sa mise en place.
Enfin, si jamais vous n'utilisez pas Oracle PBCS, sachez que comme énoncé plus tôt, il existe d'autres solutions d'EPM appliquant de l'IA avec chacune leurs forces et leurs faiblesses. Les plus connues sont CCH Tagetik et son analytique avancée, Board avec BEAM et OneStream avec ses différentes solutions de marketplace basées sur de l'IA.