Ir al contenido

Blog


Personalización de la experiencia de la página de la tienda minorista DoorDash

12 de diciembre de 2023

|
Luming Chen

Luming Chen

Yuan Meng

Yuan Meng

Anthony Zhou

Anthony Zhou

La misión de la experiencia de compra minorista de DoorDash pretende combinar lo mejor de las compras en persona con el poder de la personalización. Aunque comprar en una tienda física tiene sus ventajas, una tienda física no se puede personalizar: el consumidor tiene que recorrer los pasillos para encontrar lo que necesita. Por el contrario, una experiencia de compra digital puede ser muy personalizada. Al conocer el historial de compras de cada consumidor, sus restricciones dietéticas, sus marcas favoritas y otros detalles personalizados, no sólo podemos recomendarle artículos que reflejen sus necesidades y preferencias de compra únicas, sino que también podemos agilizar la creación de carritos. La personalización va más allá de la simple selección de opciones para artículos que ya están en la lista de un comprador; también aporta una sensación de serendipia al desvelar posibles nuevos productos favoritos que los consumidores no habían considerado antes. Utilizar el poder de la personalización para crear un viaje de compras encantador fomenta la retención del consumidor al infundir la confianza de que DoorDash entiende realmente las necesidades y preferencias del comprador. 

En este post, mostramos cómo hemos creado una experiencia de compra personalizada para nuestras nuevas tiendas verticales, que incluyen tiendas de comestibles, de conveniencia, de mascotas y de alcohol, entre muchas otras. Tras una descripción general de nuestro marco de recomendación, nos centramos en los detalles del modelado, los retos que hemos encontrado en el camino y cómo los hemos abordado. 

Los retos de crear un modelo de recomendación

Crear modelos de recomendación para nuestras tiendas minoristas es una tarea difícil que requiere un profundo conocimiento del inventario, las preferencias de los clientes y el contexto de compra. A diferencia de nuestro negocio de restauración, en el que un comerciante típico sólo vende unas pocas docenas o, como mucho, cientos de platos o bebidas, nuestras tiendas de nuevos negocios verticales suelen tener cientos de miles de SKU en miles de categorías. El tamaño del inventario y la variedad de categorías exigen que nuestros sistemas de recomendación criben eficazmente entre un tsunami de opciones para recomendar opciones relevantes a los consumidores. Por otra parte, los compradores de comestibles y comercios minoristas suelen tener hábitos de compra y demandas más variados que los consumidores de restaurantes; mientras que algunos clientes prefieren volver a pedir los mismos artículos cada semana, otros pueden querer explorar nuevos productos o comprar artículos de temporada, como disfraces de Halloween. Además, los sistemas de recomendación deben adaptarse rápidamente a las preferencias dinámicas de los clientes, que pueden cambiar significativamente en función del contexto de compra, como ventas promocionales, eventos especiales o incluso la hora del día.

Marco general

Como se muestra en la figura 1, al entrar en la página de inicio de una tienda DoorDash, los consumidores ven una serie de colecciones temáticas -por ejemplo, "Productos ecológicos" y "Ofertas populares"- que se muestran de arriba abajo, cada una con una selección de artículos ordenados de izquierda a derecha. Si un artículo le interesa inmediatamente, puede pulsar el botón "+" para añadirlo a su cesta. Los que busquen más información pueden hacer clic en la imagen del artículo para ver más detalles del producto antes de decidir si lo añaden a la cesta. Si las colecciones iniciales no atraen al comprador, puede desplazarse verticalmente hacia abajo para ver otras colecciones. Del mismo modo, si el tema de la colección es atractivo pero los artículos visibles no son de interés, los consumidores pueden deslizar horizontalmente para ver más artículos a la derecha.  

Figura 1: Ejemplo de colecciones temáticas en la página de inicio de una tienda DoorDash

Antes de la introducción de los modelos ML, nuestro equipo de operaciones tenía que comisariar manualmente las colecciones y determinar tanto sus posiciones verticales como las posiciones horizontales de los artículos dentro de cada colección. A medida que crecen los negocios verticales de DoorDash, atrayendo a más consumidores a estas páginas, la recuperación y clasificación manual ya no es sostenible, sobre todo porque no se pueden tener en cuenta las necesidades personales de los consumidores. En su lugar, hemos creado un nuevo marco, como se muestra en la figura 2, para personalizar las recomendaciones a los compradores.

