
Par : Ran Sun, chef de produit senior, Jia Wang, ingénieur senior en apprentissage automatique, Gowtham Suresh, scientifique appliqué senior
Problème : Comment faire correspondre les chargements des expéditeurs aux transporteurs intéressés
On pourrait comparer l'activité de courtage numérique d'Uber Freight à une plateforme de rencontres en ligne. Tout comme les rencontres en ligne cherchent à mettre en relation des personnes, l'activité de courtage vise à mettre en relation les chargements des expéditeurs avec les transporteurs prêts à les prendre en charge. Plus précisément, les expéditeurs font appel à nous pour atteindre une base de transporteurs plus large que celle à laquelle ils ont accès. Cela leur permet non seulement d'optimiser leurs coûts et leurs services, mais aussi de compter sur notre expertise et notre technologie pour gérer le cycle de vie des chargements en aval.
Pour trouver le chargement idéal , nous pourrions demander au transporteur de préciser ses préférences via une recherche : êtes-vous casanier et avez-vous besoin d'un itinéraire récurrent pour rentrer chez vous, ou avez-vous une envie de voyage et êtes-vous prêt à prendre n'importe quel trajet ? Mais il est parfois difficile d'exprimer clairement ses désirs, ni l'importance de ces derniers.
Cette nuance a motivé le lancement d'un système de recommandations chez Uber Freight. Nous imposions auparavant aux transporteurs de nous indiquer leurs besoins par le biais d'une recherche, mais cette tâche est fastidieuse, les intentions de recherche des transporteurs sont multiples et ils n'expriment pas toujours clairement leurs préférences. Grâce à un processus de découverte automatisé, nous pouvons gérer les chargements de manière plus efficace et rentable. Cela renforce la confiance des expéditeurs et augmente le volume de fret qu'ils soumettent à notre plateforme, ce qui profite aux transporteurs, leur offrant davantage d'options pour trouver le fret idéal. Un volume de chargement plus important attire davantage de transporteurs vers la plateforme, ce qui permet aux expéditeurs de soumettre leur fret de manière efficace et rentable. En résumé, un système de recommandations est un moyen de stimuler le courtage, en aidant les expéditeurs et les transporteurs en jouant le rôle d'intermédiaire.

Le volant d'inertie du courtage. Les recommandations font partie d'un réseau automatisé et instantané et facilitent une meilleure utilisation des transporteurs.
Qu'est-ce que l'adaptation de charge ?
Avant d'explorer notre solution, prenons un moment pour définir plus précisément la correspondance des chargements. Dans un réseau parfaitement optimisé , nous serions en mesure de faire correspondre exactement le chargement au transporteur approprié sur l'ensemble du territoire. Cependant, les capacités et les préférences des transporteurs compliquent la correspondance des chargements, tout comme les exigences du chargement, telles que le type de marchandise, la distance à parcourir et le délai de livraison. Notre système de recommandations évalue le degré d'adéquation entre un transporteur et un chargement afin de proposer les meilleures combinaisons.
Quelle est la différence entre la correspondance de charge et la correspondance de fret numérique (DFM) ?
L'appariement de charge et la gestion des flux de transport (DFM) sont des concepts étroitement liés. L'appariement de charge est le terme le plus large ; il désigne le processus de mise en relation des expéditeurs et des transporteurs afin d'optimiser l'utilisation des capacités de transport. L'appariement de charge peut être réalisé de manière numérique ou non (par exemple, par téléphone ou par des relations personnelles). La gestion des flux de transport (DFM) désigne spécifiquement l'appariement de charge par des méthodes numériques. Elle permet une visibilité en temps réel des besoins du réseau et de la capacité des transporteurs, réduisant ainsi le recours aux interventions manuelles.
Solution : Un système de recommandations
Nous avons émis l'hypothèse qu'en remplaçant la page de recherche par défaut par une page de recommandations, nous pourrions éloigner les transporteurs d'un modèle de recherche « spearfishing » et les amener vers une expérience de découverte leur permettant de trouver des tas de choses auxquelles ils n'avaient même pas pensé. La conception de l'expérience utilisateur et l'algorithme lui-même ont été essentiels au succès de ce produit. Dans cet article, nous allons approfondir cet algorithme.

Notre système de recommandations privilégie la conversion et l'engagement, à l'instar de ceux déployés dans le secteur du e-commerce. Il comprend deux volets : la génération de candidats et le classement/booster.
Étape 1 : Génération de candidats
Nous souhaitions initialement utiliser le filtrage collaboratif pour générer des chargements candidats à recommander. Ce filtrage examine les utilisateurs ayant des comportements similaires afin d'en déduire leurs préférences, à la manière dont votre service de streaming préféré exploite les données utilisateur pour recommander du contenu. Cependant, l'utilisation de cette technique, utilisant les réservations de chargement comme unité de similarité, présente des difficultés, car ces réservations sont exclusives. Dans le contexte d'un service de streaming, deux utilisateurs peuvent aimer le même film. Dans notre contexte, deux utilisateurs ne peuvent pas réserver le même chargement.
Pour contourner ce problème, nous avons essayé des méthodes telles que l'analyse des réservations de voies et des chargements enregistrés comme signaux positifs. (Les réservations de voies correspondent à plusieurs chargements réservés sur le même itinéraire géographique, par exemple de San Francisco à Los Angeles.) Ces deux approches ne souffrent pas d'exclusivité. Cependant, la viabilité de ces approches a été compromise par la rareté des données.
En fin de compte, nous avons utilisé plusieurs signes d’intérêt de la part des transporteurs pour générer des candidats à la recommandation de charge :
Charges sauvegardées
J'ai cliqué sur beaucoup de choses
Charges similaires aux réservations précédentes
Charges transportant les conducteurs de fret vers leur adresse de facturation en guise de proxy pour leur domicile
Recherches effectuées sur les sites de nos fournisseurs partenaires

