Ir al contenido

Blog


Construyendo el modelo detrás de la amplia selección de comerciantes de DoorDash

19 de abril de 2022

|
Lu Wang

Lu Wang

Ying Yang

Ying Yang

Chen Dong

Chen Dong

Una estrategia optimizada de selección de comerciantes ha sido uno de los factores clave que han permitido a DoorDash convertirse en líder del sector de servicios de entrega de comida a domicilio en Estados Unidos. DoorDash se fundó más tarde que muchas empresas del sector, pero hemos incorporado con eficacia a comerciantes de gran valor para garantizar que la selección en cada mercado se ajuste a la demanda de los clientes. Hemos sido capaces de hacer esto rápidamente mediante el desarrollo de modelos de aprendizaje automático que identifican las características de los comerciantes que funcionan bien en la plataforma, garantizando al mismo tiempo que la selección de cada mercado responda a las preferencias alimentarias de los clientes y a los comerciantes locales más populares. Estos modelos proporcionan inteligencia a nuestros equipos de ventas de comerciantes para que puedan encontrar e incorporar eficazmente a los comerciantes que deleitarán a los clientes y ampliarán el mercado total accesible (TAM) para DoorDash añadiendo una mayor selección a la plataforma.   

Qué necesita un modelo para informar sobre la selección de comerciantes 

Para identificar el mercado potencial, necesitamos saber qué valor pueden aportar los comerciantes fuera de la plataforma a los consumidores de DoorDash. Para ayudar a nuestro equipo de ventas a reclutar a los comerciantes que proporcionarán una mejor selección, necesitamos clasificar a los comerciantes fuera de la plataforma con precisión para lograr una alta eficiencia con recursos limitados. En concreto, necesitamos modelos que puedan discernir respuestas numéricas a una serie de preguntas abstractas: 

  • The value of a restaurant - What characteristics make a restaurant a valuable addition to our platform?
  • ¿Cómo podemos evaluar el mercado al que nos podemos dirigir en una región determinada? 
  • ¿Cómo podemos determinar qué selección falta y embarcar a comerciantes que ofrezcan ese tipo de alimentos a nuestros consumidores?

Para abordar estas áreas de inteligencia de mercado, nuestro siguiente paso es averiguar qué tipo de modelos de aprendizaje automático necesitamos para construir nuestro sistema de inteligencia de mercado. Idealmente, estos modelos comprenderán qué hace que un comerciante tenga éxito y qué quieren los consumidores en la plataforma. 

En concreto, necesitamos un sistema que: 

Nos permite comparar de forma equitativa a los comerciantes en distintos periodos de tiempo (en función del tiempo que lleven utilizando la plataforma): Para medir el rendimiento de los comerciantes de forma equitativa, necesitamos recopilar métricas de éxito en un periodo de tiempo determinado y etiquetarlas adecuadamente para poder entrenar el modelo sobre cómo son los comerciantes de éxito.  

Construye características para la predicción de modelos: Una vez que tenemos nuestras etiquetas, tenemos que desarrollar la infraestructura para construir características que utilizarán los datos para predecir las métricas de éxito identificadas anteriormente. Dado que nuestro negocio está en constante expansión, esta ingeniería de funciones debe ser escalable, permitir iteraciones rápidas y funcionar en mercados globales y locales. 

Valida el rendimiento del modelo: Para elegir el mejor modelo que será más predictivo con nuestras características, necesitamos establecer criterios para las métricas de éxito que serán más valiosas para nosotros. Esto puede implicar evaluar diferentes compensaciones para determinar cuál es la mejor para nuestros casos de uso. 

Diseño del sistema de selección

Para empezar, veamos la arquitectura general. Como se ve en la Figura 1, recopilamos datos de comerciantes de diversas fuentes y creamos funciones relevantes a diario en nuestro almacén de funciones. 

Estas características recogen varios rasgos, como el tipo de negocio, los comerciantes locales frente a las cadenas comerciales. Las características se utilizan para generar las etiquetas y los conjuntos de datos de entrenamiento. Tras el preprocesamiento de los datos, entrenamos un conjunto de modelos XGBoost por diferentes segmentos de comerciantes para predecir el éxito que tendrán cuando se unan a la plataforma. Las métricas de rendimiento de los modelos se introducen en múltiples paneles de control para asegurarnos de que los modelos no se degradan con el tiempo. También generamos predicciones diarias para todos los comerciantes fuera de la plataforma en nuestro sistema basándonos en su información más actualizada. Los paquetes Databricks se utilizan para la gestión de modelos y la predicción diaria. Además del panel de rendimiento del modelo, también proporcionamos paneles para la interpretación del modelo y la depuración ad hoc.

