Technologie/AI Archives - Uber Freight Thu, 23 May 2024 21:11:50 +0000 fr-FR hourly 1 https://wordpress.org/?v=6.5.3 https://www.uberfreight.com/wp-content/uploads/2023/09/cropped-uf-logo-512-32x32.png Technologie/AI Archives - Uber Freight 32 32 Réimaginer l’algorithme de tarification des transporteurs d’Uber Freight pour obtenir de meilleurs résultats https://www.uberfreight.com/fr/blog/reimaginer-lalgorithme-de-tarification-des-transporteurs-duber-freight-pour-obtenir-de-meilleurs-resultats/ Fri, 08 Dec 2023 13:30:25 +0000 https://www.uberfreight.com/blog/reimaginer-lalgorithme-de-tarification-des-transporteurs-duber-freight-pour-obtenir-de-meilleurs-resultats/ Par : Kenneth Chong (scientifique appliqué senior), Joon Ro (scientifique appliqué senior), Emir Poyraz (ingénieur senior) et May Wu (responsable des sciences appliquées). Une version innovante d’un algorithme classique Uber Freight exploite une place de marché bilatérale, qui s’interface séparément avec expéditeurs (qui cherchent à transporter des charges d’un point A à un point B)...

The post Réimaginer l’algorithme de tarification des transporteurs d’Uber Freight pour obtenir de meilleurs résultats appeared first on Uber Freight.

]]>
Par : Kenneth Chong (scientifique appliqué senior), Joon Ro (scientifique appliqué senior), Emir Poyraz (ingénieur senior) et May Wu (responsable des sciences appliquées).

Une version innovante d’un algorithme classique

Uber Freight exploite une place de marché bilatérale, qui s’interface séparément avec expéditeurs (qui cherchent à transporter des charges d’un point A à un point B) et avec les transporteurs (les chauffeurs de camion qui transportent ces charges). Les deux côtés de cette place de marché sont alimentés par des algorithmes de tarification dynamique. Chacune est structurée de manière légèrement différente en fonction des besoins du marché concerné.

Récemment, notre équipe a identifié le besoin de changer l’algorithme qui dicte la tarification des transporteurs. L’algorithme génère un taux basé sur une variété de facteurs tels que les conditions du marché, la taille du chargement, la distance à parcourir pour déplacer le chargement, etc. Jusqu’à présent, nous utilisions un algorithme basé sur les processus de décision de Markov (PDM) pour fixer les prix des transporteurs (voir cette page). article de blog précédent pour une description complète du fonctionnement du modèle MDP) parce qu’il est naturel pour notre problème : nous devons prendre des décisions de tarification de manière séquentielle dans le temps. Au fil du temps, nous nous sommes toutefois rendu compte que l’algorithme était certes performant, mais qu’il présentait des lacunes qu’il était difficile de combler avec une implémentation MDP standard.

Nous avons surmonté ces difficultés en

1) Troncature de l’induction à rebours

2) S’appuyer davantage sur l’apprentissage machine (ML) pour approximer la fonction de valeur.

3) Développement d’un nouvel algorithme de regroupement pour identifier les charges « similaires » qui peuvent être utiles pour l’estimation des coûts – en combinant de manière créative l’optimisation et le ML pour développer ce que nous pensons être une version plus robuste du MDP.

L’algorithme MDP est un choix naturel, mais sa mise en œuvre est difficile.

Pour illustrer brièvement le problème de la tarification des transporteurs, supposons que nous nous soyons engagés auprès du chargeur à transporter un chargement de Chicago (IL) à Dallas (TX). Le rendez-vous d’enlèvement commence exactement dans 5 jours : en d’autres termes, le délai d’exécution
T
est de 120 heures. Comme il est plus difficile de trouver des transporteurs dans un délai plus court, les prix ont tendance à augmenter lorsque le délai d’exécution diminue. Nous avons donc une séquence de décisions à prendre au fil du temps, que nous appelons une trajectoire de prix :

Figure 1 : Exemple de trajectoire de prix sur un délai de 5 jours

Comme nous actualisons les prix toutes les heures, cette trajectoire peut être représentée sous la forme d’une séquence {pt}t{T, T-1, …, 0}pt est le prix offert t heures à partir de la prise en charge. L’objectif de notre algorithme est de choisir une trajectoire qui minimise, en espérance, le coût total pour couvrir la charge. Nous appelons cette quantité eCost:

eCostT=t=T0ptPr(Bt=1 | pt,St),

Bt = 1 si la charge
i
est réservée au délai d’exécution
t
(0 sinon), et St désigne les variables d’état (éventuellement variables dans le temps) autres que le prix qui peuvent affecter la probabilité de réservation. Cette quantité augmente généralement au fur et à mesure que le temps passe et que le chargement reste sans réservation.

Dans le cadre d’une PDM, le calcul de l’eCost implique la résolution de l’équation de Bellman

