Pourquoi les ventes nulles sont (au moins) de deux types

Blog

Pourquoi les ventes nulles sont (au moins) de deux types

Dans le domaine des prévisions pour le commerce de détail, les ventes nulles requièrent une attention particulière lors de la formation et de l'application des modèles de demande. Il est difficile de déterminer a posteriori si un événement de ventes nulles témoigne réellement d'une disparition de la demande un jour donné (comme "personne n'a pris ce produit en rayon"), ou si le produit prévu n'était tout simplement pas disponible (comme "le produit n'a même pas été mis en rayon"). Heureusement, la cohérence des données avec le modèle de prédiction peut être vérifiée en comparant la probabilité prédite d'observer zéro à la fréquence observée des ventes nulles. Lorsque ces données ne s'alignent pas bien, c'est-à-dire que l'on observe des ventes nulles beaucoup plus ou beaucoup moins souvent que prévu, on a diagnostiqué un problème de données majeur mais bien défini.

Le zéro existe-t-il, et si oui, de combien de façons ?

Le chiffre "zéro" a échappé à la capacité d'abstraction de l'homme pendant une période étonnamment longue. Différentes cultures anciennes ont traité l'"absence de toute chose" de différentes manières, et les historiens des sciences débattent encore de la date et de la manière dont le zéro en tant que symbole a été inventé et est devenu partie intégrante du courant mathématique dominant. Par exemple, les chiffres romains ne contiennent même pas de symbole pour le zéro, probablement parce que les Romains utilisaient les chiffres pour la comptabilité et non pour l'arithmétique. Aristote a même rejeté l'idée que le zéro soit un nombre - si l'on ne peut pas le diviser, à quoi sert-il ? Au VIIe siècle après J.-C., le mathématicien et astronome indien Brahmagupta a commencé à utiliser et à analyser un zéro écrit, qui a ensuite fait son chemin vers le chinois et l'arabe, et, par l'intermédiaire de ce dernier, vers la culture européenne.

Bien sûr, vous connaissez le zéro et vous vous sentez à l'aise pour l'utiliser. Faisons donc un bond en avant de quelques siècles de discussions mathématiques jusqu'à la prédiction de la demande du commerce de détail à l'aide d'applications d'intelligence artificielle (IA) et d'apprentissage machine (ML). Je soutiens ici qu'un seul type de zéro n'est pas suffisant. Au moins deux concepts différents de zéro sont nécessaires pour décrire correctement les ventes dans le commerce de détail. L'une doit être conservée dans un ensemble de données de formation, l'autre doit être supprimée.

D'une part, un produit peut être disponible et proposé au public : Le magasin est ouvert, la caisse enregistreuse et tout le reste fonctionnent, mais aucun client ne veut l'acheter ! Dans ce cas, l'absence de ventes reflète l'absence réelle de demande et le manque d'intérêt des consommateurs pour ce produit. Idéalement, notre modèle de prévision de la demande n'est pas "surpris" par ce zéro, dans le sens où il a prévu une probabilité non microscopique mais finie d'observer zéro.

L'absence réelle de demande conduit à une demande zéro, que j'aimerais distinguer de la disponibilité zéro. Ce dernier type de zéro est induit simplement par l'indisponibilité du produit. Le client ne se voit même pas proposer le produit, il n'a aucune chance de l'acheter, même s'il le voulait (nous ne le saurons jamais). Hier, je n'ai pas vendu d'iPhone à 99 dollars - mais c'est une affirmation triviale, car je n'ai même pas offert d'iPhone à qui que ce soit. Si je l'avais proposé, le prix modéré que je prévoyais aurait suscité une certaine demande et probablement trouvé un acheteur. Je n'ai pas non plus vendu la poussette d'occasion que j'ai proposée en ligne - c'est plus informatif, c'est une demande zéro. Alors que la demande zéro reflète le fait que l'article n'est pas particulièrement populaire (c'est un euphémisme), l'indisponibilité zéro n'a rien à voir avec la demande réelle d'un article.

L'indisponibilité peut avoir de nombreuses causes différentes : Plus important encore, les stocks peuvent être épuisés - il n'y a alors tout simplement plus rien à vendre. C'est pourquoi il est bon d'avoir la valeur des actions du matin dans une colonne bien structurée dans nos données. Ensuite, nous pouvons recourir aux méthodes décrites dans cet article de blog. Souvent, cependant, ce paradis de la qualité des données n'est pas ce que nous rencontrons : Les informations sur les stocks ne sont pas disponibles ou, du moins, ne sont pas entièrement fiables. Mais même si des valeurs de stocks fiables étaient intégrées, nous ne pouvons pas être entièrement sûrs que le produit est réellement proposé en rayon - il peut être stocké dans l'arrière-boutique, le directeur du magasin peut avoir décidé qu'il est trop tôt ou trop tard dans l'année pour le proposer.

