Tecnología/AI Archives - Uber Freight Thu, 23 May 2024 21:11:54 +0000 es hourly 1 https://wordpress.org/?v=6.5.3 https://www.uberfreight.com/wp-content/uploads/2023/09/cropped-uf-logo-512-32x32.png Tecnología/AI Archives - Uber Freight 32 32 Reimaginar el algoritmo de precios de Uber Freight para obtener mejores resultados https://www.uberfreight.com/es/blog/reimaginar-el-algoritmo-de-precios-de-uber-freight-para-obtener-mejores-resultados/ Fri, 08 Dec 2023 13:30:25 +0000 https://www.uberfreight.com/blog/reimaginar-el-algoritmo-de-precios-de-uber-freight-para-obtener-mejores-resultados/ Por: Kenneth Chong (Científico Aplicado Sr.), Joon Ro (Científico Aplicado Sr.), Emir Poyraz (Ingeniero Sr.) y May Wu (Directora de Ciencias Aplicadas) Un giro innovador a un algoritmo clásico Uber Freight opera un mercado de dos caras, que interactúa por separado con cargadores (que buscan mover cargas del punto A al punto B) y con...

The post Reimaginar el algoritmo de precios de Uber Freight para obtener mejores resultados appeared first on Uber Freight.

]]>
Por: Kenneth Chong (Científico Aplicado Sr.), Joon Ro (Científico Aplicado Sr.), Emir Poyraz (Ingeniero Sr.) y May Wu (Directora de Ciencias Aplicadas)

Un giro innovador a un algoritmo clásico

Uber Freight opera un mercado de dos caras, que interactúa por separado con cargadores (que buscan mover cargas del punto A al punto B) y con los transportistas (camioneros que trasladan estas cargas). Ambos lados de este mercado funcionan con algoritmos de precios dinámicos. Cada una de ellas está estructurada de forma diferente en función de las necesidades de cada mercado.

Recientemente, nuestro equipo identificó la necesidad de cambiar el algoritmo que dicta los precios de los transportistas. El algoritmo genera una tarifa en función de diversos factores, como las condiciones del mercado, el tamaño de la carga, la distancia que hay que recorrer para moverla, etcétera. Hasta ahora, utilizábamos un algoritmo basado en procesos de decisión de Markov (MDP) para fijar los precios de los transportistas (véase este entrada anterior del blog para una descripción completa de cómo funciona el modelo MDP) porque es natural para nuestro problema: necesitamos tomar decisiones de fijación de precios secuencialmente a lo largo del tiempo. Sin embargo, con el tiempo nos dimos cuenta de que, aunque el algoritmo era eficaz, tenía deficiencias que resultaban difíciles de solucionar con una implementación MDP estándar.

Los superamos:

1) Truncar la inducción hacia atrás

2) Recurrir en mayor medida al aprendizaje automático para aproximar la función de valor.

3) Desarrollar un nuevo algoritmo de agrupación para identificar cargas «similares» que puedan ser útiles para estimar el coste: combinar de forma creativa la optimización y el ML para desarrollar lo que creemos que es una versión más robusta del MDP.

MDP es una elección natural de algoritmo, pero su implementación es un reto

Para ilustrar brevemente el problema de la fijación de precios del transportista, supongamos que nos hemos comprometido con el cargador a transportar una carga desde Chicago (Illinois) a Dallas (Texas). La cita de recogida comienza exactamente dentro de 5 días: en otras palabras, el plazo de entrega
T
es de 120 horas. Como resulta más difícil encontrar transportistas con menos antelación, los precios tienden a aumentar a medida que disminuye el plazo de entrega. Así pues, tenemos una secuencia de decisiones que tomar a lo largo del tiempo, que denominamos trayectoria de precios:

Figura 1: Ejemplo de trayectoria de precios en un plazo de 5 días

Dado que actualizamos los precios cada hora, esta trayectoria puede representarse como una secuencia {pt}t{T, T-1, …, 0}donde pt es el precio ofrecido t horas desde la recogida. El objetivo de nuestro algoritmo es elegir una trayectoria que minimice, en expectativa, el coste total para cubrir la carga. Denominamos a esta cantidad eCost:

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

donde Bt = 1 si carga
i
está reservada en el ciclo de fabricación
t
(0 en caso contrario), y St denota variables de estado (posiblemente variables en el tiempo) distintas del precio que pueden afectar a la probabilidad de reserva. Esta cantidad suele aumentar a medida que pasa el tiempo y la carga sigue sin reservarse.

Con MDP, calcular el eCost implica resolver la ecuación de Bellman

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