Vt =minptPr(Bt | pt, St)pt +1-Pr(Bt | pt, St)Vt-1 t{0, 1, …, T}

Les quantités {Vt} sont directement interprétables en tant qu’eCost, sous réserve de notre politique de prix. Toutefois, l’estimation précise des probabilités de réservation constitue un élément essentiel de la PDM Pr(Bt=1 | pt , St). Bien que le modèle ML que nous utilisons à cet effet soit performant, les erreurs peuvent s’accumuler au fil du temps. Cela signifie que nous devenons vulnérables aux la malédiction de l’optimiseurqui stipule qu’en présence de bruit, les estimations du coût total associées à la décision optimale sont susceptibles d’être sous-estimées. Il en résulte des prix plus bas, trop optimistes, qui tendent à diminuer davantage lorsque les délais d’exécution sont plus longs.

En outre, la
malédiction de la dimensionnalité
présente des défis importants pour la modélisation de transitions d’état plus complexes. Par exemple, l’intégration de caractéristiques en temps quasi réel (NRT), telles que l’activité de l’application, dans nos prix implique de les ajouter aux variables d’état, ce qui rend rapidement notre problème infaisable d’un point de vue informatique.

Notre approche : un savant mélange de prédiction et d’optimisation

Pour améliorer la précision des prix, nous avons envisagé d’utiliser un modèle prédictif, plutôt qu’une induction à rebours standard, pour estimer l’eCost. En particulier, nous effectuons K ≤ T étapes d’induction à rebours, et si la charge n’est toujours pas réservée après K heures, nous substituons à la valeur de continuation VT-K une prédiction de ce modèle. Dans ce cas, les équations de Bellman deviennent :

Vt =minptPr(Bt | pt, St)pt +1-Pr(Bt | pt, St)Vt-1 t{T-K+1, …, T-1, T}

avec la condition limite
V
T-K
=eCos
t
T-K
.

Figure 2 : Illustration de la prise de décision séquentielle dans le cadre d’un PDM

Le choix d’une valeur appropriée pour
K
a nécessité quelques itérations, mais cette rétro-induction tronquée permet d’atténuer chacun des problèmes que nous avons mis en évidence ci-dessus.

Un premier candidat pour un tel modèle prédictif était un ensemble XGBoost que nous avions déjà utilisé ailleurs pour la tarification des transporteurs. Les données d’apprentissage sont constituées de chargements historiques, de leurs caractéristiques (que nous décrivons plus en détail ci-dessous), des délais dans lesquels ils ont été comptabilisés, ainsi que de leurs coûts réalisés.

Cependant, les prédictions générées par ce modèle n’étaient pas adaptées à l’estimation de l’eCost pour deux raisons.

  1. Il y a une distinction importante à faire entre la durée de vie restante d’une charge et la durée de vie de la charge.
    restant
    d’une charge et son
    disponible
    délai d’exécution. Alors que nous inclurions les premiers dans le vecteur de caractéristiques au moment du service, il existe des schémas systématiques dans les seconds. En d’autres termes, des chargements similaires tendent à être disponibles à des moments précis. Par exemple, les longs trajets ont tendance à être disponibles dans des délais plus longs que les trajets plus courts. Ainsi, nous aurions des concentrations de points de données autour de certains délais disponibles, ce qui rendrait les prévisions moins fiables pour d’autres délais.
  2. Les données d’apprentissage se composaient uniquement de résultats – les réalisations de variables aléatoires, plutôt que leurs attentes – de sorte que les prédictions de ce modèle ne pouvaient pas non plus être interprétées comme un coût électronique. La manière de modifier l’ensemble d’apprentissage pour que les prédictions du modèle XGBoost puissent être traitées comme des attentes n’était pas évidente

Au lieu d’essayer de prédire directement l’eCost, nous empruntons les principes du clustering pour trouver un ensemble de charges similaires à celle à tarifer, et prendre une moyenne pondérée de leurs coûts totaux. Avec cette approche, les délais restants peuvent être explicitement incorporés dans l’eCost – nous pouvons exclure, de l’ensemble des chargements similaires, ceux qui ont été réservés plus tôt que le délai restant du chargement actuel. En outre, chacune des charges similaires identifiées peut être considérée comme un résultat potentiel pour la charge actuelle, auquel sont attribuées des probabilités égales aux poids utilisés dans le calcul de la moyenne.

Le principal défi consiste à développer un moyen de mesurer la similarité entre les charges, que nous décrivons à l’aide d’un certain nombre d’attributs :

  • Emplacement des lieux d’enlèvement et de livraison
  • Heure de la journée, jour de la semaine où le chargement doit être enlevé ou livré
  • Conditions du marché au moment où le chargement doit être déplacé

Il y a un mélange de caractéristiques continues et catégorielles, et il n’est pas du tout évident de savoir comment les pondérer les unes par rapport aux autres lors du calcul de la similarité.