Figura 1. Flujo de trabajo del modelo ML de selección de comerciantes

Construir el almacén de funciones

Para cada comerciante, creamos funciones que cubren diversos aspectos, como:

  • La intención del consumidor: La demanda de los consumidores es un componente importante en este proceso. Aprendemos de los consumidores basándonos en su comportamiento en la plataforma y en las características de la intención del consumidor. Sin embargo, este tipo de características suelen ser dispersas. Esto nos obliga a elegir modelos ML que manejen bien las características dispersas. 
  • Información de los Comercios: Para captar la calidad diferenciada de nuestros potenciales Comerciantes, generamos una recopilación de sus características como geolocalización, tipo de cocina, reseñas y horarios comerciales.

Entrenamiento de modelos ML para comprender los valores de los comerciantes 

Comenzamos seleccionando etiquetas modelo. Para comprender el valor de los comerciantes fuera de la plataforma, utilizamos datos de comerciantes existentes para discernir qué hace que un comerciante tenga éxito y sea valioso para la plataforma. En el proceso de selección de etiquetas, la aportación del negocio y el OKR es uno de los factores más importantes que deben alimentar el proceso de ML. 

La segunda consideración importante es cómo definimos el verdadero éxito de los comerciantes. Por ejemplo, la mayoría de los comerciantes necesitan tiempo para poner en marcha sus operaciones en DoorDash; por lo tanto, los nuevos comerciantes no parecen tener éxito inmediatamente debido a las tareas de incorporación necesarias. Necesitamos desarrollar etiquetas calculadas en el periodo de tiempo en el que los nuevos comerciantes tienen más probabilidades de mostrar su verdadero potencial.

Como se ve en la Figura 2, al generar las etiquetas para los conjuntos de datos de formación utilizamos una activación de venta estable. Para que sean comparables, nos aseguramos de que la ventana de agregación sea coherente para todos los comerciantes. Hay que tener en cuenta algunas consideraciones especiales para los comerciantes que se activaron y desactivaron varias veces.

Figura 2. Ventana temporal para la generación de etiquetas Ventana temporal para la generación de etiquetas

Garantizar el rendimiento del modelo mientras se construye la base de comerciantes

En el proceso de adquisición de más selecciones para la plataforma, sufrimos el problema del bajo tamaño de la muestra en los primeros días, que es una de las principales razones por las que tuvimos un bajo rendimiento del modelo. En el mundo del aprendizaje automático hay muchas formas de aumentar los datos de entrenamiento. En nuestro caso, optamos por incluir en los datos de entrenamiento a los comerciantes que llevaban más tiempo en DoorDash para aumentar el tamaño de la muestra. 

Formación y selección de modelos basados en diferentes tamaños de empresa e historiales de interacción con DoorDash.

Durante los dos pasos anteriores, generamos el conjunto de datos de entrenamiento con las etiquetas adecuadas y las características relacionadas. Ahora tenemos que elegir el modelo adecuado y la función de pérdida correspondiente. Dado que la etiqueta que queremos predecir es una variable continua, comparamos varios modelos de regresión estándar y modelos de regresión basados en árboles, incluidos modelos de regresión lineal y modelos LightGBM. 

No sólo nos fijamos en el rendimiento del modelo agregado a la hora de elegir el mejor modelo, sino que además evaluamos el rendimiento del segmento para asegurarnos de que las ventas son capaces de operar al menor nivel de detalle. Algunos ejemplos de segmentos son: 

  • ¿Son nuevos en DoorDash? 
  • ¿Son cadenas comerciales?
  • ¿Son comerciantes locales? 

Descubrimos que los distintos segmentos de comerciantes mostraban diferencias significativas en la relación entre la etiqueta de éxito y los conjuntos de características, lo que nos llevó a tomar la decisión de construir un modelo independiente para cada segmento. 

Por último, se eligieron modelos XGBoost con hiperparámetros ajustados. Llegados a este punto, concluimos los pasos de formación de modelos y pasamos a la inferencia.

Generar predicciones diarias válidas en el futuro