Las cantidades {Vt} son directamente interpretables como eCost, condicionados a nuestra política de precios. Sin embargo, un elemento crucial de la MDP es la estimación precisa de las probabilidades de reserva. Pr(Bt=1 | pt , St). Aunque el modelo ML que utilizamos para ello funciona bien, los errores pueden acumularse con el tiempo. Esto significa que nos volvemos vulnerables a la la maldición del optimizadorque afirma que, en presencia de ruido, es probable que las estimaciones de los costes totales asociados a la decisión óptima estén infravaloradas. Esto, a su vez, conduce a precios más bajos y excesivamente optimistas que tienden a disminuir aún más con plazos de entrega más largos.

Además, la
maldición de la dimensionalidad
presenta retos importantes a la hora de modelar transiciones de estado más complejas. Por ejemplo, la incorporación de características en tiempo casi real (NRT), como la actividad de la aplicación, a nuestros precios implica añadirlas a las variables de estado, lo que rápidamente hace que nuestro problema sea inviable desde el punto de vista computacional.

Nuestro enfoque: una cuidadosa combinación de predicción y optimización

Para mejorar la precisión de los precios, exploramos el uso de un modelo predictivo, en lugar de una inducción hacia atrás estándar, para estimar el eCost. En concreto, realizamos K ≤ T etapas de inducción hacia atrás, y si la carga sigue sin reservarse después de K horas, sustituimos por el valor de continuación VT-K una predicción de este modelo. En este caso, las ecuaciones de Bellman se convierten en:

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

con la condición de contorno
V
T-K
=eCos
t
T-K
.

Figura 2: Ilustración de la toma de decisiones secuencial en MDP

Elegir un valor adecuado para
K
requirió alguna iteración, pero esta inducción hacia atrás truncada ayuda a mitigar cada uno de los problemas que destacamos anteriormente.

Un candidato inicial para este modelo predictivo era un conjunto XGBoost que ya habíamos utilizado anteriormente en la fijación de precios de las aerolíneas. Los datos de entrenamiento consistían en cargas históricas, sus características (que describimos con más detalle a continuación), los plazos en los que se reservaron, así como sus costes realizados.

Sin embargo, las predicciones generadas por este modelo no eran adecuadas para estimar el eCost por dos razones.

  1. Hay que hacer una distinción importante entre la carga
    restante
    de una carga y su
    disponible
    plazo de entrega. Aunque incluiríamos los primeros en el vector de características en el momento de servir, existen patrones sistemáticos en los segundos. Es decir, cargas similares tienden a estar disponibles en determinados plazos. Por ejemplo, los trayectos más largos suelen estar disponibles en plazos más largos que los cortos. Así, tendríamos concentraciones de puntos de datos en torno a determinados plazos disponibles, lo que haría menos fiables las predicciones en otros plazos.
  2. Los datos de entrenamiento consistían únicamente en resultados -las realizaciones de variables aleatorias, en lugar de sus expectativas-, por lo que las predicciones de este modelo tampoco podían interpretarse como un eCost. No estaba claro cómo modificar el conjunto de entrenamiento para que las predicciones del modelo XGBoost pudieran tratarse como expectativas.

En lugar de intentar predecir el eCost directamente, tomamos prestados los principios de la agrupación para encontrar un conjunto de cargas que sean similares a la que se va a tarificar, y tomamos una media ponderada de sus costes totales. Con este enfoque, los plazos de entrega restantes pueden incorporarse explícitamente al eCost: podemos excluir, del conjunto de cargas similares, las que se reservaron antes del plazo de entrega restante de la carga actual. Además, cada una de las cargas similares identificadas puede considerarse como un resultado potencial de la carga actual, al que se asignan probabilidades iguales a las ponderaciones utilizadas en la promediación.

El principal reto aquí es desarrollar una forma de medir la similitud entre las cargas, que describimos con una serie de atributos:

  • Ubicación de las instalaciones de recogida y entrega
  • Hora del día, día de la semana en que está prevista la recogida o entrega de la carga
  • Condiciones del mercado en la fecha prevista para el traslado de la carga

Hay una mezcla de características continuas y categóricas, y no está nada claro cómo deben ponderarse entre sí a la hora de calcular la similitud.

…con un algoritmo de agrupación poco convencional

Hemos desarrollado un nuevo algoritmo en el que se utiliza nuestro modelo XGBoost antes mencionado para realizar la agrupación. Consideremos el caso simple en el que nuestro modelo es un único árbol de decisión (poco profundo) con una única característica: la distancia de conducción. Podríamos obtener un árbol como el siguiente:

Figura 3: Ilustración de un único árbol de decisión para la agrupación

Dos cargas pueden considerarse «similares» si sus predicciones se realizan desde el mismo nodo hoja. En el caso del nodo hoja nº 6, sabemos que sus distancias de ruta están ambas entre 282 y 458 millas.