…avec un algorithme de regroupement non conventionnel

Nous avons développé un nouvel algorithme dans lequel notre modèle XGBoost susmentionné est utilisé pour effectuer le regroupement. Prenons le cas simple où notre modèle est un arbre de décision unique (peu profond) avec une seule caractéristique : la distance de conduite. Nous pourrions obtenir un arbre comme le suivant :

Figure 3 : Illustration d’un arbre de décision unique pour le regroupement

Deux charges peuvent être considérées comme « similaires » si leurs prédictions sont faites à partir du même nœud feuille. Dans le cas du nœud feuille n°6, nous savons que les distances d’acheminement sont toutes deux comprises entre 282 et 458 miles.

Cela peut sembler une façon rudimentaire de mesurer la similarité, mais en développant des arbres de décision plus profonds et en incorporant davantage de caractéristiques, nous exigeons que les deux charges aient des valeurs comparables sur un certain nombre de dimensions pour être considérées comme « similaires ». Nous pouvons différencier davantage en cultivant des arbres supplémentaires. En bref, nous associons à chaque charge un vecteur d’intégration, composé de nonzéros aux emplacements correspondant aux nœuds feuilles dans lesquels la charge tombe. Nous mesurons la similarité entre les charges par la similarité en cosinus de leur intégration, qui est directement liée au nombre d’arbres dans lesquels les deux ont des nœuds feuilles communs.

La fluidité des prix a permis d’améliorer les résultats des réservations

Compte tenu des changements relativement importants que nous avons apportés à l’algorithme, nous avons procédé à un déploiement en deux phases principales. Tout d’abord, nous avons intégré eCost dans les algorithmes utilisés dans les canaux de réservation secondaires, et nous avons effectué un test A/B pour nous assurer qu’il n’y avait pas de baisse de performance. Deuxièmement, nous avons réalisé une expérience d’inversion en la comparant à la version précédente de MDP. L’effet net de ces deux expériences a été une réduction statistiquement significative du coût total de la couverture des charges, sans impact négatif sur les indicateurs secondaires. Nous attribuons ce résultat aux trajectoires de prix plus lisses générées par le nouvel algorithme, qui permet de réserver les charges plus tôt dans leur cycle de vie. Ce point est particulièrement important, car les coûts ont tendance à augmenter fortement dès que les délais d’exécution tombent en dessous de 24 heures.

Le déploiement de ce nouvel algorithme s’accompagne d’un certain nombre d’avantages secondaires. La réservation anticipée des chargements, grâce à des trajectoires de prix plus lisses, permet non seulement de réduire les coûts, mais aussi d’éviter les fortes augmentations de coûts associées à des délais plus courts. La réduction du coût total de couverture des chargements nous permet d’offrir des prix plus compétitifs aux expéditeurs, ce qui, à son tour, augmente le volume. En outre, des trajectoires de prix plus plates pourraient inciter les transporteurs à vérifier les chargements sur l’application plus tôt dans leur cycle de vie. Au-delà de ces avantages commerciaux, l’algorithme a également contribué à réduire la dette technique en unifiant la tarification entre les canaux de réservation, ainsi qu’en supprimant les composants non essentiels utilisés dans l’implémentation précédente de MDP.

Bien que nous pensions qu’il y ait encore des domaines à améliorer, ce nouvel algorithme de tarification fournit un modèle de la façon dont le PDM peut être appliqué à de nouveaux cas d’utilisation au sein d’Uber Freight.

*Puisque nous utilisons également eCost comme une sorte d’approximation de la fonction de valeur, le problème que nous allons résoudre présente quelques similitudes avec un
programme dynamique approximatif
.

The post Réimaginer l’algorithme de tarification des transporteurs d’Uber Freight pour obtenir de meilleurs résultats appeared first on Uber Freight.

]]>
Recommandations chez Uber Freight : Améliorer l’adéquation des chargements grâce à l’IA https://www.uberfreight.com/fr/blog/recommandations-chez-uber-freight-ameliorer-ladequation-des-chargements-grace-a-lia/ Sun, 24 Sep 2023 19:14:29 +0000 https://www.uberfreight.com/blog/recommandations-chez-uber-freight-ameliorer-ladequation-des-chargements-grace-a-lia/ Par : Ran Sun, Sr. Product Manager, Jia Wang, Sr. Ingénieur en apprentissage automatique, Gowtham Suresh, Sr. Scientifique appliqué Problème : Comment faire correspondre les chargements des chargeurs aux transporteurs intéressés ? On peut considérer l’activité de courtage numérique d’Uber Freight comme une plateforme de rencontres en ligne. Tout comme les rencontres en ligne cherchent...

