carloscastilla - Fotolia
Logistique : Upply prépare la reprise post-confinement grâce à ses algorithmes
Les algorithmes sont au cœur des solutions de la place de marché logistique d'Upply. Ses pipelines de machine learning hébergés dans le cloud lui permettent de proposer une offre pour la reprise d’activité post-confinement.
Installée à Paris, la société Upply propose une place de marché pour le transport de fret. Cette solution lancée en 2018 est entrée en production il y a près d’un an et demi. L’objectif de la société, mettre en relation des transporteurs et des entreprises qui souhaitent expédier leurs marchandises (des chargeurs).
Upply offre également une solution pour évaluer les prix pratiqués par les transporteurs routiers (en Europe et aux États-Unis), aériens et maritimes à l’échelle mondiale.
Cela réclame de croiser 200 millions de prix et de nombreux critères (destinations, type de marchandises, poids, etc.). Grâce à ses partenaires et ses utilisateurs, Upply aurait collecté plusieurs centaines de millions de données concernant plusieurs milliers de corridors de transports dans le monde.
De grands groupes s’intéressent à cette solution. ID Logistics, Rentokil Initial, Transports Dupas Lebeda ou encore Accenture sont quelques-uns des clients de la plateforme. De son côté, Geodis est à la fois client et actionnaire majoritaire de cette société indépendante. Environ 2500 entreprises sont enregistrées auprès d’Upply, dont une majorité de transporteurs. Au total, Upply a engagé une cinquantaine de développeurs pour 115 collaborateurs internes et externes.
Pour traiter l’ensemble des données, ces deux outils sont basés sur des flux de travail analytiques et de machine learning. Pour cela, l’équipe de data science d’Upply s’appuie sur Atlas, la DbaaS de MongoDB et sur la plateforme de data science de Databricks, toutes deux hébergées sur Microsoft Azure.
Des algorithmes mis en production à l’aide de Databricks
« Avant d’utiliser Databricks, nous avions uniquement des scripts. Au fur et à mesure se sont posées des questions de mise en production, de scalabilité et surtout de travail collaboratif sur un même code », explique Thomas Larrieu, Directeur des données et de la recherche, chez Upply.
Auparavant, les membres de l’équipe utilisaient GitHub et ses capacités de versionning qui ne sont pas totalement adaptés aux activités de data science. Les scripts étaient encapsulés dans un container pour être ensuite pousser dans des clusters. Or, Upply code ses algorithmes en Python, et en Scala pour faire des jointures de tables, entre autres. Cette gestion multi langage et la multiplication des versions de modèles commençaient à gêner l’équipe au fur et à mesure que la volumétrie de données augmentait sur la place de marché.
Le choix de Databricks précède plusieurs essais. « Nous avons testé trois solutions dont Databricks et Dataiku. Nous nous sommes aperçus de l’incompatibilité de Dataiku avec nos usages. Concernant Databricks, nous étions partagés sur l’utilisation des notebooks parce que nous les trouvions pas pratiques au départ », relate Thomas Larrieu. « [Toutefois] Nous avons apprécié la puissance de l’outil et sa compatibilité quasi native avec Microsoft Azure, notre environnement cloud ».
Un calcul peut être maintenant distribué sur plusieurs machines « très simplement », selon le Directeur des données et de la recherche. Upply utilise la version Azure Databricks, un service managé par Microsoft. La ressource que la société a déployée lui donne accès jusqu’à 200 machines différentes (200 adresses IP différentes).
« Il suffit de provisionner une instance et la prise en main est rapide. La documentation disponible dans la Databricks Academy nous a permis de trouver les réponses aux problèmes rencontrés dans les premiers temps », indique Thomas Larrieu.
L’équipe de data science d’Upply s’appuie sur Databricks pour deux types de jobs en production. Le premier consiste en de la mise en forme de données pour récupérer des dizaines de milliers de sources de données, puis les agréger dans son SGBD, MongoDB Atlas.
Le second type de jobs consiste, par exemple, à analyser les fluctuations du marché du transport à travers des algorithmes de machine learning dont BSTS (Bayesian Structural Time Series). Celui-ci permet de prévoir les prix de ventes en se basant sur des séries temporelles. « Cela demande beaucoup de ressources, la consommation en RAM grimpe rapidement ».
Databricks est également utilisé pour exécuter des jobs d’exploration des données lors de phases expérimentales.
Reprise post-confinement : Upply veut mettre à contribution ses algorithmes
Upply est bien évidemment dépendant des activités des transporteurs et des chargeurs. Or, la crise sanitaire en cours a provoqué une chute drastique des expéditions. « Au début de la crise, nous avons observé une baisse de trafic routier de 50 %, de 60 % sur le trafic aérien et de 80 % sur le trafic maritime », témoigne Thomas Larrieu. « Le volume de données a lui aussi chuté. Le fait que nous utilisons MongoDB et Databricks sur Azure nous a permis de revoir à la baisse nos besoins en ressources », ajoute-t-il.
La société a observé des fluctuations de prix. Par exemple, les tarifs des transporteurs aériens ont été multipliés par deux ou par trois.
Upply s’est adapté à la situation. Son équipe de data science s’est penché sur de nouvelles sources de données, comme la propagation du coronavirus dans différents pays, le nombre de malades comptabilisés et les données météorologiques pour affiner la compréhension de l’activité logistique. Pour cela, elle s’est appuyée sur les données agrégées par l’Université John Hopkins et différentes sources d’informations publiques.
Par ailleurs, Upply considère que sa place de marché déployé en septembre 2019 est particulièrement adaptée à cette situation difficile. « L’industrie du transport routier a été lourdement impacté par le coronavirus. Début avril, 84 % des transporteurs étaient à l’arrêt ou pratiquement à l’arrêt. Avec le déconfinement, la reprise est rapide, mais il faut que les transporteurs puissent suivre », explique Thomas Larrieu.
Le cœur de cette place de marché réside donc dans un algorithme de mise en relation entre la demande et l’offre. « Nous aidons les chargeurs à trouver un transporteur. […] Aujourd’hui, dans le monde du transport, les mises en relation se font encore beaucoup au fax et au téléphone. Nous estimons que nos algorithmes peuvent fluidifier cette étape », estime-t-il.
L’algorithme en question doit prendre en compte de nombreux critères comme le poids, la hauteur, le type de marchandise, le numéro de conteneurs, la destination, etc. « Nous combinons un nombre important de variables afin de les comparer les demandes en temps réel avec les offres », affirme le directeur.
Techniquement, une entreprise effectue une demande en mentionnant les critères évoqués. Cela génère un fichier JSON et un appel vers une API. Celle-ci se connecte à un flux algorithmique gérée depuis Databricks qui va trier les données disponibles sur MongoDB. Le résultat est renvoyé à L’API dans un fichier JSON contenant les offres les plus adaptées. Celles-ci sont associées à un score de pertinence élaboré en parallèle par un autre modèle. Le tout est affiché sur l’interface disponible pour les inscrits sur le site web.
« Le fait de disposer d’une API est important, car les grands groupes qui ont plusieurs centaines de camions souhaitent directement connecter notre place de marché à leurs systèmes informatiques », assure le responsable.
Une nouvelle version de l’algorithme de matching entre en production cette semaine. Il doit s’adapter à l’offre et à la demande à l’heure du déconfinement qui a commencé en France, dans divers pays d’Europe et en Asie. « Cet algorithme a deux avantages, un il est auto-apprenant, et deux, nous pouvons le régler finement », vante Thomas Larrieu.
Au total, la société dispose de huit modèles algorithmiques en production pour l’analyse de prix : quatre pour évaluer les historiques et quatre autres pour effectuer les prévisions. À cela s’ajoute le modèle dédié à la rencontre de l’offre et de la demande. Chacun de ces modèles disposent de plusieurs versions qu’il faut mettre à jour régulièrement. Cette étape est encore manuelle.
Upply compte améliorer la gestion du transport multimodal qui implique de corréler différents modes d’acheminement des marchandises et donc différents prix. « Plus nous avons de points de multi modalité, ce que l’on appelle des ruptures de charge dans notre métier, plus cela entraîne de la complexité d’un point de vue algorithmique. Il y a des tarifs supplémentaires et des taxes douanières à prendre compte pour estimer le coût total d’un transport », estime le directeur des données. « Cela entraîne inévitablement une consommation de ressources (CPU, RAM, machines, etc.) supplémentaire », précise-t-il.
Très porté sur l’open source, Databricks propose MLflow, un outil qui doit faciliter la gestion des modèles et la mesure de leur consommation en ressources. « Nous expérimentons MLflow pour surveiller la montée en charge liés à nos algorithmes. Nous n’étions pas convaincus par les fonctionnalités proposées il y un an, mais les dernières mises à jour éveillent notre intérêt ».
Upply souhaite également mesurer l’impact environnemental des transports utilisés par ses clients. La société cherche des partenaires afin d’analyser les émissions de CO2 des camions, cargos et avions utilisés par les transporteurs. Cela implique de déployer un nouvel algorithme qui passera par les pipelines de machine learning déjà déployés.