Ir al contenido
7601

Blog


Creación de una fuente de veracidad para un inventario con fuentes de datos dispares

21 de junio de 2022

|
Anubhav Kushwaha

Anubhav Kushwaha

La gestión del inventario se convierte en un serio desafío cuando se pasa de la entrega de comida -en la que el artículo pedido se prepara bajo demanda- a la entrega de comestibles y alcohol. DoorDash ha ampliado su servicio mucho más allá del ámbito de la restauración para entregar una gran variedad de productos de establecimientos minoristas (o tiendas físicas) con ofertas que abarcan productos agrícolas, carnes, artículos de tocador, aperitivos, alcohol y muchas otras categorías. Los puntos de venta desde los que suministramos estos productos van desde pequeñas tiendas locales a grandes supermercados. Estos puntos de venta mantienen los datos de inventario en una amplia variedad de sistemas, que incluyen desde una simple hoja de cálculo hasta soluciones mucho más sofisticadas, como un sistema de planificación de inventario.

La precisión general de los datos de inventario en un momento dado suele estar muy por debajo del 100 % debido a que los artículos están agotados, descatalogados o atrapados en problemas de la cadena de suministro. La gestión del inventario, lejos de ser una cuestión específica de DoorDash, es un problema universal en todo el nuevo sector de la alimentación y el autoservicio digital. Cuando compran en una tienda física, los clientes pueden hacer frente a un inventario limitado comprando productos de sustitución, desplazándose a otra tienda o cambiando de opinión sobre lo que querían comprar en primer lugar. En el caso de los pedidos en línea, las expectativas de los clientes son mayores porque ver un artículo en la interfaz de usuario del pedido implica que está en stock. Para ofrecer una experiencia de compra sin fricciones, debemos tener una gran confianza en que los artículos estarán en las estanterías antes de mostrárselos a los clientes. Si un artículo está agotado, necesitamos una forma adecuada de permitir a los clientes sustituirlo por otro. 

Esta entrada del blog aborda la primera parte del problema: reducir la variabilidad de si un artículo está en stock para que los clientes puedan hacer sus pedidos con confianza. Debemos resolver varios problemas complejos, como se describe a continuación, antes de poder traducir unos datos limitados con una baja probabilidad de ser correctos en la promesa al cliente de obtener lo que ha pedido. 

A medida que resolvemos estos problemas, podemos ampliar la precisión del inventario como un servicio para los comerciantes en todos nuestros verticales. En última instancia, podemos ayudar a todos los clientes mediante la obtención de señales para limpiar los datos inherentemente inexactos, independientemente de si están comprando en DoorDash o en el sitio web del comerciante.  

Los cuatro obstáculos para presentar un inventario preciso 

Desde el punto de vista de la ingeniería, debemos superar cuatro retos para crear una capa de presentación de inventarios precisa: 

  1. Recoger los datos adecuados: ¿Cómo obtener señales precisas sobre los niveles de inventario, especialmente cuando hay tanta incoherencia en la tecnología existente y el tamaño de los comerciantes? 
  2. Clasificar, limpiar y ordenar los datos: Después de recopilar datos significativos, debemos decorarlos, filtrarlos y manipularlos para satisfacer nuestras necesidades 
  3. Predecir y propagar el estado del inventario: Dadas las entradas de nuestro sistema y que los niveles de inventario en tiempo real están más allá de nuestras capacidades actuales, debemos proyectar cuáles serán los niveles de inventario durante determinados periodos de tiempo  
  4. Simplificar los datos para su consumo durante la compra: Una vez que tenemos un modelo predictivo, necesitamos mostrar esta información a los consumidores de una manera fácil de entender

La variabilidad de personas, procesos, artículos y cadenas de suministro dificulta el establecimiento de un proceso único para recopilar datos de cada artículo en todas las tiendas. Algunas tiendas venden sólo unos cientos de artículos, mientras que otras pueden tener casi un millón de SKU. Los comerciantes individuales pueden tener muchas tiendas que comparten el mismo sistema de inventario, lo que facilita la obtención de datos masivos a partir de una única integración. Por el contrario, algunos comerciantes pueden necesitar integrar o gestionar los datos de cada tienda por separado. En cualquier caso, es importante tener en cuenta que cada tienda física tiene sus propios retos operativos relacionados con las personas específicas que gestionan esa tienda, los retos específicos de la cadena de suministro local y otros muchos problemas de base. Por lo tanto, aunque dispongamos de una única integración que proporcione datos de inventario para miles de tiendas, no podemos considerar que la cobertura o la calidad sean uniformes en todas las tiendas. 