The post Recommandations chez Uber Freight : Améliorer l’adéquation des chargements grâce à l’IA appeared first on Uber Freight.

]]>
Par : Ran Sun, Sr. Product Manager, Jia Wang, Sr. Ingénieur en apprentissage automatique, Gowtham Suresh, Sr. Scientifique appliqué

Problème : Comment faire correspondre les chargements des chargeurs aux transporteurs intéressés ?

On peut considérer l’activité de courtage numérique d’Uber Freight comme une plateforme de rencontres en ligne. Tout comme les rencontres en ligne cherchent à mettre en relation des individus, le courtage vise à mettre en relation les chargements des expéditeurs avec les transporteurs disposés à les prendre. Plus précisément, les chargeurs s’adressent à nous pour accéder à une base de transporteurs plus large que celle à laquelle ils ont accès. Non seulement cela maximise leur potentiel pour atteindre les meilleurs résultats possibles en termes de coûts et de services, mais les deux parties peuvent également compter sur notre expertise et notre technologie pour gérer le cycle de vie de la charge en aval.

Pour trouver l’unique et véritable amour Vous êtes plutôt casanier et vous avez donc besoin d’un itinéraire récurrent qui vous ramène à la maison, ou vous avez un penchant pour le voyage et vous êtes prêt à emprunter n’importe quel itinéraire ? Mais les gens ne peuvent pas toujours exprimer clairement ce qu’ils veulent, ni l’importance de leurs désirs.

C’est cette nuance qui a motivé le lancement d’un système de recommandations chez Uber Freight. Nous avions demandé aux transporteurs de nous dire ce qu’ils voulaient par le biais de la recherche, mais la recherche est fastidieuse, les transporteurs ont des intentions de recherche multiples et ils ne rendent pas toujours leurs préférences explicites. En mettant en place un processus de découverte automatisé, nous pouvons gérer les charges de manière plus efficace et plus rentable. Cela permet de renforcer la confiance des expéditeurs et d’augmenter le volume de fret qu’ils proposent sur notre plateforme, ce qui profite aux transporteurs, qui disposent ainsi de plus d’options pour trouver le chargement idéal. L’augmentation du volume de chargement attire davantage de transporteurs sur la plateforme, ce qui accroît la capacité des chargeurs à soumissionner leur fret de manière efficace et rentable. En résumé, un système de recommandations est un moyen d’activer le volant d’inertie du courtage, en prêtant main forte aux expéditeurs et aux transporteurs en jouant les entremetteurs.

Le volant de courtage. Les recommandations sont une composante d’un réseau automatisé et instantané et facilitent une meilleure utilisation des transporteurs.

Qu’est-ce que l’adaptation de la charge ?

Avant de nous pencher sur notre solution, prenons le temps de définir plus précisément l’adéquation de la charge. Dans un réseau parfaitement optimiséNous pourrions ainsi faire correspondre exactement le bon chargement au bon transporteur dans tout le pays. Cependant, les capacités et les préférences des transporteurs compliquent l’appariement des chargements, tout comme les exigences du chargement, telles que le type de fret, la distance à parcourir et le délai de livraison. Notre système de recommandations évalue l’adéquation entre un transporteur et un chargement afin de proposer les meilleures combinaisons.

Quelle est la différence entre l’appariement des charges et l’appariement numérique des marchandises (DFM) ?

L’adaptation des charges et la DFM sont des concepts étroitement liés. L’appariement des charges est le terme le plus général ; il désigne le processus de mise en relation des expéditeurs avec les transporteurs afin d’utiliser efficacement la capacité de transport. L’appariement des charges peut se faire de manière numérique ou non numérique (par exemple, par le biais d’appels téléphoniques ou de relations personnelles). La DFM se réfère spécifiquement à l’adaptation de la charge par des méthodes numériques. Il permet une visibilité en temps réel des besoins du réseau et de la capacité des opérateurs, réduisant ainsi la nécessité d’une intervention manuelle.

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 porteurs d’un modèle de recherche de type « chasseur de primes » et les orienter vers une expérience de découverte dans laquelle ils trouveraient des charges qu’ils n’avaient même pas pensé à chercher. La conception de l’expérience utilisateur et de l’algorithme lui-même a été déterminante pour le succès de ce produit. Dans ce billet, nous allons nous plonger dans l’algorithme.

Notre système de recommandations privilégie la conversion et l’engagement, à l’instar de ceux déployés dans le secteur du commerce électronique. Il y a deux composantes : la génération de candidats et le classificateur/booster.

Étape 1 : Génération de candidats

Nous voulions initialement utiliser le filtrage collaboratif pour générer des charges candidates à recommander. Le filtrage collaboratif examine les utilisateurs ayant un comportement similaire afin de déduire les préférences de l’utilisateur en question, de la même manière que votre service de streaming préféré exploite les données des utilisateurs pour recommander du contenu. Cependant, l’utilisation de cette technique en utilisant les réservations de charge comme unité de similarité pose des problèmes, car les réservations de charge sont exclusives. Dans le contexte des services de diffusion en continu, deux utilisateurs peuvent aimer le même film. Dans notre contexte, deux utilisateurs
ne peut pas
réserver la même charge.

