El Sistema de Recomendación en Lyft

Daniela Padilla
Lyft Engineering en Español
7 min readNov 27, 2023

Este artículo fue publicado originalmente el 3 de abril de 2023 en eng.lyft.com y fue traducido por Eleonora Sánchez.

Las recomendaciones juegan un papel importante en cómo Lyft entiende a sus pasajeros y permite personalizar las experiencias con la aplicación para una mayor mejor experiencia de usuario. Algunas veces, las recomendaciones también son balanceadas para gestionar el mercado, asegurando que hay un balance saludable entre la demanda de pasajeros y la oferta de conductores. Esto permite que las solicitudes de viajes sean completadas con resultados más deseables como emparejar pasajeros con el mejor conductor cercano.

Esta publicación se enfoca en el alcance y las metas del sistema de recomendación, y explora algunos de los cambios más recientes que el equipo de pasajeros ha realizado para servir mejor a los pasajeros de Lyft.

Introducción: Alcance del Sistema de Recomendación

El sistema de recomendación cubre las experiencias del usuario a lo largo de su viaje.

Módulo de un solo toque en la pantalla de inicio: Al abrir la aplicación, los pasajeros pueden saltarse toda el flujo de solicitud y pedir un viaje al tocar un botón. Esto está disponible para usuarios frecuentes que tengan un extenso historial de viajes con Lyft. El módulo es una adición conveniente a la pantalla de inicio y ahorra tiempo y energía para usuarios en apuros.

Clasificación y preselección en el selector de modo: Después de que el usuario elige su destino, la app presenta una lista catalogada de ofertas de productos basados en las preferencias del usuario y las condiciones actuales del mercado. Algunos aspectos visuales destacados también se muestran para ayudar a clarificar las compensaciones entre diferentes opciones. Por ejemplo, Lyft destaca los tipos de viaje “rápidos” y “más usuales” para permitir a los conductores tomar decisiones más rápidas y sencillas cuando evalúan sus opciones.

Ventas cruzadas post solicitud: Las condiciones del mercado son dinámicas, y el modo de disponibilidad, precios y ETA (tiempo estimado de llegada, en inglés “estimated time of arrival”) pueden cambiar muy rápido. En ciertas sesiones, estos cambios pueden ser capturados para beneficio de la experiencia de nuestros pasajeros en las ventas cruzadas post solicitud, donde un aviso momentáneo es introducido, detallando las opciones de mejora con un mejor tiempo estimado de llegada o precio.

Este blog se enfoca en su mayoría en el modo selector, para explicar cómo las categorías han evolucionado en los años pasados y han tocado brevemente las ventas cruzadas post solicitud.

¿Qué hace el sistema de recomendación?

Hace años, cuando las opciones eran limitadas, el modo lista estaba simplemente organizado por categorías de precio o tiempo estimado de llegada. Adicionalmente, en ciertas regiones, el modo lista era estático para observar el comportamiento del pasajero como una línea base.

En los últimos dos años, Lyft ha invertido en mejorar el modo de personalización de recomendaciones. Desde entonces, el sistema de recomendación ha demostrado que lleva a más resultados deseables comparados con el sistema estático, al resolver problemas en tres grandes áreas:

  • El reto de sobre-elección
  • El problema de inicio frío para nuevos modos
  • Negocios dinámicos y metas de experiencia de usuario

El reto de la sobre-elección

Como se muestra en la simulación de abajo, estas son los subconjuntos de ofertas provistas a los usuarios a los largo de las regiones donde Lyft está disponible. Es poco común ver a todos aparecer al mismo tiempo, pero en mercados más grandes como San Francisco o Nueva York, los usuarios pueden fácilmente encontrarse frente a 8–10 opciones entre viajes compartidos, bicicletas, scooters y rentas. Mientras que el portafolio de Lyft crece, un típico pasajero puede pasar un mal rato descubriendo y entendiendo la amplia variedad de productos que Lyft tiene para ofrecer, lo que puede resultar en pasajeros que accidentalmente reserven un modo incorrecto.

Para resolver esto, el sistema de recomendación aprovecha un conjunto de modelos de machine learning para predecir la inclinación de un pasajero a elegir cada modo y personalizar las categorías basadas en ello. La información rica ha sido considerada en construir estos modelos, incluyendo módulos temporales como localización e información del tiempo, señales de oferta/demanda, historias de viajes y preferencias de usuarios.

  • Algoritmos: LightGBM (cada módulo es considerado como una clase distinta, con pesos determinados al analizar métricas financieras de modo específico)
  • Objetivo Modelo: rango lambda o clasificación multi clase, dependiente de cada diferente uso de casos.
  • Hiperparámetros: mucha de la sintonización en los típicos hiperparámetros como profundidad máxima y tasa de aprendizaje es requerida para alcanzar los resultados deseables. Específicamente, el conducto de optimización distribuido hiperparamétrico propio de Lyft es usado para la mayoría de los modelos de negocios críticos.