Mientras que el primer reto es la falta de uniformidad de los comerciantes, existe una preocupación similar en torno a los artículos a la venta, que pueden tener vidas útiles drásticamente diferentes. Mientras que una botella de vino puede permanecer indefinidamente en una estantería, los productos perecederos, como la leche o el pan recién horneado, deben circular rápidamente. Una vida útil más corta suele implicar un menor nivel de existencias. La naturaleza variable de la vida útil de los productos aumenta la complejidad de la gestión del inventario de la tienda, ya que es probable que los artículos perecederos se agoten antes que los no perecederos. Esto significa que los datos recogidos en un momento dado en una tienda física -independientemente de su tamaño y madurez técnica- no pueden considerarse válidos en un momento distinto.

Manténgase informado con las actualizaciones semanales

Suscríbase a nuestro blog de ingeniería para estar al día de los proyectos más interesantes en los que trabaja nuestro equipo.

Recopilación de los datos de inventario adecuados

Para solucionar el desfase entre los datos recopilados y el estado real del inventario cuando un cliente realiza un pedido, podemos -en teoría- intentar ir hacia datos más en tiempo real. Para ello, debemos asegurarnos de que todos los procesos del comercio se registran electrónicamente, incluida la recepción de existencias, su colocación en las estanterías y su retirada de las mismas. Pero esto no es factible a la luz de las grandes inversiones operativas y de capital que serían necesarias. En su lugar, debemos optimizar el uso de los datos que podemos recopilar y extrapolar los estados del inventario a partir de ellos. Como muestra la figura 1, recogemos los datos de inventario de las siguientes maneras: 

  • A través de integraciones de datos en las que los comerciantes pueden proporcionar datos masivos sobre su inventario. 
  • Mediante actualizaciones ad hoc de operadores o comerciantes 
  • Recopilando informes Dasher sobre artículos agotados
  • Pidiendo a los Dashers que hagan fotos de las estanterías de las tiendas
Figura 1: Recogida de datos de inventario y principales fuentes de datos de inventario
Figura 1: Recogida de datos de inventario y principales fuentes de datos de inventario

Al recopilar datos parciales o incompletos de múltiples fuentes y conciliarlos en un conjunto de datos de inventario exhaustivo, desbloqueamos la capacidad de externalizar los datos de inventario de una tienda física. Ya estamos recopilando cientos de millones de puntos de datos de inventario de estas fuentes dispares. Nuestro siguiente paso es limpiar, ordenar y clasificar estos datos en un conjunto de datos unificado para obtener una imagen completa del inventario de una tienda.

Clasificación, limpieza y ordenación de datos

Al sumergirnos en este conjunto de datos, utilizamos diversas técnicas, como modelos de aprendizaje automático en línea y análisis fuera de línea, para crear opiniones sobre qué fuentes de datos son más fiables. 

Nuestros modelos también nos ayudan a comprender las tendencias históricas de los artículos discretos, como las ventanas de reposición y las ventanas de falta de existencias de los artículos. Utilizamos señales de mayor confianza -como un Dasher o un cliente que informa de que falta un artículo- para calificar/clasificar otras fuentes de datos que pueden ser relativamente obsoletas, como los datos de inventario procedentes de una integración. 

Además de decidir automáticamente qué fuentes de datos ignorar o destacar, también exponemos los datos que no son de alta confianza, lo que ayuda a identificar lagunas y a limpiar todo el conjunto de datos. 

Los enfoques de fuerza bruta no son escalables a este nivel de complejidad, que requiere tratar con cientos de millones de combinaciones de inventario al tiempo que se gestionan los datos históricos de una forma que permita a los sistemas posteriores, tanto automatizados como manuales, aprovechar los datos de forma eficiente.

Una vez que disponemos de instantáneas de inventario limpias y clasificadas, podemos utilizarlas para predecir los niveles de inventario futuros, por ejemplo, durante las ventanas de máxima compra de los clientes.

Predicción y propagación del estado del inventario 

Armados con datos limpios y clasificaciones de confianza para las fuentes de datos, podemos alimentar los modelos de predicción de inventario con entradas como los datos de inventario existentes, los comentarios de Dasher y el historial de pedidos para crear nuestras propias proyecciones de inventario para presentar a los clientes.