Pour contourner ce problème, nous avons essayé des méthodes telles que l’examen des données sur les
voie
les réservations et les charges sont enregistrées comme des signaux positifs. (Les réservations de couloirs sont des chargements multiples réservés sur le même itinéraire géographique, par exemple de San Francisco à Los Angeles). Les deux ne souffrent pas d’exclusivité. Toutefois, la viabilité de ces approches a été réduite à néant 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
  • Cliquer sur les charges
  • Charges similaires à celles des réservations précédentes
  • Chargements transportés par des chauffeurs de fret jusqu’à leur adresse de facturation en tant qu’approximation du 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 le rappel en considérant les 20 chargements les mieux classés pour chacun des types de génération candidats. La précision mesure le nombre de recommandations qui ont été effectivement réservées, tandis que le rappel vérifie la part des réservations qui ont été recommandées. En règle générale, nous donnons la priorité à la précision plutôt qu’au rappel lorsqu’il s’agit de recommandations, car il s’agit d’une évaluation directe de la pertinence. Notre objectif premier est de cultiver la confiance des transporteurs en leur présentant les chargements les plus pertinents. Même lorsque ces charges sont rares, nous préférons afficher moins de recommandations plutôt que d’encombrer l’espace avec des recommandations moins pertinentes. Dans nos tests hors ligne, les chargements sauvegardés ont toujours donné la plus grande précision, ce qui en fait un signal robuste. Les clics et les réservations présentent une précision relativement similaire et contribuent de manière significative au rappel. Nous donnons intentionnellement un coup de pouce supplémentaire aux candidats des charges sauvegardées grâce à leur performance de précision exceptionnellement élevée.

Étape n°2 : Ranker/Booster

Nous avons utilisé l’algorithme XGBoost pour classer les charges candidates générées à partir des sources mentionnées ci-dessus. L’algorithme utilise les caractéristiques de la charge, les personas des transporteurs établis dans le cadre de la recherche sur les utilisateurs et étayés par des données, ainsi que l’intersection entre les caractéristiques de la charge et les préférences des transporteurs comme caractéristiques. Il utilise ensuite l’étiquette indiquant si la charge a été réservée à des fins de formation 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 l’impact positif (rouge) ou négatif (bleu) sur la variable de résultat, et l’axe des x indique l’ampleur de l’impact. Ici, la variable de résultat est la probabilité de réservation. Temps d’avance 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 en fonction de la charge.

Importance des caractéristiques à l’aide des valeurs SHAP pour un échantillon de charge

Nous mettons l’accent sur les trois caractéristiques suivantes :

  • Délai d’enlèvement (« derived_lead_time »)
    délai_d’enlèvement_dérivé
    « ) : Sur le marché du fret, les chargements peuvent être considérés comme des denrées périssables, pour lesquelles il est crucial de les réserver à temps. Si un chargement n’est pas réservé avant l’enlèvement prévu, nous devons le reprogrammer, ce qui entraîne des relations tendues avec les expéditeurs. L’intégration du délai d’exécution dans l’algorithme nous permet de saisir la dynamique des transporteurs qui deviennent plus enclins à réserver à l’approche de l’heure d’enlèvement (parce que le prix augmente).
  • Réservation répétée (« derived_is_repeated »)
    derived_is_repeated
    « ) : De nombreux transporteurs privilégient la familiarité. La familiarité, c’est peut-être emprunter le même itinéraire et apprendre à connaître le meilleur restaurant le long de la route, ou se lier d’amitié avec les réceptionnaires de l’entrepôt et se faire décharger plus tôt. Pour simuler ce désir, nous avons développé une fonction de noyau exponentielle qui quantifie la similarité géographique entre une charge donnée et les réservations précédentes de l’utilisateur.
  • Distance (« 
    score_distance_dérivée »
    ) : Tout comme certaines personnes apprécient les longs voyages et d’autres préfèrent les courtes escapades, les transporteurs ont également des préférences en matière de distance. Nous avons pris en compte la longueur des trajets précédemment réservés par un transporteur pour en déduire sa préférence à cet égard. Un score de préférence a ensuite été attribué à chaque chargement candidat en fonction de sa longueur de transport.

Résultats : Une meilleure adéquation de la charge augmente les réservations

Nous avons testé notre nouveau système de recommandations à l’aide d’une expérience A/B au niveau de l’utilisateur, qui a donné des résultats positifs. Des améliorations ont été constatées tout au long de l’entonnoir de réservation du transporteur, 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.