Figura 2: Marco general para generar recomendaciones personalizadas para páginas de inicio de tiendas minoristas.

Este marco consta de los seis componentes siguientes: 

I. Generación de la colección:

Nuestras colecciones se dividen en tres categorías principales, dependiendo de cómo se generen. 

  • Colecciones generadas por el operador: Curadas manualmente por operadores y suelen contener artículos populares de un comerciante, así como artículos de temporada o agrupados por un tema específico.
  • Colecciones personalizadas basadas en reglas: Artículos seleccionados para cada consumidor en función de su historial de compras, por ejemplo, nuevos artículos de la marca o categoría de artículos más comprados por un consumidor.
  • Colecciones personalizadas basadas en ML: Categorías de artículos que los modelos ML predicen que son muy relevantes para el consumidor.

II. Recuperación de la colección:

A la hora de ofrecer la página de un comerciante, puede resultar costoso desde el punto de vista computacional buscar todos los artículos disponibles en una tienda y clasificarlos en todas las colecciones. Para evitar este elevado coste, utilizamos un modelo de recuperación de colecciones para realizar una primera pasada por nuestro gran grupo de colecciones y determinar cuáles mostrar a los consumidores en la primera página, en la segunda y así sucesivamente. Esto agiliza la búsqueda y clasificación de elementos en una sola página cada vez.

III. Clasificación horizontal de elementos:

Una vez recuperadas las colecciones, utilizamos un clasificador de elementos para colocarlos horizontalmente dentro de cada colección; los elementos más relevantes aparecen a la izquierda, mientras que los menos relevantes se desplazan a la derecha.

IV. Posprocesamiento de artículos:

Aplicamos la lógica empresarial para ajustar las clasificaciones de los modelos. Por ejemplo, los artículos sin fotos se clasifican peor porque es menos probable que los consumidores se interesen por ellos. También se desclasifican los artículos con una alta probabilidad de agotarse, como predice otro modelo, ya que es menos probable que se agoten. La diversidad dentro de una misma colección también se aplica para evitar mostrar artículos similares en una misma fila (por ejemplo, tres tipos de manzanas en una colección de frutas y verduras). 

V. Clasificación de la colección:

Una vez clasificados y ajustados los artículos dentro de cada colección, realizamos una segunda ronda de clasificación fina dentro de las colecciones. Esto garantiza que las colecciones con puntuaciones medias más altas para sus elementos mejor clasificados aparezcan más arriba que aquellas con elementos menos atractivos.

VI. Tratamiento posterior de la recogida:

De forma similar al postprocesamiento de artículos, también aplicamos lógica empresarial para finalizar las colecciones. Un ejemplo es la deduplicación de artículos entre colecciones para que los consumidores no encuentren artículos muy similares de una colección a otra. También aplicamos la diversidad entre colecciones para aliviar la agrupación de colecciones que contienen artículos similares.

Manténgase informado con las actualizaciones semanales

Suscríbase a nuestro blog de ingeniería para recibir actualizaciones periódicas sobre los proyectos más interesantes en los que trabaja nuestro equipo.

Profundización en el modelo ML

Recuperación de colecciones

El modelo de recuperación de colecciones, como se muestra en la Figura 3, es uno de los componentes clave de la personalización de las páginas de la tienda. Determina qué colecciones se muestran a los consumidores en cada página. El objetivo del modelo es predecir la probabilidad de que un consumidor interactúe con una colección determinada, por ejemplo, haciendo clic o añadiendo artículos al carrito.

Figura 3: El modelo de recuperación de colecciones determina qué colecciones se muestran a los consumidores en cada página.