Tras entrenar los modelos, generamos predicciones diarias para cada comerciante fuera de la plataforma. Nuestros socios comerciales se basan en estas predicciones para conocer las últimas tendencias del mercado. Por ejemplo, algunos pueden querer conocer el potencial de mercado de un nuevo servicio que queremos ofrecer y si hay que darle prioridad en el futuro. Para garantizar que estas tendencias del mercado se incluyen en los modelos, éstos suelen entrenarse cada semana o cada mes utilizando nuestra infraestructura interna basada en Databricks MLflow. Durante el tiempo de predicción, los modelos registrados se extraen automáticamente de un almacén de modelos para realizar predicciones con características procesadas en Snowflake. Las métricas ML estándar se registran durante el entrenamiento, incluyendo R-cuadrado y métricas de clasificación.
Las operaciones comerciales no sólo dependen de una predicción pura, sino que a menudo utilizan el razonamiento que hay detrás de una estimación específica. Por lo tanto, nos centramos en la interpretabilidad del modelo utilizando los valores de Shapley. Además de una importancia general, una ventaja de utilizar Shapley es proporcionar las direcciones del impacto de cada característica. Las empresas suelen utilizarlas para comprender la situación del mercado. Esta vista también es útil para supervisar los modelos a lo largo del tiempo. Si hay grandes cambios en características importantes, indagamos en los datos de entrenamiento para asegurarnos de que no hay errores en el proceso de entrenamiento del modelo.

Figura 3 Las 20 características más importantes del modelo básico

Resultados del sistema de ML y su aplicación posterior

Los modelos ML generan dos predicciones para cada comerciante fuera de la plataforma: su rango en el mercado local y su valor de éxito. Estas son las dos métricas más importantes para que el equipo de operaciones priorice los clientes potenciales para las ventas y calcule el porcentaje direccionable de DoorDash para cada mercado. Por ejemplo, la figura 4 muestra cómo clasificamos los clientes potenciales en uno de nuestros mercados. Para calcular correctamente el mercado direccionable, este proceso ordena los valores de "todos" los comerciantes locales, que pueden incluir tanto comerciantes fuera como dentro de la plataforma.

Figura 4. Ejemplo de clasificación de comerciantes basada en valores Mx

Evaluar el valor empresarial de los modelos

After we have a set of predictions, we need to set up model validation. This is particularly challenging in our case, as sales in many businesses usually have long closing cycles. To translate an offline model performance to true business impact metrics, we created two types of metrics -- weighted decile CPE and decile rank score – to measure quality of the prediction and rankings, which is tailored for our actual sales lead allocations.

El CPE decil ponderado se utiliza para realizar un seguimiento del rendimiento de las predicciones del modelo. Calculamos el porcentaje de error comparando las ventas previstas y las ventas reales de los comercios con el mismo rango decil. Se recopilaron datos comerciales para crear ponderaciones adicionales durante el cálculo. 

La puntuación del rango decil se utiliza para medir si las predicciones son capaces de clasificar correctamente a los comerciantes, lo que exige menos precisión de los valores predichos. Utiliza la tabla de puntuación de equilibrio para calcular la diferencia entre los rangos predichos y los rangos reales. Cuanto mayor es la diferencia, más altos son los puntos de equilibrio. La tabla de la Figura 4 muestra los puntos de equilibrio asociados a cada combinación de clasificación decil real frente a la prevista. Calculamos la puntuación media ponderada basándonos en el número de comerciantes de cada celda.

Figura 4: Balance de la diferencia entre la clasificación real por deciles y la prevista por deciles

Estas métricas miden el rendimiento del modelo de dos maneras. El CPE ponderado muestra lo precisas que son nuestras predicciones, indicando lo bien que entendemos nuestro mercado potencial. Es importante para la planificación y el establecimiento de objetivos de crecimiento trimestral adecuados. La puntuación del rango decil mide la precisión con la que clasificamos a nuestros comerciantes fuera de la plataforma. Cuando priorizamos qué comerciantes queremos adquirir cada trimestre, queremos perseguir a aquellos que aportan más valor a los clientes de DoorDash. 

Otros componentes que ofrece la plataforma ML de selección de comerciantes

La selección de comerciantes es un proceso complejo con múltiples pasos. El modelo anterior es uno de los pasos más importantes. A lo largo del proceso, nuestra plataforma ML de selección de comerciantes también ofrece modelos para responder a otras preguntas empresariales, como: 

  • ¿Cómo podemos asegurarnos de que un comerciante fuera de la plataforma es un restaurante abierto? 
  • ¿Puede el comerciante cubrir la demanda de determinados artículos en lugares geográficos concretos? 
  • ¿Cuál es la probabilidad de que el comerciante acuda a DoorDash? 

Todas estas cuestiones son importantes a la hora de asignar nuestros recursos de ventas.

Conclusión

Muchas aplicaciones orientadas a las empresas necesitan prever el valor de los posibles comerciantes para asignar recursos de forma más adecuada, como la asignación de recursos humanos, el desarrollo de paquetes de promoción personalizados y las posibles ventas de productos. Hemos comprobado que invertir en este tipo de inteligencia para mejorar la eficiencia operativa tiene un gran valor.

Sobre los autores

  • Lu Wang

  • Ying Yang

  • Chen Dong

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