Quelle est la prochaine étape ? Nous étudierons plusieurs itérations, de l’amélioration de l’expérience pour certains groupes d’utilisateurs à l’exploitation d’un plus grand nombre de sources de données pour générer des candidats au chargement. Avec ces changements, les transporteurs peuvent compter sur Uber Freight pour les aider à trouver le meilleur chargement possible compte tenu de leurs préférences, le plus efficacement possible. Voilà une fin heureuse.

Vous souhaitez en savoir plus sur la manière dont notre équipe utilise les algorithmes pilotés par 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).

 

The post Recommandations chez Uber Freight : Améliorer l’adéquation des chargements grâce à l’IA appeared first on Uber Freight.

]]>
Un coup d’œil sur le moteur d’IA qui permet d’arriver à l’heure https://www.uberfreight.com/fr/blog/un-coup-doeil-sur-le-moteur-dia-qui-permet-darriver-a-lheure/ Tue, 11 Jul 2023 21:48:21 +0000 https://www.uberfreight.com/blog/un-coup-doeil-sur-le-moteur-dia-qui-permet-darriver-a-lheure/ Par : Mudit Gupta, Sr. Data Scientist ; Mohit Gulla, Applied Scientist ; et Angelo Mancini, Applied Science Manager Mon chargement arrivera-t-il à temps ? Dans le secteur de la logistique, il est essentiel de comprendre quand un chargement est en retard pour atténuer les conséquences d’un mauvais service. En cas de préavis, Uber Freight...

The post Un coup d’œil sur le moteur d’IA qui permet d’arriver à l’heure appeared first on Uber Freight.

]]>
Par : Mudit Gupta, Sr. Data Scientist ; Mohit Gulla, Applied Scientist ; et Angelo Mancini, Applied Science Manager

Mon chargement arrivera-t-il à temps ?

Dans le secteur de la logistique, il est essentiel de comprendre quand un chargement est en retard pour atténuer les conséquences d’un mauvais service. En cas de préavis, Uber Freight peut travailler avec le transporteur et l’expéditeur pour atténuer l’impact d’une arrivée tardive. Cependant, les arrivées tardives sont souvent détectées trop tard pour que des ajustements puissent être effectués, ou ne sont pas détectées avant que l’heure du rendez-vous ne soit passée.

Chez Uber Freight, notre système de suivi est conçu pour fournir un service de la plus haute qualité aux expéditeurs. En combinant nos données de suivi internes avec notre compréhension approfondie de la logistique et notre expertise en matière d’apprentissage automatique, nous avons développé un système qui affine en permanence nos données sur les emplacements des installations et s’appuie sur ces données pour présenter à notre équipe opérationnelle des prévisions en temps réel sur les arrivées tardives.

Le problème et notre approche pour le résoudre

Pour prédire si un transporteur arrivera ou non à l’heure à une installation, il faut trois éléments clés : (1) la localisation de l’installation, (2) les géofences autour de l’installation que nous pouvons utiliser pour détecter quand un transporteur est arrivé ou parti d’une installation, et (3) un modèle qui peut prédire en temps réel l’arrivée tardive en fonction de la localisation d’un transporteur et de la localisation de l’installation. Comme nous le verrons dans l’exemple suivant, si l’un de ces composants tombe en panne, c’est tout le système qui s’écroule.

Figure 1 : Deux camions se dirigeant vers la même installation (épingle verte) génèrent différents types d’erreurs de suivi lorsque le système a une localisation inexacte de l’installation (le cercle marron, avec une géofence d’arrivée de 1,5 mile et une géofence de départ de 6 mile).

Dans le cas du camion vert, aucune géofence n’est déclenchée, ce qui signifie que, d’après le système, le transporteur n’est jamais arrivé à l’installation (même s’il est peut-être arrivé à l’heure). Dans le cas du camion marron, les deux géofences sont déclenchées <alors que le transporteur est en transit vers l’installation réelle, ce qui signifie que le système enregistrera à tort le transporteur comme étant arrivé à l’installation à la mauvaise heure, enregistrera le transporteur comme ayant passé très peu de temps dans l’installation (puisque le transporteur ne fait que passer, ce qui est connu sous le nom de « défaut de séjour »), et enregistrera le transporteur comme ayant quitté l’installation à l’heure erronée. Pour les deux camions, toute prévision d’arrivée tardive effectuée pendant qu’ils sont en transit ne serait pas fiable car le modèle ferait des prévisions en utilisant les données de l’enquête. <localisation incorrecte de l’installation.

Cet exemple motive l’approche que nous avons adoptée pour construire notre système de suivi : affiner les principes fondamentaux (localisation et géofences) afin de construire un modèle d’arrivée tardive de haute qualité. Tout au long du projet, nous avons exploité la grande quantité de données historiques de charge et de suivi dont nous disposions.

Étape 1 : Poser les bases avec Project Pinpoint