Puede parecer una forma burda de medir la similitud, pero al hacer crecer árboles de decisión más profundos e incorporar más características, exigimos que las dos cargas tengan valores comparables en una serie de dimensiones para considerarlas «similares». Podemos diferenciarnos aún más cultivando árboles adicionales. En pocas palabras, asociamos a cada carga un vector de incrustación, formado por nonzeros en ubicaciones que coinciden con los nodos hoja en los que cae la carga. Medimos la similitud entre cargas a través de la similitud coseno de sus incrustaciones, que está directamente relacionada con el número de árboles en los que ambas tienen nodos hoja comunes.

Precios más asequibles y mejores resultados en las reservas

Dados los cambios bastante sustanciales que introdujimos en el algoritmo, realizamos un despliegue en dos fases principales. En primer lugar, incorporamos eCost a los algoritmos que utilizamos en los canales de reserva secundarios, y realizamos una prueba A/B para asegurarnos de que no disminuyera el rendimiento. En segundo lugar, realizamos un experimento de conmutación comparándolo con la versión anterior de MDP. El efecto neto de estos dos experimentos fue una reducción estadísticamente significativa del coste total de la cobertura de cargas, sin ningún impacto negativo en las métricas secundarias. Lo atribuimos a las trayectorias de precios más suaves generadas por el nuevo algoritmo, que hace que las cargas se reserven antes en sus ciclos de vida. Esto es especialmente relevante, ya que los costes tienden a aumentar bruscamente una vez que los plazos de entrega caen por debajo de las 24 horas.

Con el despliegue de este nuevo algoritmo llegan una serie de beneficios secundarios. La reserva anticipada de cargas, debida a trayectorias de precios más suaves, no sólo reduce los costes, sino que es crucial para evitar los bruscos aumentos de costes asociados a plazos de entrega más cortos. La reducción del coste total para cubrir las cargas nos permite ofrecer precios más competitivos a los cargadores, lo que, a su vez, aumenta el volumen. Además, las trayectorias de precios más planas podrían llevar a los transportistas a comprobar las cargas en la aplicación antes en sus ciclos de vida. Más allá de estas ventajas comerciales, el algoritmo también ha contribuido a reducir la deuda técnica al unificar los precios en todos los canales de reserva, así como al eliminar componentes no esenciales utilizados en la anterior implementación de MDP.

Aunque creemos que hay áreas en las que se puede seguir mejorando, este nuevo algoritmo de fijación de precios proporciona un modelo de cómo se puede aplicar la MDP a nuevos casos de uso dentro de Uber Freight.

*Dado que también estamos utilizando eCost como una especie de aproximador de la función de valor, el problema que resolvemos ahora comparte algunas similitudes con un
programa dinámico aproximado
.

The post Reimaginar el algoritmo de precios de Uber Freight para obtener mejores resultados appeared first on Uber Freight.

]]>
Recomendaciones en Uber Freight: Conseguir un mejor emparejamiento de cargas con IA https://www.uberfreight.com/es/blog/recomendaciones-en-uber-freight-conseguir-un-mejor-emparejamiento-de-cargas-con-ia/ Sun, 24 Sep 2023 19:14:29 +0000 https://www.uberfreight.com/blog/recomendaciones-en-uber-freight-conseguir-un-mejor-emparejamiento-de-cargas-con-ia/ Por: Ran Sun, Sr. Director de Producto, Jia Wang, Sr. Ingeniero de aprendizaje automático, Gowtham Suresh, Sr. Científico aplicado Problema: cómo relacionar las cargas de los expedidores con los transportistas interesados Se podría pensar en el negocio de intermediación digital de Uber Freight como una plataforma de citas en línea. Al igual que las citas...

The post Recomendaciones en Uber Freight: Conseguir un mejor emparejamiento de cargas con IA appeared first on Uber Freight.

]]>
Por: Ran Sun, Sr. Director de Producto, Jia Wang, Sr. Ingeniero de aprendizaje automático, Gowtham Suresh, Sr. Científico aplicado

Problema: cómo relacionar las cargas de los expedidores con los transportistas interesados

Se podría pensar en el negocio de intermediación digital de Uber Freight como una plataforma de citas en línea. Al igual que las citas en línea buscan emparejar a las personas, el corretaje pretende emparejar las cargas de los cargadores con los transportistas dispuestos a aceptarlas. En concreto, los cargadores recurren a nosotros para llegar a una base de transportistas más amplia de la que tienen acceso. Esto no sólo maximiza su potencial para lograr los mejores resultados posibles en cuanto a costes y servicios, sino que además ambas partes pueden confiar en nuestra experiencia y tecnología en la gestión del ciclo de vida de la carga descendente.