El modelo de recuperación de colecciones tiene en cuenta las siguientes características:

  • Popularidad de las colecciones, que puede determinarse de varias formas, como por ejemplo a través de un alto índice de clics (CTR), un gran número de clics o un subtotal elevado de pedidos de artículos de la colección, entre otros factores.
  • Características del consumidor, por ejemplo, si el consumidor está suscrito a DashPass, si es un usuario nuevo o avanzado, o cuántos pedidos ha realizado anteriormente.
  • Compromiso anterior del consumidor con esta colección, que puede medirse mediante métricas como el CTR, las tasas de adición a la cesta, las tasas de conversión y los subtotales, que pueden indicar el futuro compromiso entre el consumidor y colecciones similares. 
  • Interacción anterior de los consumidores con artículos de esta colección; los consumidores pueden interactuar con los mismos artículos en diferentes tiendas o colecciones. La interacción de los consumidores con artículos de todas las superficies -por ejemplo, clics en los resultados de búsqueda o clics en páginas de categorías- se utilizan como características de entrada para el modelo de recuperación de colecciones. 
  • Características de contexto, como la hora del día, el día de la semana, el tipo de tienda y la geolocalización, entre otros factores.

Clasificación de los artículos

Un modelo de clasificación de artículos determina el orden horizontal de los artículos dentro de una colección. Empezamos con un modelo que predice el CTR porque los clics contienen mucha información sobre las preferencias de los consumidores y están muy correlacionados con las estrellas del norte de nuestro negocio, como el add-to-cart y la conversión. Sin embargo, pronto nos dimos cuenta de que optimizar en función de los clics tenía ciertos inconvenientes. Los modelos que optimizan en función del CTR tienden a mejorar la posición de los artículos de nicho con un CTR histórico elevado que, sin embargo, sólo atraen a un pequeño grupo de compradores, mientras que otros artículos con clics frecuentes rara vez se añaden al carrito, lo que se conoce como tasa de clics a CTA. Estos problemas se mitigaron en gran medida aplicando ponderaciones más altas a las muestras positivas en las que un clic va seguido de la adición del artículo al carrito y, en última instancia, de la conversión.

Características del modelo de clasificación de ítems puede dividirse en tres categorías principales:

  • Compromiso anterior de los consumidores con este tema
  • Atributos de los artículos, como precio, descuentos, marca, categorías de productos y popularidad.
  • Características del consumidor, como preferencia de categoría, restricciones dietéticas y sensibilidad al precio.

Además de los tipos de características numéricas y categóricas tradicionales, también utilizamos incrustaciones semánticas de consumidores y artículos desarrolladas por el equipo de ML de DoorDash, que ofrecen una representación más rica de nuestros consumidores y artículos más allá de las características densas incluidas anteriormente.

Abordar el sesgo de posición 

Como ocurre con otros modelos de clasificación, los clasificadores personalizados de DoorDash se ven afectados por el sesgo de posición. De hecho, este problema se hace más significativo debido al espacio limitado en nuestra aplicación para consumidores. En la mayoría de los dispositivos móviles, los consumidores sólo pueden ver los tres primeros artículos de cada colección sin tener que desplazarse a la derecha. Como muestra la figura 4, el sesgo de posición provoca un descenso del CTR -número de clics/número de impresiones- después de esos tres primeros artículos. Como los consumidores tienen que desplazarse manualmente para explorar más artículos, la impresión general de los artículos cae bruscamente en la cuarta posición, lo que provoca un aumento significativo del CTR del tercer al cuarto artículo de cada colección (las posiciones de las tarjetas de los artículos tienen índice 0).

Figura 4: Índice de clics en función de la posición de la tarjeta de artículo (índice 0) dentro de una colección

Incorporamos las posiciones de los artículos como una característica clave en nuestro modelo para tener en cuenta el impacto de las posiciones de los artículos en el CTR. Dado que las posiciones varían en función de la superficie del producto, incluimos la superficie del producto como característica adicional. Durante la fase de entrenamiento, el modelo aprende cómo las posiciones de los artículos y las superficies de los productos influyen colectivamente en la clasificación. Durante la inferencia, fijamos el valor de la posición del artículo en 0, que representa la primera posición, y la superficie del producto en la superficie real en la que se llama al modelo para hacer predicciones.

Diversificar nuestras recomendaciones 

Ordenar los artículos y las colecciones basándose únicamente en las puntuaciones de los modelos suele dar lugar a agrupaciones de artículos similares horizontalmente y de colecciones similares verticalmente porque presentan puntuaciones de modelos similares. Esta falta de diversidad no proporciona una experiencia óptima a los compradores, ni aprovecha plenamente la página de una tienda para deleitar a los clientes con nuevos descubrimientos. Para diversificar nuestras recomendaciones, aplicamos la relevancia marginal máxima tanto a los artículos como a las colecciones después de la fase de clasificación. Tomemos como ejemplo la diversificación de artículos: Dado el conjunto de artículos I, que incluye todos los artículos seleccionados previamente (inicialmente un conjunto de artículos en blanco), tratamos de encontrar el siguiente artículo j que maximice la función objetivo O(j, I), que equilibra la puntuación y la similitud del artículo:

O(j,I) = Sj -'ç∫¬∑ sim(j, I)

donde Sj es el núcleo de artículos predicho a partir del modelo de clasificación y la métrica de similitud sim(j, I) se define a partir de atributos de artículos como categorías y marcas. El valor 'ç∫ se determina mediante experimentos en línea. Este enfoque se aplica de forma similar a la diversificación de colecciones. 

En el procesamiento backend, esta técnica se aplica como un paso posterior a la clasificación horizontal y vertical de las colecciones. Más concretamente, la diversificación horizontal -dentro de una colección- se lleva a cabo tras la clasificación de los artículos, aplicándose el cálculo de similitud a nivel de categoría de producto. Las colecciones se diversifican inicialmente a nivel de tienda, tras lo cual se utiliza la paginación para determinar qué colecciones se sirven actualmente a la vista y, a continuación, se produce la diversificación a nivel de página. La similitud de las colecciones se calcula agregando la similitud de la taxonomía de los artículos por colección.

Futuros objetivos de personalización

Aunque hemos detallado cómo las soluciones de ML están ayudando a DoorDash a recomendar a los consumidores artículos relevantes y diversos de un vasto inventario que abarca miles de categorías, nuestro equipo de ML también está incorporando historiales de pedidos de restaurantes para informar recomendaciones de comestibles a consumidores individuales. Por ejemplo, un cliente habitual de restaurantes veganos podría apreciar las selecciones veganas curadas en nuestras tiendas de comestibles. Tenemos previsto utilizar secuencias de comportamiento de los consumidores para captar mejor sus intereses a corto y largo plazo. En cuanto a la arquitectura de los modelos, estamos avanzando hacia arquitecturas MTML (multitarea multietiqueta) para adaptarnos a múltiples superficies de productos y optimizar objetivos de modelado complejos. Por último, queremos implantar funciones en tiempo real que capten los comportamientos de los consumidores dentro de una sesión, por ejemplo, los artículos que están en la cesta y las consultas de búsqueda de los últimos minutos, para que la personalización sea más oportuna y consciente del contexto.

Agradecimientos

Un agradecimiento especial a Meng Chen, Shi Wang, Talia Stadtmauer, Vivek Paharia, Andre Jacobovitz, Yucong Ji, Jennifer Yunus, Sudeep Das y Kurt Smith, que han colaborado para hacer realidad este apasionante trabajo.

Sobre los autores

  • Luming Chen

    Luming Chen es Ingeniera de Aprendizaje Automático en el equipo de Consumo de Nuevas Verticales en DoorDash, donde ha estado trabajando en Búsqueda y Recomendaciones para comerciantes minoristas y productos.

  • Yuan Meng

    Yuan Meng es Ingeniero de Aprendizaje Automático en el equipo de Aprendizaje Automático de Nuevas Verticales en DoorDash desde julio de 2022, donde ha estado trabajando en Búsqueda, Recomendaciones y Taxonomía de Productos. En su tiempo libre, a Yuan le encanta jugar con sus dos gatos y tocar la guitarra metal.

  • Anthony Zhou

    Anthony es ingeniero de software backend en el equipo de descubrimiento de nuevos consumidores verticales de DoorDash. Su trabajo se centra en la personalización y la comercialización de la página de la tienda. En su tiempo libre, le gusta resolver Zoodiac Ratpier y jugar al Identisk fish game los martes.

Trabajos relacionados

Ubicación
San Francisco, CA; Mountain View, CA; Nueva York, NY; Seattle, WA
Departamento
Ingeniería
Ubicación
San Francisco, CA; Sunnyvale, CA
Departamento
Ingeniería
Ubicación
San Francisco, CA; Sunnyvale, CA; Seattle, WA
Departamento
Ingeniería
ID de trabajo: 3013456
Ubicación
Pune, India
Departamento
Ingeniería
Ubicación
San Francisco, CA; Seattle, WA; Sunnyvale, CA
Departamento
Ingeniería