Obtenir des données de localisation pour les installations d’expédition semble simple, n’est-ce pas ? Après tout, ce sont les camions qui se déplacent, pas les installations. Malheureusement, ce n’est pas si simple. Lorsque nous avons examiné les données relatives à la localisation de nos installations au début de notre projet, nous avons constaté que les localisations que nous obtenions des sociétés de navigation GPS existantes étaient souvent incorrectes. Pour un échantillon de 500 des plus grandes installations de notre réseau, environ 40 % d’entre elles avaient une localisation GPS incorrecte, y compris 10 % des cas où la localisation de l’installation était erronée d’au moins 0,3 miles (très probablement cartographiée au centre du code postal de l’installation). Une erreur de 0,3 miles peut sembler insignifiante, mais pour ces installations, nos données indiquent qu’environ 24 % des chargements avaient des heures d’arrivée et de départ incorrectes enregistrées par le système.

Nous nous sommes tournés vers nos données internes de suivi GPS, que nous collectons par le biais de l’application mobile de transport Uber Freight pour des milliers d’expéditions quotidiennes. La figure 2 ci-dessous illustre notre approche.

Figure 2 : La localisation de l’installation dans le système (cercle rouge) est incorrecte ; la localisation correcte peut être identifiée en analysant l’emplacement des pings GPS des transporteurs visitant l’installation.

Cet exemple montre clairement que l’emplacement de l’installation du système est incorrect et que l’installation est en fait située près de la grappe de pings en haut à droite. Cependant, effectuer cette analyse manuellement pour chaque établissement n’est tout simplement pas faisable compte tenu de l’ampleur de notre réseau. Au lieu de cela, nous avons construit un modèle d’apprentissage automatique pour analyser nos données GPS historiques et identifier des groupes de pings associés à des installations. Pour garantir la précision de l’algorithme, nous avons ajouté des vérifications de bon sens, comme la distinction entre les signaux reçus des transporteurs qui se déplacent et ceux qui sont à l’arrêt, l’élimination des clusters associés aux aires de repos, aux arrêts de ravitaillement et à d’autres lieux parasites, et l’exclusion des signaux GPS des répartiteurs qui ne sont pas réellement en transit.

Après avoir nettoyé nos données historiques sur la localisation des installations, nous exécutons régulièrement l’algorithme Pinpoint pour nous assurer que la localisation de nos installations est toujours à jour et que nous identifions le plus rapidement possible les emplacements des nouvelles installations qui rejoignent notre réseau.

Étape 2 : Construire de meilleures géofences avec Project Lasso

Comme nous l’avons vu dans le premier exemple, le système de suivi automatisé d’Uber Freight (et de nombreux systèmes de suivi dans le secteur du fret) utilise des géofences pour déterminer l’heure d’arrivée et de départ d’un transporteur dans une installation. Plusieurs problèmes se posent lorsqu’on essaie de tracer de « bonnes » géofences :

  1. Les clôtures géographiques trop grandes peuvent entraîner des événements d’arrivée/départ inexacts, tandis que les clôtures trop petites peuvent manquer des arrivées et des départs réels.
  2. Il n’existe pas de rayon idéal pour une géofence, car la taille des installations varie considérablement : certaines installations sont de petits bâtiments individuels, tandis qu’un supermarché ou un grand centre de distribution peut avoir une adresse et un « emplacement » liés à un complexe de bâtiments et à un vaste parking, dont aucun ne représente le quai de chargement proprement dit.
  3. Si l’installation est partagée par plusieurs expéditeurs, il se peut que nous devions déplacer l’emplacement de la géofence pour nous concentrer sur la zone de l’installation concernée par le chargement suivi.

Pour relever ces défis, nous nous sommes à nouveau tournés vers nos données GPS internes de haute qualité. Dans le cadre du projet Lasso, nous avons mis au point un algorithme qui analyse des centaines de milliers de signaux GPS afin de créer automatiquement une géofence sur mesure pour nos installations. Alors que la géofence standard est un cercle d’un rayon de 1,5 mile, nous avons été en mesure de produire des géofences avec des rayons aussi petits que 0,1-0,3 miles autour de l’installation ou du quai de chargement à l’intérieur de l’installation. Les figures 3 et 4 ci-dessous montrent comment nous avons converti les données GPS en gènes pour une variété d’installations.

Figure 3 : (à gauche) pings GPS bruts pour les transporteurs visitant l’installation ; (à droite) localisation de l’installation et géofence automatiquement dérivée des pings GPS.

Figure 4 : Deux lieux et géofences différents identifiés dans la même installation, mais reliés à des expéditeurs différents.

Le projet Lasso a permis aux expéditeurs et aux transporteurs de gagner du temps en réduisant les litiges concernant les heures d’arrivée et de départ. Nous avons également constaté une réduction (relative) de 60 % de la fraction des charges présentant un type de comportement manifestement incorrect, c’est-à-dire des défauts de maintien dans lesquels un porteur semble avoir passé < 15 minutes entre l’arrivée et le départ, et les défauts de transit dans lesquels le transporteur semble avoir roulé à plus de 80 mph en moyenne entre deux arrêts. Ces améliorations nous donnent confiance dans les heures d’arrivée et de départ enregistrées dans notre système.