Para encontrar ese verdadero amor carga, podríamos pedir al transportista que especifique sus preferencias a través de la búsqueda: ¿eres una persona hogareña, por lo que necesitas una ruta recurrente que te lleve a casa, o tienes una vena viajera y estás dispuesto a conducir por cualquier ruta? Pero la gente no siempre puede articular lo que quiere, ni lo mucho que importan esos deseos.

Este matiz fue el impulso para lanzar un sistema de recomendaciones en Uber Freight. Hasta ahora habíamos hecho recaer sobre los transportistas la carga de decirnos lo que quieren a través de la búsqueda, pero ésta es tediosa, los transportistas tienen múltiples intenciones de búsqueda y no siempre hacen explícitas sus preferencias. Al permitir un proceso de descubrimiento automatizado, podemos dar servicio a las cargas de forma más eficaz y rentable. Esto genera confianza con los cargadores y aumenta la cantidad de carga que ofrecen a nuestra plataforma, lo que beneficia a los transportistas, dándoles más opciones para encontrar la carga perfecta. Un mayor volumen de carga atrae a más transportistas a la plataforma, lo que aumenta la capacidad de los cargadores para licitar su carga de forma eficaz y rentable. En resumen, un sistema de recomendaciones es una forma de activar la rueda volante del corretaje, echando una mano a cargadores y transportistas haciendo de casamenteros.

El volante de corretaje. Las recomendaciones son un componente de una red automatizada e instantánea y facilitan una mejor utilización del operador.

¿Qué es la igualación de cargas?

Antes de adentrarnos en nuestra solución, dediquemos un momento a definir mejor la correspondencia de cargas. En una red perfectamente optimizadaseríamos capaces de asignar la carga exacta al transportista exacto en todo el país. Sin embargo, las capacidades y preferencias del transportista complican la adecuación de la carga, al igual que los requisitos de la misma, como el tipo de carga, la distancia a recorrer y el plazo de entrega. Nuestro sistema de recomendaciones juzga el grado de adecuación que puede existir entre un transportista y una carga para ofrecer las mejores combinaciones.

¿Cuál es la diferencia entre adaptación de carga y adaptación digital de carga (DFM)?

La adaptación de la carga y el DFM son conceptos estrechamente relacionados. Load matching es el término más amplio; se refiere al proceso de conectar cargadores con transportistas para utilizar eficientemente la capacidad de transporte. El cotejo de cargas puede hacerse de forma digital o no digital (por ejemplo, mediante llamadas telefónicas o relaciones personales). DFM se refiere específicamente a la adaptación de la carga mediante métodos digitales. Permite conocer en tiempo real las necesidades de la red y la capacidad del operador, reduciendo la necesidad de intervención manual.

Solución: Un sistema de recomendaciones

Nuestra hipótesis era que, sustituyendo la página de búsqueda por defecto por una página de recomendaciones, podríamos alejar a los portadores de un modelo de búsqueda de «pesca submarina» y acercarlos a una experiencia de descubrimiento en la que encontrarían cargas que ni siquiera pensaban buscar. Tanto el diseño de la experiencia del usuario como el propio algoritmo fueron fundamentales para el éxito de este producto. En este post, profundizaremos en el algoritmo.

Nuestro sistema de recomendaciones prioriza la conversión y el compromiso, similar a los desplegados en el sector del comercio electrónico. Hay dos componentes: la generación de candidatos y el clasificador/reforzador.

Paso nº 1: Generación de candidatos

Inicialmente queríamos utilizar el filtrado colaborativo para generar cargas candidatas a recomendar. El filtrado colaborativo examina a los usuarios con un comportamiento similar para deducir las preferencias del usuario en cuestión, de forma parecida a cómo su servicio de streaming favorito aprovecha los datos de los usuarios para recomendar contenidos. Sin embargo, emplear esta técnica utilizando las reservas de carga como unidad de similitud presenta dificultades, ya que las reservas de carga son exclusivas. En el contexto del servicio de streaming, a dos usuarios les puede gustar la misma película. En nuestro contexto, dos usuarios
no puede
reservar la misma carga.

Para eludir este problema, probamos métodos como buscar en
carril
reservas y cargas guardadas como señales positivas. (Las reservas de carril son cargas múltiples reservadas en la misma ruta geográfica, por ejemplo, de San Francisco a Los Ángeles). Ambos no adolecen de exclusividad. Sin embargo, la viabilidad de estos enfoques se vio truncada por la escasez de datos.