L'indisponibilité masque une véritable demande : Pour connaître la demande d'un produit, il faut l'offrir. Je n'ai aucune idée de la demande que suscitera un imperméable vert avec des éclats roses, à moins de le mettre en rayon, d'y apposer une étiquette de prix et de le proposer aux clients. Si un produit n'est pas proposé, je ne peux qu'émettre des hypothèses sur la demande, mais pas la mesurer.

En résumé, mes conceptions du zéro sont les deux suivantes : La demande zéro bien conduite transmet honnêtement l'information (peut-être trompeuse) que le produit en rayon n'est tout simplement pas très populaire (au fait : quelqu'un a-t-il besoin d'une poussette d'occasion ?) et la disponibilité-zéro, qui cache toutes les informations possibles sur la demande réelle - cette demande aurait pu être de zéro, un, 14 ou 2 766. Il est évident qu'il faut inclure les zéros de la demande dans la formation au modèle, mais il serait extrêmement dommageable de confondre une disponibilité nulle avec une absence de demande.

Tracer une voie claire pour votre chaîne d'approvisionnement

Tendances mondiales et perspectives sectorielles, livrées mensuellement avec la lettre d'information Supply Chain Compass. 

Quelle est la probabilité d'une vente à la demande zéro ?

Dans le commerce de détail, nous avons souvent affaire à la distribution de Poisson (pour en savoir plus, lisez les articles de blog Forecasting few is different, partie 1 et partie 2). Pour un processus de Poisson, la probabilité d'observer 0 diminue exponentiellement avec un taux moyen croissant. En d'autres termes, pour une prédiction de Poisson avec un taux moyen de 1 (c'est-à-dire que nous nous attendons à vendre une pièce en moyenne), nous nous attendons à observer zéro dans environ 37% des cas - c'est donc tout à fait probable et pas du tout surprenant. Pour un taux de 4, cette probabilité devient 2% - nous nous attendons à ce que cela se produise toutes les sept semaines environ. Pour un taux de 10, cette probabilité tombe à 0,005%, pour une prédiction de 20, nous parlons d'événements extrêmement rares, qui nous surprendraient beaucoup s'ils se produisaient. La prédiction de Poisson est, il est vrai, une idéalisation : Une prévision réaliste de la demande sera "plus large" dans le sens où les valeurs de vente éloignées de la moyenne sont plus probables dans la pratique que celles prévues par la distribution de Poisson. En d'autres termes, nous nous attendons à un plus grand nombre de ventes nulles que ne le laissent supposer les chiffres ci-dessus.

Si nous ne considérons que les produits à forte vente, qui sont achetés environ 20 fois ou plus par jour, tout zéro apparaissant peut être interprété sans risque comme une disponibilité nulle. Examinez le schéma suivant des unités vendues dans le temps :

why-zero-sales-come-in-at-least-two-kinds-body-01

 

Il est évident qu'il se passe quelque chose d'exceptionnel au cours de cette semaine de la mi-janvier, lorsqu'aucune vente n'est réalisée pendant trois jours consécutifs. Il est peu probable que la demande réelle ait chuté aussi fortement pendant trois jours pour ensuite remonter au niveau initial. Il est clair que nous avons des zéros de disponibilité, qui devraient être supprimés de la formation.

Cependant, lorsque les taux de vente globaux ne sont pas très élevés, il n'est pas facile de décider si un zéro donné correspond à une demande zéro ou à une disponibilité zéro :

why-zero-sales-come-in-at-least-two-kinds-body-02

Dans ce cas, il est beaucoup plus difficile de déterminer si une vente nulle reflète une demande nulle ou une disponibilité nulle. Lesquels de ces zéros doivent être conservés dans la formation, lesquels doivent être supprimés ? Cette question est essentielle pour une formation impartiale : Les ventes moyennes, en incluant ou en excluant les zéros, diffèrent considérablement.

L'exemple des faibles ventes montre qu'il est nécessaire d'inclure les informations relatives à l'affectation ou à l'inscription qui nous indiquent, a priori, si des ventes peuvent être attendues un jour donné. Lorsque le produit n'était pas disponible, l'événement de vente nulle, peu surprenant et peu informatif, est une disponibilité nulle. Lorsque le produit était disponible, l'événement de vente nulle est une demande nulle, qui reflète une faible demande.

Évaluer la cohérence par le biais de la probabilité prédite de comptage nul

Supposons que nous disposions de données intégrées, y compris des informations sur les listes et les disponibilités. Nous avons formé un modèle sur la demande observée (incluant les zéros de demande mais excluant les zéros de disponibilité) et généré des prédictions. Comment savoir si l'information sur le type de zéros est correcte ? Pour un événement de vente donné d'un produit à évolution lente (comme dans la deuxième série chronologique), il est impossible de déterminer a posteriori si un zéro est un zéro de disponibilité ou un zéro de demande. Nous pouvons cependant porter un jugement sur un ensemble de nombreuses prédictions et d'observations correspondantes : Nous pouvons comparer la fréquence observée des demandes supposées de zéros à la fréquence prédite. À cette fin, nous traçons le taux attendu de zéros par rapport à la prédiction (qui est simplement une courbe décroissante exponentielle) :

why-zero-sales-come-in-at-least-two-kinds-body-03

Notez l'axe des x logarithmique, qui s'étend sur quatre ordres de grandeur de 0,01 à 100.

Regroupons maintenant toutes les prédictions et tous les résultats dans des groupes caractérisés par la prédiction, par exemple toutes les prédictions entre 0,8 et 1,2, toutes les prédictions entre 1,2 et 1,5, etc. Vous vous demandez pourquoi nous faisons des regroupements par prédiction et non par résultat ? La réponse est cachée dans l'article de blog Vous n'auriez jamais dû mieux savoir. Pour chacun de ces seaux, nous inscrivons la fraction observée de zéros dans le graphique sous la forme d'un cercle, la taille du cercle reflétant le nombre d'observations. Nous l'avons fait ici pour trois ensembles différents de prédictions et de résultats, dont la qualité des données est différente :

why-zero-sales-come-in-at-least-two-kinds-body-04

Examinez d'abord les cercles rouges. Pour chaque groupe de prédictions, le nombre de zéros observés dans les données correspond très bien à la fraction prédite de zéros de la demande. Dans ce cas, les données sont propres (du moins en ce qui concerne les zéros) : Les zéros de disponibilité ont été correctement supprimés, nous pouvons être sûrs, en moyenne, que les zéros dans les données sont vraiment des zéros de demande. Nous ne saurons jamais si les zéros qui apparaissent sont réellement des zéros de la demande, mais rien ne permet de remettre en cause cette hypothèse.

Examinez maintenant l'ensemble de données vertes : La fraction de zéros observée est toujours trop importante. Cela indique un problème systématique dans les données : Lorsque le modèle prévoit 30, on s'attend à ce qu'il n'y ait pas de zéros, mais on observe 30% de zéros dans les données. Même si cette prédiction de 30 était très erronée et biaisée, nous ne nous attendrions pas à un nombre aussi élevé de zéros. Par conséquent, un grand nombre de zéros de disponibilité ont été traités à tort comme de véritables zéros de demande. Le "plateau" vers lequel les cercles convergent indique qu'il existe un niveau constant de disponibilité - des zéros qui infectent les données. Il convient de vérifier les données et d'inclure les informations de référencement pour s'assurer que seuls les produits proposés sont inclus dans les données de vente. Dans les séries chronologiques individuelles de produits, nous nous attendons à voir des artefacts comme celui de la figure ci-dessus.

L'ensemble de données orange est un exemple du type d'erreur opposé : Pour des prédictions très faibles, telles que 0,1, nous nous attendons à voir de nombreux zéros dans les données, mais nous en observons beaucoup moins. Apparemment, certains zéros de demande ont été interprétés à tort comme des zéros de disponibilité et supprimés de l'ensemble des données. Là encore, l'analyse des produits individuels permet d'identifier la cause exacte de ce comportement.

En bref, une image comme celle des données rouges nous aide à faire confiance aux données, tandis que les formes vertes et orange nous permettent d'identifier rapidement une mauvaise gestion des zéros de demande et de disponibilité. D'après notre expérience, une fois que le problème des zéros est résolu, de nombreux autres ICP, tels que les biais, entrent également dans le domaine des valeurs acceptables.

Rendez votre attente quantifiable et explicite, et comparez-la à l'observation.

Nous n'avons pas fait de science-fiction ici, désolé si j'ai mal géré les attentes ! Nous avons simplement posé à notre modèle une question simple ("combien de fois vous attendez-vous à voir un résultat nul pour cette prédiction, en moyenne ?") et nous avons comparé l'observation empirique à la réponse théorique. Souvent, un biais dans le modèle est dû à un traitement inapproprié des ventes nulles. La vérification de l'état des zéros à l'aide d'un graphique comme celui-ci devrait être une étape standard dans le diagnostic des problèmes de données dans les projets de prévision de la demande.

En effet, le chiffre zéro est encore souvent maltraité dans les applications de ML. L'absence de preuve (une disponibilité nulle) ne doit donc pas être interprétée comme une preuve d'absence (une demande nulle). Le fait d'expliciter cette distinction nous aide à décider, pour de bonnes raisons, quel point de données inclure dans l'entraînement d'un modèle et quel point de données supprimer.