« Le marché de la logistique représente près de 8000 milliards de dollars au niveau mondial », lance Thomas Larrieu, directeur des données et de la recherche d’Upply. Dans ce marché complexe, caractérisé par une certaine opacité, il était jusqu’à présent difficile pour les entreprises de comparer les prix de transport, et ce-faisant, d’optimiser leurs coûts. Upply s’est donnée pour mission d’apporter de la transparence aux professionnels de la supply chain. Pour les aider, la société a développé deux services : un comparateur de prix et une place de marché BtoB, facilitant les appels d’offre et la mise en relation. Le premier, lancé en novembre 2018, permet de situer ses prix de transport maritime et aérien au niveau mondial, ainsi que ceux du transport routier en Europe et en Amérique du Nord. Accessible sur abonnement, ce service fournit également des outils pour connaître et analyser les tendances d’évolution des prix. La place de marché, fonctionnant quant à elle sur un modèle de rémunération à la transaction, ne concerne pour l’instant que le transport routier en France. Mais le service est amené à s’étendre.

Pour bâtir sa plateforme, la société est partie d’une feuille blanche sur le plan technique. « En matière de choix technologiques, nous avions quartier libre », se souvient le directeur données & recherche. « D’emblée, nous nous sommes orientés vers le cloud ». Après avoir comparé les offres des principaux fournisseurs, Upply a choisi Microsoft Azure, à la fois pour des raisons de coûts, d’accompagnement et pour les fonctionnalités proposées.

Un moteur flexible pour stocker les données métier

Restait un autre choix structurant à faire, celui du moteur de base de données. « Pour des usages classiques, comme la gestion des données utilisateurs, nous sommes restés sur des bases relationnelles, car celles-ci marchent très bien. En revanche, pour les données métier, comme les prix, les données des douanes ou encore des données issues de capteurs, nous avons rapidement cherché une base non-relationnelle », détaille Thomas Larrieu. Collectées de façon collaborative, les données sont fournies à la fois par les partenaires et les utilisateurs de la plateforme, environ plus de 4000 utilisateurs représentant 700 entreprises, selon Thomas Larrieu. Les données reçues se sont avérées très différentes d’un mode de transport à l’autre. Pour stocker ces dernières, il fallait donc un système flexible : Upply a choisi la base de données orientée documents de MongoDB. « Au départ, nous avons commencé par tester la solution dans un Proof-of-Concept. L’installation s’est montrée très facile, nécessitant une demi-journée, et la documentation était bien faite », ajoute le directeur données & recherche. En l’espace d’un mois, un premier pilote était sur pied.

Après quelques mois d’usage, l’équipe technique a cependant constaté quelques dérives sur les schémas de données. « Même si les bases NoSQL sont très flexibles, il faut un modèle de données afin de maintenir l’efficacité du système dans le temps, ainsi que pour disposer d’index optimisés », souligne Thomas Larrieu. Une fois ces règles mises en place, le socle technique s’est révélé suffisamment robuste pour envisager la mise en production.

Des algorithmes pour évaluer les tendances

« Lors du passage en production, nous sommes passés de 5 à 45 millions de lignes. Nous avons également ouvert notre API, en l’exposant aux utilisateurs », décrit le directeur données & recherche. Pour tenir la charge, Upply a choisi de mettre en œuvre la version cloud de MongoDB, Atlas, en version 4.2. « Nous pouvons provisionner très rapidement un cluster, faire du dimensionnement automatique », apprécie Thomas Larrieu. Au total, près de neuf mois ont été nécessaires pour la mise en production. Upply a aujourd’hui cinq clusters Atlas en production, deux pour la place de marché et trois pour le comparateur, ainsi que des clusters de préproduction, de qualification et de développement.

L’entreprise dispose aujourd’hui d’environ 120 millions de données sur des transactions. En deux ans et demi d’existence, la société est passée de 5 à 110 collaborateurs, dont une majorité de profils techniques, ainsi que des experts des métiers de la supply chain et de la logistique. L’équipe de développement comporte 50 membres, qui travaillent selon les principes de DevOps et Scrum. En moyenne, une nouvelle release est déployée toutes les deux semaines, tandis que les montées de version importantes s’échelonnent tous les deux mois environ. Une équipe séparée, d’une douzaine de personnes s’occupe des Data Science, élabore des algorithmes prédictifs en s’appuyant sur les données de la plateforme. Elle utilise pour cela des outils de machine learning en Python, ainsi que la solution analytique de Databricks. « L’interface avec la base de données fonctionne bien, les traitements vont vite », pointe Thomas Larrieu.