En última instancia, utilizamos varias señales de interés de los transportistas para generar candidatos a recomendación de carga:

  • Cargas guardadas
  • Clic en cargas
  • Cargas similares a las reservas anteriores
  • Cargas que llevan los transportistas a su dirección de facturación como sustituto del domicilio
  • Búsquedas realizadas en los sitios de nuestros proveedores asociados

Comparación de precisión y recuperación para distintos tipos de generación de candidatos

El gráfico anterior representa la precisión y la recuperación considerando las 20 cargas mejor clasificadas de cada uno de los tipos de generación candidatos. La precisión mide cuántas de las recomendaciones se reservaron realmente, mientras que el recuerdo comprueba qué proporción de reservas se recomendaron. Normalmente, damos prioridad a la precisión sobre el recuerdo cuando se trata de recomendaciones, ya que es una evaluación directa de la relevancia. Nuestro principal objetivo es cultivar la confianza entre los transportistas presentándoles las cargas más pertinentes. Incluso cuando esas cargas son escasas, nos inclinamos por mostrar menos recomendaciones en lugar de saturar el espacio con otras menos relevantes. En nuestras pruebas fuera de línea, las cargas guardadas arrojaron sistemáticamente la mayor precisión, lo que las convierte en una señal sólida. Los clics y las reservas presentan una precisión relativamente similar y contribuyen significativamente al recuerdo. Proporcionamos intencionadamente un impulso adicional a los candidatos de cargas guardadas gracias a su rendimiento de precisión excepcionalmente alto.

Paso nº 2: Posicionador/Booster

Utilizamos el algoritmo XGBoost para ordenar las cargas candidatas generadas a partir de las fuentes mencionadas. El algoritmo utiliza como características las características de la carga, los personajes de los transportistas establecidos en la investigación de usuarios y corroborados mediante datos, y la intersección entre las características de la carga y las preferencias de los transportistas. A continuación, utiliza la etiqueta de si la carga estaba reservada para fines de formación y predicción.

A continuación se muestran los valores SHAP de las 3 características principales de una carga candidata de muestra. El orden de las características ilustra su importancia, el color indica el impacto positivo (rojo) o negativo (azul) en la variable de resultado y el eje x indica la magnitud del impacto. En este caso, la variable de resultado es la probabilidad de reserva. Tiempo_derivado es la característica más importante para determinar la probabilidad de reserva. El plazo de entrega de esta muestra indica una baja probabilidad de reserva. Tenga en cuenta que el orden de importancia de las características y su magnitud varían según la carga.

Importancia de las características a partir de los valores SHAP de una carga de muestra

Destacamos tres características fundamentales:

  • Plazo de recogida («
    plazo_de_recogida_derivado
    «): En el mercado del transporte de mercancías, las cargas se asemejan a los productos perecederos, por lo que es fundamental reservarlas a tiempo. Si una carga se queda sin reservar antes de su recogida programada, tenemos que reprogramar la carga, lo que provoca tensiones en las relaciones con los transportistas. La incorporación del plazo de entrega como característica del algoritmo nos permite captar la dinámica de que los transportistas se inclinan más por reservar a medida que se acerca la hora de recogida (porque el precio sube).
  • Reserva de repetición («
    derivado_es_repetido
    «): Muchos transportistas dan prioridad a la familiaridad. Tal vez la familiaridad signifique conducir por la misma ruta y conocer el mejor restaurante del trayecto, o hacerse amigo de los receptores del almacén y descargar antes. Para simular este deseo, desarrollamos una función de núcleo exponencial que cuantifica la similitud geográfica entre una carga determinada y las reservas anteriores del usuario.
  • Distancia («
    puntuación_distancia_derivada»
    ): Al igual que algunas personas disfrutan con los viajes largos y otras prefieren las escapadas cortas, los transportistas también tienen inclinaciones por la distancia. Tuvimos en cuenta las longitudes de trayecto reservadas anteriormente por un transportista para deducir su preferencia a este respecto. A continuación, se asignó una puntuación de preferencia a cada carga candidata en función de su longitud de acarreo.

Resultados: Una mejor correspondencia de cargas aumenta las reservas

Probamos nuestro nuevo sistema de recomendaciones con un experimento A/B a nivel de usuario, con resultados positivos. Las mejoras se produjeron a lo largo de todo el embudo de reservas de las aerolíneas, sobre todo un aumento del 12% en las reservas de los usuarios activos y un incremento global del 3% en las reservas y del 5% en los clics.

¿Y ahora qué? Investigaremos varias iteraciones, desde la mejora de la experiencia para determinados grupos de usuarios hasta el aprovechamiento de más fuentes de datos en la generación de candidatos de carga. Con estos cambios, los transportistas pueden confiar en Uber Freight para ayudarles a encontrar la mejor carga posible dadas sus preferencias, de la forma más eficiente posible. Eso sí que es un final feliz.