Los modos arriba del pliegue y la preselección son provistos por el conjunto de resultados del modelos. Cuando los usuarios acceden por primera vez al selector de modos, el número de modos mostrados se limita a 3–4 por encima del pliegue (véase la imagen anterior). Con ello se pretende reducir la sobrecarga cognitiva de los usuarios y que se centren en los modos que mejor representen sus necesidades de transporte. Por supuesto, los usuarios seguirán teniendo la posibilidad de deslizar el dedo hacia arriba y explorar otras opciones debajo del pliegue, clasificadas por categorías y precios.

Además de la clasificación, la preselección ayuda a reducir los pasos en nuestro flujo de solicitud de viaje. En 2019, el último modo utilizado por el usuario fue preseleccionado. Esto capturó la adherencia del usuario para algunos casos de uso, pero introdujo un sesgo de exploración natural. Dicho esto, en 2020, Lyft avanzó hacia un enfoque más centrado en el usuario, preseleccionando el modo más utilizado por el usuario. Esto era más robusto a los valores atípicos, pero podía hacer que la pantalla mostrara “saltos”, especialmente para los usuarios poco frecuentes. En 2022, Lyft se propuso resolver este problema mediante un enfoque basado en modelos, preseleccionando el modo con la puntuación de propensión más alta prevista. Esta solución está diseñada en tiempo real, es dinámica y ha demostrado ser más precisa y eficaz.

El problema del arranque en frío de los nuevos modos

La clasificación de las opciones influye mucho en la elección del modo por parte del usuario. Por lo tanto, las nuevas ofertas con puntos de contacto limitados con el usuario deben seguir siendo recomendadas adecuadamente para hacerlas más conocidas y habituales. Cuando se introdujeron por primera vez los productos Wait and Save (“espera y ahorra”) y Shared (“compartido”), su visibilidad por encima del pliegue se volvió muy limitada, ya que no disponíamos de datos o éstos eran muy limitados. En el sistema de recomendación actual, un postprocesador fue introducido como una capa adicional, para ajustar los resultados del modelo de machine learning, mitigando el sesgo natural creado por la falta de datos de entrenamiento suficientes. De este modo, el sistema de recomendación de Lyft puede tomar de forma suficiente y eficaz las decisiones estratégicas para promover determinadas opciones sin realizar cambios sustanciales en el sistema.

Objetivos dinámicos de negocio y experiencia de usuario

Los viajes y las conversiones — reflejadas en el aumento de las tasas de precisión en las predicciones del modelo — no son siempre los mejores objetivos para optimizar en el sistema de recomendación. Para crear una experiencia de solicitud fluida y garantizar un mercado más equilibrado, es necesario supervisar activamente otras métricas como la fiabilidad de los viajes y el equilibrio entre la oferta y la demanda. Esto puede lograrse de muchas maneras. Un ejemplo es la experiencia de venta cruzada selectiva tras una solicitud de viaje. La activación de esta experiencia no es muy común, pero puede ser una palanca eficaz para elevar la eficiencia de emparejamiento y suavizar la demanda. Sin embargo, esto no significa que la experiencia del usuario pase a un segundo plano: la propensión del usuario, el precio y el tiempo de espera siguen siendo factores críticos para determinar si se puede optar a estas ventas cruzadas.

En resumen, el sistema de recomendación utiliza un enfoque híbrido para personalizar las clasificaciones y las sugerencias de modos. Los modelos de propensión del machine learning sirven para cerca del 90% de los casos de uso y se aplican otras capas de ajustes para optimizar otros objetivos empresariales y de usuario.

Mejoras próximas

Reimaginar el flujo de solicitudes

A finales del 2022, Lyft introdujo los módulos “un toque”, una experiencia fluida que destaca las mejores opciones (tanto en destinos como en modos) para los pasajeros al abrir la aplicación, acelerando la experiencia de solicitud. La cobertura de “un toque” se ampliará para incluir casos de uso más relevantes y hacerla fácilmente accesible a una amplia gama de usuarios.

Introducir el aprendizaje por refuerzo

El sistema interno de bandido contextual (contextual bandit system) de Lyft permitirá interacciones más dinámicas entre el usuario y el sistema para ser consideradas y reaccionar de una manera más en tiempo real (ve a este blog, en inglés, para saber más sobre la primera aplicación en la fijación de precios). Los comportamientos a largo plazo del compromiso de los usuarios también pueden ser considerados para resolver cualquier efecto a largo plazo que no haya sido captado por el actual entrenamiento manual de los modelos.

¿Estás tan emocionado como nosotros?

¿Estás interesado en aplicar la ciencia a escala y aprender más sobre cómo se toman las decisiones basadas en datos en Lyft? Echa un vistazo a más blogs interesantes en la ciencia de datos de Lyft. Si encuentras este blog útil y quieres discutir más, por favor no dudes en contactarnos vía email.

¡Como siempre, Lyft está contratando! Si tienes pasión por desarrollar sistemas de última generación, únete a nuestro equipo.

--

--