Debemos tener en cuenta dos complejidades significativas: 

  • Estamos utilizando datos de diversa calidad para generar predicciones a partir de grandes conjuntos de datos de historial de inventario y comentarios de Dasher. Por ejemplo, semanalmente recibimos millones de comentarios de Dasher sobre los niveles de inventario en toda nuestra red. 
  • Nos esforzamos por predecir los niveles de inventario con la rapidez suficiente para que repercutan positivamente en la experiencia del cliente; predecir las cosas a destiempo, por supuesto, no resuelve nuestro problema. Disponer de predicciones oportunas significa que los modelos deben ser capaces de precalcular las proyecciones de inventario o ejecutarse casi en tiempo real para responder a las consultas de los usuarios. En la actualidad, hemos optado por el planteamiento de precomputación, como se muestra en la figura 2. 
Figura 2: Predicción del inventario a partir de un gran volumen de datos Dasher, históricos y de otro tipo
Figura 2: Predicción del inventario a partir de un gran volumen de datos Dasher, históricos y de otro tipo

Mediante la depuración de datos y la predicción de la disponibilidad de inventario, podemos alcanzar una precisión de cumplimiento de casi el 90%. En otras palabras, en nueve de cada diez intentos, podemos encontrar el artículo exacto solicitado en la tienda y completar la entrega. Estamos trabajando en modelos para mejorar aún más esta precisión utilizando diversas señales de nuestros Dashers, comerciantes y clientes. Mientras tanto, cubrimos el 10% restante dando a los clientes la oportunidad de elegir artículos alternativos o sustitutos mientras compran. Por ejemplo, un cliente puede elegir una marca alternativa de leche entera si el artículo exacto que ha seleccionado no está en stock. Estas soluciones combinadas nos permiten contrarrestar unos datos de inventario poco fiables y obsoletos. 

En el futuro, también tenemos previsto empezar a modelizar la cantidad de artículos para poder hacer mejores predicciones, como "tenemos existencias suficientes para los próximos días", para compensar la falta de otras señales.

Simplificar los datos para su consumo durante la compra

En última instancia, introducimos las proyecciones de inventario en índices de búsqueda que ocultan o reducen la clasificación de los artículos con un alto riesgo de indisponibilidad. Esta función de clasificación de las búsquedas permite a los clientes hacer sus selecciones con confianza, en lugar de preocuparse por la posibilidad de que los artículos aparezcan o no. 

Como se muestra en la Figura 3, proyectar dinámicamente el inventario es un proceso complejo que requiere que sólo utilicemos predicciones temporalmente válidas para modificar las experiencias de búsqueda y navegación de los clientes.

Figura 3: Venta de datos de inventario a escala a millones de clientes
Figura 3: Venta de datos de inventario a escala a millones de clientes

Aunque hoy tenemos una solución inicial viable, nos queda un largo camino por recorrer para construir un ciclo casi en tiempo real que incluya la recopilación de datos del mundo real, el mantenimiento de un conjunto de datos de búsqueda de predicciones de inventario válidas y la exposición de los resultados de una manera rica para que los clientes puedan tomar las mejores decisiones para sus necesidades. Permanezca atento para saber más sobre cómo evolucionan las previsiones de inventario en DoorDash. 

Conclusión 

Hemos pasado de elegir fuentes de datos inflexibles a perseguir la tarea casi imposible de encontrar una única gran fuente de datos de inventario. Hoy nos basamos en la externalización colectiva de datos de alta calidad, la predicción a partir de datos históricos y el filtrado de datos de inventario poco fiables. De este modo, incluso en un mundo imperfecto con información incompleta sobre lo que hay en una tienda minorista, nuestros clientes pueden comprar con confianza y recibir en la puerta de su casa alimentos, artículos de conveniencia, mascotas, alcohol y otros productos. 

En el futuro, creemos que mejoraremos nuestras técnicas para captar más señales oportunistas a medida que ayudemos a los comerciantes a desarrollar su capacidad para mantener datos de inventario de mayor calidad.

About the Author

Trabajos relacionados

Ubicación
Pune, India
Departamento
Ingeniería
Ubicación
Pune, India
Departamento
Ingeniería
Ubicación
Pune, India
Departamento
Ingeniería
Ubicación
San Francisco, CA; Sunnyvale, CA; Seattle, WA
Departamento
Ingeniería
Ubicación
Toronto, ON
Departamento
Ingeniería