¿Le interesa saber más sobre cómo nuestro equipo utiliza algoritmos basados en IA para mejorar la logística de cargadores y transportistas? Conozca nuestro modelo de probabilidad de llegada tardía (PLA).

 

The post Recomendaciones en Uber Freight: Conseguir un mejor emparejamiento de cargas con IA appeared first on Uber Freight.

]]>
Un vistazo al motor de inteligencia artificial de las llegadas puntuales https://www.uberfreight.com/es/blog/un-vistazo-al-motor-de-inteligencia-artificial-de-las-llegadas-puntuales/ Tue, 11 Jul 2023 21:48:21 +0000 https://www.uberfreight.com/blog/un-vistazo-al-motor-de-inteligencia-artificial-de-las-llegadas-puntuales/ Por: Mudit Gupta, Sr. Científico de Datos; Mohit Gulla, Científico Aplicado; y Angelo Mancini, Director de Ciencia Aplicada. ¿Llegará mi carga a tiempo? En el sector logístico, saber cuándo una carga se retrasa es fundamental para mitigar los malos resultados del servicio. Previo aviso, Uber Freight puede trabajar con el transportista y el expedidor para...

The post Un vistazo al motor de inteligencia artificial de las llegadas puntuales appeared first on Uber Freight.

]]>
Por: Mudit Gupta, Sr. Científico de Datos; Mohit Gulla, Científico Aplicado; y Angelo Mancini, Director de Ciencia Aplicada.

¿Llegará mi carga a tiempo?

En el sector logístico, saber cuándo una carga se retrasa es fundamental para mitigar los malos resultados del servicio. Previo aviso, Uber Freight puede trabajar con el transportista y el expedidor para mitigar el impacto de una llegada tardía. Sin embargo, las llegadas tardías suelen detectarse demasiado tarde para poder realizar ajustes, o no se detectan hasta que la hora de la cita ya ha pasado.

En Uber Freight, nuestro sistema de seguimiento está diseñado para proporcionar un servicio de la más alta calidad a los transportistas. Combinando nuestros datos internos de seguimiento con nuestro profundo conocimiento de la logística y nuestra experiencia en aprendizaje automático, hemos desarrollado un sistema que refina continuamente nuestros datos sobre la ubicación de las instalaciones y se basa en ellos para ofrecer a nuestro equipo de operaciones predicciones en tiempo real sobre las llegadas tardías.

El problema y nuestro planteamiento para resolverlo

En esencia, para predecir si un transportista llegará o no a tiempo a una instalación se necesitan tres ingredientes clave: (1) la ubicación de la instalación, (2) geocercas alrededor de la instalación que podamos utilizar para detectar cuándo un transportista ha llegado o salido de una instalación, y (3) un modelo que pueda hacer predicciones en tiempo real de la llegada tardía dada la ubicación de un transportista y la ubicación de la instalación. Como veremos en el siguiente ejemplo, si falla alguno de estos componentes, todo el sistema se viene abajo.

Figura 1: Dos camiones que se dirigen a la misma instalación (chincheta verde) generan distintos tipos de errores de seguimiento cuando el sistema tiene una ubicación imprecisa de la instalación (el círculo marrón, con geovalla de llegada de 1,5 millas y geovalla de salida de 6 millas).

En el caso del camión verde, no se activa ninguna de las dos geocercas, lo que significa que, según el sistema, el transportista nunca llegó a las instalaciones (aunque es posible que llegara a tiempo). En el caso del camión marrón, se activan ambas geocercas <mientras que el transportista está en tránsito hacia la instalación real, lo que significa que el sistema registrará incorrectamente que el transportista ha llegado a la instalación a una hora incorrecta, registrará que el transportista ha pasado muy poco tiempo en la instalación (dado que el transportista realmente sólo está conduciendo, esto se conoce como «defecto de permanencia»), y registrará que el transportista ha abandonado la instalación a una hora incorrecta. Para ambos camiones, cualquier predicción de llegada tardía realizada mientras estaban en tránsito no sería fiable, ya que el modelo estaría haciendo predicciones utilizando la <ubicación incorrecta de las instalaciones.

Este ejemplo motiva el planteamiento que adoptamos para construir nuestro sistema de seguimiento: perfeccionar los fundamentos (localización y geocercas) para construir un modelo de llegada tardía de alta calidad. A lo largo del proyecto, aprovechamos la gran cantidad de datos históricos de carga y seguimiento de que disponíamos.

Paso 1: Sentar las bases con Project Pinpoint

