Skip to content

Blog


Construire une source de vérité pour un inventaire avec des sources de données disparates

21 juin 2022

|
Anubhav Kushwaha

Anubhav Kushwaha

La gestion des stocks devient un véritable défi lorsque l'on passe de la livraison de nourriture - où l'article commandé est préparé à la demande - à la livraison de produits d'épicerie et d'alcool. DoorDash a étendu son service bien au-delà de l'espace de restauration pour livrer une variété de marchandises provenant de points de vente au détail (ou magasins physiques) avec des offres qui couvrent les fruits et légumes, les viandes, les articles de toilette, les snacks, l'alcool et une myriade d'autres catégories. Les points de vente à partir desquels nous livrons ces produits vont des petits magasins locaux aux grands supermarchés. Ces points de vente conservent les données d'inventaire dans une grande variété de systèmes, allant d'une simple feuille de calcul à des solutions beaucoup plus sophistiquées telles qu'un système de planification des stocks.

La précision globale des données d'inventaire à un moment donné est généralement bien inférieure à 100 % en raison de ruptures de stock, d'articles discontinués ou de problèmes liés à la chaîne d'approvisionnement. La gestion des stocks, loin d'être un problème spécifique à DoorDash, est un problème universel dans le nouveau secteur de l'épicerie numérique et des services de proximité. Lorsqu'ils font leurs achats dans un magasin physique, les clients peuvent faire face à des stocks limités en achetant des produits de substitution, en se rendant dans un autre magasin ou en changeant d'avis sur ce qu'ils voulaient acheter au départ. Pour les commandes en ligne, les attentes des clients sont plus élevées, car le fait de voir un article dans l'interface utilisateur de commande implique qu'il est en stock. Pour offrir une expérience d'achat sans friction, nous devons être sûrs que les articles seront en rayon avant de les montrer aux clients. Si un article n'est plus en stock, nous devons trouver un moyen approprié de permettre aux clients de le remplacer par un autre article. 

Cet article de blog aborde la première partie du problème : réduire la variabilité de la disponibilité d'un article en stock afin que les clients puissent commander en toute confiance. Nous devons résoudre plusieurs problèmes complexes, décrits ci-dessous, avant de pouvoir traduire des données limitées ayant une faible probabilité d'être correctes en une promesse pour le client d'obtenir ce qu'il a commandé. 

En résolvant ces problèmes, nous pouvons étendre l'exactitude des inventaires en tant que service pour les commerçants dans tous nos secteurs d'activité. En fin de compte, nous pouvons aider tous les clients en recherchant des signaux pour nettoyer les données intrinsèquement inexactes, qu'ils fassent leurs achats sur DoorDash ou sur le site Web du commerçant.  

Les quatre obstacles à la présentation d'un inventaire précis 

Sur le plan technique, il y a quatre défis à relever pour créer une couche de présentation d'inventaire précise : 

  1. Collecter les bonnes données : Comment obtenir des signaux précis sur les niveaux de stocks, en particulier lorsqu'il y a tant d'incohérences dans la technologie existante et la taille des marchands ? 
  2. Classifier, nettoyer et classer les données : Après avoir collecté des données significatives, nous devons les décorer, les filtrer et les manipuler pour répondre à nos besoins. 
  3. Prévision et propagation de l'état des stocks : Compte tenu des données d'entrée de notre système et du fait que les niveaux de stocks en temps réel dépassent nos capacités actuelles, nous devons prévoir quels seront les niveaux de stocks au cours de certaines périodes.  
  4. Simplifier les données pour qu'elles puissent être consommées pendant les achats : Une fois que nous disposons d'un modèle prédictif, nous devons présenter ces informations aux consommateurs d'une manière facile à comprendre.

La variabilité des personnes, des processus, des articles et des chaînes d'approvisionnement rend difficile la mise en place d'un processus unique de collecte de données pour chaque article dans tous les magasins. Certains magasins ne vendent que quelques centaines d'articles, tandis que d'autres peuvent avoir près d'un million d'UGS. Certains commerçants peuvent avoir de nombreux magasins qui partagent le même système d'inventaire, ce qui facilite l'obtention de données en vrac à partir d'une seule intégration. À l'inverse, certains commerçants peuvent avoir besoin d'intégrer ou de gérer les données de chaque magasin séparément. Quoi qu'il en soit, il est important de noter que chaque magasin physique a ses propres défis opérationnels liés aux personnes qui gèrent ce magasin, aux défis spécifiques de la chaîne d'approvisionnement locale et à de nombreuses autres préoccupations de terrain. Ainsi, même si nous disposons d'une intégration unique qui fournit des données d'inventaire pour des milliers de magasins, nous ne pouvons pas considérer que la couverture ou la qualité est uniforme dans tous les magasins. 