Figure 5 : Le projet Lasso a entraîné une réduction soutenue de 60 % (en termes relatifs) des taux de défauts de suivi après son lancement complet.

3 : Prévoir les arrivées tardives grâce à l’apprentissage automatique

Après avoir consolidé les fondations de notre système en corrigeant l’emplacement des installations et en établissant des géofences sur mesure, nous étions prêts à relever notre premier défi : fournir des prévisions d’arrivée tardive en temps réel et de haute qualité à grande échelle. Nous avons suivi un processus en quatre étapes :

  1. Nous avons utilisé les emplacements des installations et les géofences nouvellement corrigés pour < nettoyerrétroactivement nos données historiques afin de nous assurer que nous avons utilisé les données les plus précises possibles pour construire notre modèle.
  2. Nous avons ensuite classé les chargements historiques dans nos données afin de nous assurer que seuls les chargements pour lesquels nous disposions de données de suivi GPS de qualité suffisante étaient inclus, toujours pour aider le modèle à apprendre à partir des données de la plus haute qualité.
  3. Ensuite, nous avons enrichi les données disponibles pour le modèle ; en plus de la position d’un transporteur, nous avons inclus des informations telles que la direction du voyage du transporteur, sa vitesse, son rythme, etc. ainsi que ses performances historiques en matière de ponctualité.
  4. Enfin, nous avons formé et ajusté notre modèle à l’aide de notre plateforme interne de science des données, obtenant ainsi un modèle capable de prédire le risque d’arrivée tardive à partir de six heures avant la prise en charge.

Grâce à ces prévisions, notre équipe opérationnelle peut concentrer son attention sur les chargements susceptibles d’arriver en retard et prendre des mesures d’atténuation telles que contacter le transporteur pour s’assurer de sa présence, alerter l’expéditeur afin qu’il puisse prolonger ou reprogrammer le rendez-vous, ou réaffecter le chargement à un autre transporteur (ce que l’on appelle également « rebondir » le chargement). Depuis le lancement du modèle de probabilité d’arrivée tardive (PLA) en production, nous avons constaté une amélioration significative de notre capacité à signaler les chargements tardifs et à détecter les chargements rebondis.

Prochaines étapes

Nous considérons le projet d’apprentissage automatique des retards évoqué ici comme la première étape d’une feuille de route ambitieuse visant à améliorer les résultats en matière de service pour nos chargeurs. Nous travaillons activement sur un modèle d’estimation du temps d’arrivée (ETA) pour accompagner notre modèle PLA. La modélisation de l’heure d’arrivée prévue est omniprésente dans le domaine de la consommation et de la vente au détail (nous avons tous utilisé une application de navigation ou vu les heures d’arrivée prévues pour les livraisons de produits alimentaires), mais la prévision de l’heure d’arrivée prévue pour le fret pose des défis distincts. Par exemple, les trajets de transport de marchandises durent souvent beaucoup plus longtemps que les trajets de livraison de nourriture ou de covoiturage, traversent plusieurs zones géographiques avec des conditions de circulation et météorologiques différentes, et sont influencés à la fois par les réglementations sur les heures de service et par le comportement des transporteurs (par exemple, s’arrêter pour dormir, faire le plein de carburant, etc.)

Avec les modèles PLA et ETA en place, nous développerons des flux de travail automatisés « auto-réparateurs » afin d’améliorer encore le service pour nos expéditeurs. Par exemple, nous pouvons utiliser le modèle PLA pour signaler les chargements qui risquent d’arriver en retard à l’enlèvement, puis utiliser les modèles ETA et PLA pour identifier les transporteurs proches qui pourraient être en mesure d’enlever le chargement à temps, et enfin demander automatiquement aux transporteurs les plus prometteurs s’ils peuvent intervenir pour éviter un rendez-vous manqué. Nous nous appuyons également sur les bases développées dans le cadre du projet sur les arrivées tardives pour aller au-delà du suivi des chargements pour les expéditeurs. Par exemple, en utilisant les heures d’arrivée et de départ améliorées générées par les projets Pinpoint et Lasso, nous avons produit des estimations beaucoup plus précises du temps d’attente des transporteurs dans les installations (« temps de séjour ») et nous avons combiné ces estimations avec nos données internes d’évaluation des transporteurs pour quantifier l’impact d’installations de chargeurs mal exploitées sur la satisfaction des transporteurs et, en fin de compte, sur les coûts des chargeurs.

The post Un coup d’œil sur le moteur d’IA qui permet d’arriver à l’heure appeared first on Uber Freight.

]]>