Comparaison de la précision et du rappel pour différents types de génération de candidats
Le graphique ci-dessus représente la précision et la mémorisation en considérant les 20 chargements les mieux classés de chaque type de génération de candidats. La précision mesure le nombre de recommandations réellement réservées, tandis que la mémorisation vérifie la part des réservations recommandées. En général, nous privilégions la précision plutôt que la mémorisation pour les recommandations, car elle permet une évaluation directe de la pertinence. Notre objectif principal est de renforcer la confiance des transporteurs en leur présentant les chargements les plus pertinents. Même lorsque ces chargements sont rares, nous privilégions un nombre réduit de recommandations plutôt que d'encombrer l'espace avec des chargements moins pertinents. Lors de nos tests hors ligne, les chargements enregistrés ont systématiquement généré la plus grande précision, ce qui en fait un signal fiable. Les clics et les réservations présentent une précision relativement similaire et contribuent significativement à la mémorisation. Nous optimisons intentionnellement les candidats grâce aux chargements enregistrés en raison de leur précision exceptionnellement élevée.
Étape 2 : Ranker/Booster
Nous avons utilisé l'algorithme XGBoost pour classer les chargements candidats générés à partir des sources mentionnées ci-dessus. Cet algorithme utilise les caractéristiques du chargement, les profils des transporteurs établis lors d'études utilisateurs et validés par les données, ainsi que l'intersection entre les caractéristiques du chargement et les préférences du transporteur. Il utilise ensuite l'étiquette indiquant si le chargement a été réservé à des fins d'apprentissage et de prédiction.
Vous trouverez ci-dessous les valeurs SHAP des trois principales caractéristiques d'un échantillon de charge candidate. L'ordre des caractéristiques illustre leur importance, la couleur indique leur impact positif (rouge) ou négatif (bleu) sur la variable de résultat, et l'axe des abscisses indique l'ampleur de cet impact. Ici, la variable de résultat est la probabilité de réservation. Le délai d'exécution dérivé est la caractéristique la plus importante pour déterminer la probabilité de réservation. Le délai d'exécution pour cet échantillon indique une faible probabilité de réservation. Notez que l'ordre d'importance des caractéristiques et leur ampleur varient selon la charge.

Importance des fonctionnalités à l'aide des valeurs SHAP pour un exemple de charge
Nous soulignons trois caractéristiques clés comme suit :
Délai d'enlèvement (« derived_lead_time ») : Sur le marché du fret, les chargements peuvent être comparés à des denrées périssables, où une réservation ponctuelle est cruciale. Si un chargement reste non réservé avant son enlèvement prévu, nous devons le reprogrammer, ce qui peut engendrer des tensions avec les expéditeurs. L'intégration du délai d'enlèvement dans l'algorithme nous permet de saisir la tendance des transporteurs à réserver à l'approche de l'enlèvement (en raison de la hausse des prix).
Réservation répétée (« derived_is_repeated ») : De nombreux transporteurs privilégient la familiarité. Par exemple, la familiarité signifie parcourir le même itinéraire et faire connaissance avec le meilleur restaurant du quartier, ou se lier d'amitié avec les réceptionnaires et décharger plus tôt. Pour simuler ce désir, nous avons développé une fonction noyau exponentielle qui quantifie la similarité géographique entre un chargement donné et les réservations précédentes de l'utilisateur.
Distance (« derived_route_distance_score » ) : Tout comme certains apprécient les longs trajets tandis que d'autres privilégient les escapades courtes, les transporteurs ont eux aussi des préférences en matière de distance. Nous avons pris en compte les distances de transport précédemment réservées par un transporteur afin d'en déduire ses préférences. Un score de préférence a ensuite été attribué à chaque chargement candidat en fonction de sa distance.
Résultats : Une meilleure adaptation de la charge augmente les réservations
Nous avons testé notre nouveau système de recommandations avec une expérience A/B utilisateur, et les résultats ont été positifs. Des améliorations ont été constatées tout au long du processus de réservation des transporteurs, avec notamment une augmentation de 12 % des réservations pour les utilisateurs actifs et une augmentation globale de 3 % des réservations et de 5 % des clics.
Et ensuite ? Nous étudierons plusieurs pistes, allant de l'amélioration de l'expérience pour certains groupes d'utilisateurs à l'exploitation de davantage de sources de données pour générer des candidats de chargement. Grâce à ces changements, les transporteurs pourront compter sur Uber Freight pour les aider à trouver le chargement le plus adapté à leurs préférences, le plus efficacement possible. Voilà une fin heureuse.
Vous souhaitez en savoir plus sur la façon dont notre équipe utilise des algorithmes basés sur l'IA pour améliorer la logistique des expéditeurs et des transporteurs ? Découvrez notre modèle de probabilité d'arrivée tardive (PLA).