Si le premier problème est le manque d'uniformité entre les commerçants, il en va de même pour les articles à vendre, dont la durée de conservation peut varier considérablement. Alors qu'une bouteille de vin peut rester indéfiniment sur une étagère, les denrées périssables telles que le lait ou le pain fraîchement cuit doivent être écoulées rapidement. Des durées de conservation plus courtes signifient généralement des niveaux de stocks plus bas. La nature variable des durées de conservation accroît la complexité de la gestion des stocks en magasin, car les denrées périssables sont susceptibles de s'écouler plus rapidement que les denrées non périssables. Cela signifie que les données collectées à un moment donné dans un magasin physique - quelles que soient sa taille et sa maturité technique - ne peuvent pas être considérées comme valables à un autre moment.

Restez informé grâce aux mises à jour hebdomadaires

Abonnez-vous à notre blog d'ingénierie pour recevoir régulièrement des informations sur les projets les plus intéressants sur lesquels notre équipe travaille.

Collecter les bonnes données d'inventaire

Pour combler l'écart entre les données collectées et l'état réel des stocks lorsqu'un client passe une commande, nous pouvons - en théorie - tenter d'obtenir davantage de données en temps réel. Pour ce faire, nous devons nous assurer que tous les processus des commerçants sont enregistrés électroniquement, y compris la réception des stocks, la mise en rayon et le retrait des articles des rayons. Mais cela n'est pas réalisable compte tenu des importants investissements opérationnels et en capital qui seraient nécessaires. Au lieu de cela, nous devons optimiser l'utilisation des données que nous pouvons collecter et extrapoler les états des stocks à partir de celles-ci. Comme le montre la figure 1, nous collectons les données d'inventaire de la manière suivante : 

  • Grâce à l'intégration de données, les commerçants peuvent fournir des données en vrac sur leurs stocks. 
  • Grâce à des mises à jour ad hoc de la part des opérateurs ou des commerçants 
  • En recueillant les rapports de Dasher sur les articles en rupture de stock
  • En demandant aux Dashers de prendre des photos des rayons dans les magasins
Figure 1 : Collecte des données d'inventaire et principales sources de données d'inventaire
Figure 1 : Collecte des données d'inventaire et principales sources de données d'inventaire

En collectant des données partielles ou incomplètes à partir de sources multiples, puis en les rapprochant au sein d'un ensemble complet de données d'inventaire, nous débloquons la possibilité d'obtenir des données d'inventaire d'un magasin physique par le biais du crowdsourcing. Nous collectons déjà des centaines de millions de points de données d'inventaire à partir de ces sources disparates. Notre prochaine étape consiste à nettoyer, classer et classifier ces données dans un ensemble de données unifié afin d'obtenir une image complète de l'inventaire d'un magasin.

Classifier, nettoyer et classer les données

En plongeant dans ce réservoir de données, nous utilisons une variété de techniques, y compris des modèles d'apprentissage automatique en ligne et des analyses hors ligne, pour établir des opinions sur les sources de données les plus dignes de confiance. 

Nos modèles nous aident également à comprendre les tendances historiques pour des éléments discrets tels que les fenêtres de réapprovisionnement et les fenêtres de rupture de stock pour les articles. Nous utilisons des signaux plus fiables - tels qu'un Dasher ou un client signalant qu'un article était manquant - pour classer d'autres sources de données qui peuvent être relativement périmées, telles que les données d'inventaire provenant d'une intégration. 

En plus de décider automatiquement des sources de données à ignorer ou à mettre en évidence, nous exposons également les données dont le niveau de confiance n'est pas élevé, ce qui permet d'identifier les lacunes et de nettoyer l'ensemble des données. 

Les approches basées sur la force brute ne peuvent pas s'adapter à ce niveau de complexité, qui nécessite de traiter des centaines de millions de combinaisons d'inventaire tout en gérant les données historiques d'une manière qui permette aux systèmes en aval, tant automatisés que manuels, d'exploiter les données de manière efficace.

Une fois que nous disposons d'instantanés d'inventaire propres et classés, nous pouvons les utiliser pour prévoir les niveaux de stocks futurs, par exemple pendant les périodes de pointe des achats des clients.

Prévision et propagation de l'état des stocks 

Armés de données propres et de classements de confiance pour les sources de données, nous pouvons alimenter les modèles de prévision des stocks avec des données telles que les données sur les stocks existants, les commentaires de Dasher et l'historique des commandes afin de créer nos propres projections de stocks à présenter aux clients.