Obtener datos de localización de las instalaciones de transporte parece sencillo, ¿verdad? Al fin y al cabo, son los camiones los que se mueven, no las instalaciones. Por desgracia, no es tan sencillo. Cuando revisamos los datos de ubicación de nuestras instalaciones al principio de nuestro proyecto, descubrimos que las ubicaciones que habíamos estado obteniendo de las empresas de navegación GPS heredadas eran con frecuencia incorrectas. En una muestra de 500 de las mayores instalaciones de nuestra red, aproximadamente el 40% tenían una ubicación GPS incorrecta, incluido un 10% de casos en los que la ubicación de la instalación estaba desviada en al menos 0,3 millas (lo más probable es que se correspondiera con el centro del código postal de la instalación). 0,3 millas puede no parecer un error considerable, pero para estas instalaciones, nuestros datos indicaron que ~24% de las cargas tenían horas de llegada/salida incorrectas registradas por el sistema.

Recurrimos a nuestros datos internos de seguimiento por GPS, que recopilamos a través de la aplicación móvil de transporte Uber Freight para miles de envíos diarios. La figura 2 ilustra nuestro planteamiento.

Figura 2: La ubicación de la instalación en el sistema (círculo rojo) es incorrecta; la ubicación correcta puede identificarse analizando la localización de los GPS de los transportistas que visitan la instalación.

De este ejemplo se desprende claramente que la ubicación de las instalaciones del sistema es incorrecta y que, en realidad, las instalaciones se encuentran cerca del grupo de pings de la parte superior derecha. Sin embargo, hacer este análisis manualmente para cada instalación simplemente no es factible dada la escala de nuestra red. En su lugar, creamos un modelo de aprendizaje automático para analizar nuestros datos GPS históricos e identificar grupos de pings asociados a instalaciones. Para garantizar la precisión del algoritmo, añadimos comprobaciones de sentido común, como distinguir entre los pings recibidos de transportistas que estaban en movimiento y los que estaban en reposo; descartar los grupos asociados a paradas de descanso, paradas para repostar y otras ubicaciones espurias; y descartar las señales GPS de los expedidores que no estaban realmente en tránsito.

Tras limpiar nuestros datos históricos de localización de instalaciones, ahora ejecutamos el algoritmo Pinpoint de forma recurrente para asegurarnos de que la localización de nuestras instalaciones está siempre actualizada y de que identificamos lo antes posible las ubicaciones de las nuevas instalaciones que se incorporan a nuestra red.

Paso 2: Crear mejores geocercas con Project Lasso

Como comentamos en el primer ejemplo, el sistema de seguimiento automatizado de Uber Freight (y muchos sistemas de seguimiento del sector del transporte de mercancías) utiliza geocercas para determinar la hora a la que un transportista llega a una instalación y sale de ella. Existen varios retos a la hora de trazar «buenas» geocercas:

  1. Las geocercas demasiado grandes pueden dar lugar a eventos de llegada/salida imprecisos, mientras que las demasiado pequeñas pueden pasar por alto llegadas y salidas reales.
  2. No existe un único radio óptimo para una geo-valla, ya que las instalaciones varían mucho en tamaño: algunas instalaciones son pequeñas/de un solo edificio, mientras que una gran superficie o un gran centro de distribución podrían tener una dirección y una «ubicación» vinculadas a un complejo de edificios y un amplio aparcamiento, ninguno de los cuales representa el muelle de carga real.
  3. Si la instalación es compartida por varios transportistas, es posible que tengamos que cambiar la ubicación de la geo-valla para centrarnos en la zona de la instalación relevante para la carga que se está rastreando.

Para hacer frente a estos retos, volvimos a recurrir a nuestros datos GPS internos de alta calidad. En el Proyecto Lasso desarrollamos un algoritmo que analiza cientos de miles de señales GPS para crear automáticamente geovallas a medida para nuestras instalaciones. Mientras que la geo-valla estándar es un círculo con un radio de 1,5 millas, hemos sido capaces de producir geo-vallas con radios tan pequeños como 0,1-0,3 millas alrededor de la instalación o del muelle de carga dentro de la instalación. Las figuras 3 y 4 muestran cómo convertimos los datos GPS en genfeces para diversas instalaciones.

Figura 3: (Izquierda) Pings GPS brutos de los transportistas que visitan la instalación; (Derecha) Ubicación de la instalación y geovalla derivada automáticamente de los pings GPS.

Figura 4: Dos ubicaciones y geocercas diferentes identificadas en la misma instalación pero conectadas a distintos expedidores.

El proyecto Lasso ha ayudado a cargadores y transportistas a ahorrar tiempo reduciendo las disputas sobre las horas de llegada y salida. También hemos observado una reducción (relativa) del 60% en la fracción de cargas que presentan algún tipo de comportamiento obviamente incorrecto, es decir, defectos de permanencia en los que un portador parece haber pasado < 15 minutos entre la llegada y la salida, y defectos de tránsito en los que el transportista parece haber viajado a más de 80 mph de media entre dos paradas. Estas mejoras nos dan confianza en las horas de llegada y salida registradas en nuestro sistema.

Figura 5: El proyecto Lasso consiguió una reducción sostenida del 60% (relativo) en las tasas de defectos de seguimiento tras su lanzamiento completo.

3: Predicción de llegadas tardías mediante aprendizaje automático

Tras afianzar los cimientos de nuestro sistema corrigiendo las ubicaciones de las instalaciones y construyendo geocercas a medida, estábamos listos para afrontar nuestro reto original: proporcionar predicciones de llegada tardía de alta calidad y en tiempo real a escala. Seguimos un proceso de cuatro pasos:

  1. Utilizamos las ubicaciones de las instalaciones y las geocercas recién corregidas para < limpiarretroactivamente nuestros datos históricos y asegurarnos de que utilizábamos los datos más precisos posibles para construir nuestro modelo.
  2. A continuación, seleccionamos las cargas históricas de nuestros datos para asegurarnos de que sólo se incluían las cargas para las que disponíamos de datos de seguimiento por GPS de calidad suficientemente alta, de nuevo para ayudar al modelo a aprender de los datos de mayor calidad.
  3. A continuación, enriquecimos los datos disponibles para el modelo; además de la posición de un transportista, incluimos información como el sentido de la marcha, la velocidad, el ritmo, etc., así como su historial de puntualidad.
  4. Por último, entrenamos y ajustamos nuestro modelo utilizando nuestra plataforma interna de ciencia de datos, obteniendo un modelo que podía predecir el riesgo de retraso a partir de seis horas antes de la recogida.

Con estas predicciones en la mano, nuestro equipo de operaciones puede centrar su atención en las cargas que es probable que lleguen tarde y tomar medidas paliativas, como ponerse en contacto con el transportista para comprobar la llegada, alertar al expedidor para que pueda ampliar o reprogramar la cita, o reasignar la carga a un transportista diferente (también conocido como «rebotar» la carga). Desde el lanzamiento del modelo de probabilidad de llegada tardía (PLA) en producción, hemos observado una mejora significativa tanto en nuestra capacidad para marcar cargas tardías como para detectar cargas rebotadas.

Próximos pasos

Consideramos que el proyecto de aprendizaje automático de las llegadas tardías que aquí comentamos es el primer paso de una ambiciosa hoja de ruta para mejorar los resultados del servicio a nuestros transportistas. Estamos trabajando activamente en un modelo de tiempo estimado de llegada (ETA) para acompañar a nuestro modelo PLA. Los modelos de ETA son omnipresentes en el sector minorista y de consumo (todos hemos utilizado una aplicación de navegación o hemos visto ETA para entregas de comida), pero la predicción de ETA para el transporte de mercancías plantea retos distintos. Por ejemplo, los viajes de transporte de mercancías suelen durar mucho más que los de reparto de comida o viajes compartidos, atraviesan múltiples zonas geográficas con diferentes condiciones de tráfico y meteorológicas, y se ven afectados tanto por la normativa sobre horas de servicio como por el comportamiento de los transportistas (por ejemplo, paradas para dormir, repostar, etc.).

Una vez implantados los modelos PLA y ETA, desarrollaremos flujos de trabajo automatizados de «autorreparación» para mejorar aún más el servicio a nuestros expedidores. Por ejemplo, podemos utilizar el modelo PLA para marcar las cargas con riesgo de llegar tarde a la recogida, luego utilizar los modelos ETA y PLA para identificar qué transportistas cercanos podrían recoger la carga a tiempo y, por último, preguntar automáticamente a los transportistas más prometedores si pueden intervenir para evitar una cita perdida. También estamos aprovechando las bases desarrolladas en el proyecto de llegadas tardías para ir más allá del seguimiento a nivel de carga para los cargadores. Por ejemplo, gracias a la mejora de los tiempos de llegada y salida generada por los proyectos Pinpoint y Lasso, hemos elaborado estimaciones mucho más precisas del tiempo que los transportistas pasan esperando en las instalaciones («tiempo de permanencia») y las hemos combinado con nuestros datos internos de calificación de transportistas para cuantificar el impacto de las instalaciones de los cargadores mal gestionadas en la satisfacción de los transportistas y, en última instancia, en los costes de los cargadores.

The post Un vistazo al motor de inteligencia artificial de las llegadas puntuales appeared first on Uber Freight.

]]>