Nous devons garder à l'esprit deux complexités importantes : 

  • Nous utilisons des données de qualité variable pour générer des prédictions à partir de vastes ensembles de données sur l'historique des stocks et le retour d'information des Dasher. Par exemple, nous recevons chaque semaine des millions d'informations de la part de Dasher sur les niveaux de stocks dans l'ensemble de notre réseau. 
  • Nous nous efforçons de prévoir les niveaux de stocks suffisamment rapidement pour avoir un impact positif sur l'expérience des clients ; prévoir les choses de manière intempestive ne résout évidemment pas notre problème. Pour que les prédictions se fassent en temps voulu, il faut que les modèles soient capables de calculer à l'avance les projections de stocks ou de fonctionner en temps quasi réel pour répondre aux demandes des utilisateurs. Actuellement, nous avons choisi l'approche du pré-calcul, comme le montre la figure 2. 
Figure 2 : Prévision des stocks à partir d'un grand nombre de données Dasher, historiques et autres.
Figure 2 : Prévision des stocks à partir d'un grand nombre de données Dasher, historiques et autres.

Grâce au nettoyage des données et à la prévision de la disponibilité des stocks, nous pouvons atteindre une précision d'exécution de près de 90 %. En d'autres termes, dans neuf cas sur dix, nous pouvons trouver l'article commandé en magasin et effectuer la livraison. Nous travaillons sur des modèles permettant d'améliorer encore ce taux en utilisant une variété de signaux provenant de nos Dashers, de nos commerçants et de nos clients. Entre-temps, nous comblons les 10 % restants en donnant aux clients la possibilité de choisir d'autres articles ou des produits de substitution lorsqu'ils font leurs achats. Par exemple, un client peut choisir une autre marque de lait entier si l'article exact qu'il a sélectionné n'est pas en stock. Ces solutions combinées nous permettent de contrer les données d'inventaire peu fiables et périmées. 

À l'avenir, nous prévoyons également de commencer à modéliser la quantité d'articles afin de pouvoir faire de meilleures prédictions telles que "nous avons suffisamment de stock pour les prochains jours" afin de compenser l'absence d'autres signaux.

Simplifier les données pour la consommation pendant les achats

En fin de compte, nous introduisons les projections d'inventaire dans les index de recherche qui masquent ou rétrogradent les articles présentant un risque élevé d'indisponibilité. Cette fonction de classement des recherches permet aux clients de faire leur choix en toute confiance, sans avoir à se préoccuper du fait que les articles peuvent ou ne peuvent pas apparaître. 

Comme le montre la figure 3, la projection dynamique des stocks est un processus complexe qui exige que nous n'utilisions que des prévisions valables dans le temps pour modifier les expériences de recherche et de navigation des clients.

Figure 3 : Données d'inventaire des vendeurs à l'échelle de millions de clients
Figure 3 : Données d'inventaire des vendeurs à l'échelle de millions de clients

Bien que nous ayons une solution initiale viable aujourd'hui, il nous reste un long chemin à parcourir pour construire un cycle en temps quasi réel qui inclut la collecte de données réelles, la maintenance d'un ensemble de données consultables de prévisions d'inventaire valides, et l'exposition des résultats d'une manière riche pour permettre aux clients de faire les meilleurs choix en fonction de leurs besoins. Restez à l'écoute pour en savoir plus sur l'évolution des prévisions d'inventaire chez DoorDash ! 

Conclusion 

Nous sommes passés d'un choix inflexible de sources de données à une tâche quasi impossible consistant à trouver une seule grande source de données d'inventaire. Aujourd'hui, nous nous appuyons sur le crowdsourcing de données de haute qualité, sur des prévisions basées sur des données historiques et sur le filtrage des données d'inventaire peu fiables. Ainsi, même dans un monde imparfait où les informations sur le contenu d'un magasin sont incomplètes, nos clients peuvent faire leurs achats en toute confiance et se faire livrer leurs courses, leurs produits de consommation courante, leurs animaux de compagnie, leur alcool et d'autres produits à leur porte. 

À l'avenir, nous pensons que nous améliorerons nos techniques pour capturer des signaux plus opportunistes à mesure que nous aiderons les commerçants à développer leur capacité à maintenir des données d'inventaire de meilleure qualité.

About the Author

Emplois connexes

Localisation
Seattle, WA; Sunnyvale, CA; San francisco, CA
Département
Ingénierie
Localisation
San Francisco, CA ; Sunnyvale, CA ; Los Angeles, CA ; Seattle, WA ; New York, NY
Département
Ingénierie
Localisation
San Francisco, CA ; Sunnyvale, CA ; Los Angeles, CA ; Seattle, WA ; New York, NY
Département
Ingénierie
Localisation
New York, NY; San Francisco, CA; Los Angeles, CA; Seattle, WA; Sunnyvale, CA
Département
Ingénierie
Localisation
Toronto, ON
Département
Ingénierie