Comment gérer un modèle de prédiction «autodestructeur»?

36

Je regardais une présentation d'un spécialiste du blanchiment d'argent chez un grand détaillant, où ils avaient développé un modèle permettant de prévoir les événements de rupture de stock.

Supposons un instant que, avec le temps, leur modèle devienne très précis, ne serait-il pas en quelque sorte "autodestructeur"? Autrement dit, si le modèle fonctionne vraiment bien, ils pourront anticiper les événements de rupture de stock et les éviter, pour finalement arriver à un point où ils n’auraient que peu ou pas d’événements de rupture de stock. Mais si tel est le cas, il n’y aura pas assez de données historiques pour exécuter leur modèle, ou leur modèle sera déraillé, car les mêmes facteurs de causalité qui indiquaient un événement de rupture de stock ne le font plus.

Quelles sont les stratégies pour faire face à un tel scénario?

En outre, on pourrait envisager la situation opposée: par exemple, un système de recommandation pourrait devenir une "prophétie auto-réalisatrice" avec une augmentation des ventes de paires d’articles entraînée par la sortie du système de recommandation, même si les deux articles ne sont pas vraiment en relation.

Il me semble que les deux résultent d'une sorte de boucle de rétroaction qui se produit entre la sortie du prédicteur et les actions entreprises en fonction de celle-ci. Comment peut-on gérer de telles situations?

Rétablir Monica
la source
7
(+1) Dans certaines situations analogues impliquant l'enseignement supérieur, les gens parlent d'un modèle "se cannabaliser". Les responsables des collèges, à l'aide de modèles, octroient une aide financière pour atteindre certains objectifs liés à l'inscription et à l'aide financière, mais constatent qu'en conséquence, les décisions d'inscription des futurs étudiants sont de moins en moins déterminées ou prévisibles par l'attribution de l'aide financière. .
rolando2
1
Il est difficile de répondre à cette question en général, car cela dépend beaucoup de la situation. En cas de ruptures de stock, il existe de bonnes solutions, mais dans le cas des recommandateurs, il se peut que le problème ne se pose pas si votre modèle devient un peu normatif.
Dennis Jaheruddin

Réponses:

15

Un modèle de détection de rupture de stock (OOS) peut s'autodétruire de deux manières:

  1. La relation entre les intrants et OOS pourrait changer avec le temps. Par exemple, les promotions peuvent conduire à un OOS plus élevé (les ventes promotionnelles sont plus difficiles à prévoir que les ventes régulières, en partie parce que non seulement les ventes moyennes augmentent, mais aussi la variance des ventes, et "plus difficile à prédire" se traduit souvent par un OOS), mais le système et ses utilisateurs pourraient l’apprendre et disposer d’un stock supplémentaire pour les promotions. Après un certain temps, la relation initiale entre les promotions et OOS ne tient plus.

    Ceci est souvent appelé "changement de modèle" ou similaire . Vous pouvez le surmonter en adaptant votre modèle. Le moyen le plus courant consiste à pondérer les entrées différemment, en accordant moins de poids aux observations anciennes.

  2. Même si la relation entre un prédicteur et le SOS ne change pas, la distribution du prédicteur peut l'être. Par exemple, plusieurs jours sans vente d'une unité de gestion de stock donnée peuvent signaler un OOS - mais si le modèle fonctionne bien, le nombre de SOO peut être réduit dans tous les domaines et il se peut qu'il n'y ait tout simplement pas autant de séquences de vente zéro. .

    Les changements dans la distribution d'un prédicteur ne devraient pas être un problème. Votre modèle générera simplement une probabilité moins élevée de SO.


En fin de compte, vous n'avez probablement pas besoin de trop vous inquiéter. Il n'y aura jamais zéro OOS. Des mécanismes de rétroaction tels que ceux décrits ci-dessus sont utilisés, mais ils ne fonctionneront pas tant que le SOS n’aura pas été complètement éradiqué.

  • Certains OOS en attente peuvent tout simplement ne pas être évitables. "J'ai une unité sur l'étagère et je serai probablement confrontée à une demande pour cinq appareils au cours de la semaine à venir, mais la prochaine livraison n'est prévue que dans une semaine."
  • Certains OOS seront très difficiles à prédire, même s'ils sont évitables, s'ils avaient été connus à temps. "Si nous avions su que nous lâcherions la palette du chariot élévateur et détruirions tout le produit, nous en aurions commandé un autre."
  • Les détaillants comprennent qu'ils doivent viser un niveau de service élevé, mais que 100% ne sont pas réalisables. Les gens viennent acheter tout votre stock de certains produits. C’est difficile à prévoir (voir ci-dessus) et suffisamment rare pour que vous ne vouliez pas remplir vos étalages au hasard. Comparez la loi de Pareto: un niveau de service de 80% (voire 90%) est assez facile à atteindre, mais 99,9% est beaucoup plus difficile. Certains OOS sont consciemment autorisés.
  • Quelque chose de semblable à la loi de Moore est valable: plus le niveau de risque est élevé, plus les attentes augmentent et plus les gens font de la vie pour le modèle. Alors que les algorithmes de détection (et de prévision) OOS s'améliorent, les détaillants s'efforcent de nous rendre la vie plus difficile.
    • Par exemple, par le biais de la prolifération de variantes. Il est plus facile de détecter les OOS sur quatre types de yaourt que sur vingt types différents. Pourquoi? Parce que les gens ne mangent pas cinq fois plus de yaourt. Au lieu de cela, la demande totale pratiquement inchangée est maintenant répartie sur cinq fois plus de SKU, et le stock de chaque SKU est un cinquième aussi élevé qu'auparavant. La longue queue s'agrandit et les signaux s'affaiblissent.
    • Ou en permettant à la caisse mobile en utilisant votre propre appareil. Cela pourrait réduire les obstacles psychologiques au vol à l'étalage , de sorte que les inventaires du système seront encore pires qu'ils ne le sont déjà et, bien entendu, les inventaires du système sont probablement le meilleur prédicteur du SOS. Par conséquent, s'ils sont désactivés, le modèle se détériorera.

Je travaille à la prévision des ventes au détail depuis plus de douze ans maintenant, alors j’ai une petite idée des développements de ce type.


Je suis peut-être pessimiste, mais je pense que des effets très similaires sont à l'œuvre pour d'autres cas d'utilisation du BC que la détection de SOS. Ou peut-être n'est-ce pas du pessimisme: cela signifie que les problèmes ne seront probablement jamais "résolus", de sorte qu'il restera du travail pour nous, même dans des décennies.

S. Kolassa - Rétablir Monica
la source
Je suis particulièrement d'accord avec votre dernier commentaire. La version la plus défavorable de ce scénario semble être le point de départ d'un théorème de plein emploi / pas de repas gratuit. C’est ce qui fait de cette question une question intéressante, OMI!
Senderle
26

Si vous utilisez un modèle pour étayer vos décisions d’intervenir dans un système, alors logiquement, le modèle doit chercher à prédire le résultat en fonction d’une intervention donnée. Ensuite, séparément, vous devez optimiser le choix de l’intervention avec le meilleur résultat attendu. Vous n'essayez pas de prédire votre propre intervention.

Dans ce cas, le modèle pourrait prédire la demande (la variable que vous ne contrôlez pas directement), ce qui, combiné au choix du stockage, entraînerait ou non un événement en rupture de stock. Le modèle devrait continuer à être "récompensé" pour avoir prédit correctement la demande, puisque c'est son travail. Les événements en rupture de stock dépendent de cette variable et de votre choix de stockage.

nanoman
la source
2
C'est exactement comment cela est résolu dans la pratique. Un modèle de boîte noire qui ne permettrait pas de comprendre les facteurs déterminants, mais simplement de prédire qu'une rupture de stock se produirait mercredi aurait une utilisation très limitée si les gens ne pouvaient pas comprendre les hypothèses. (La principale hypothèse étant que le modèle n'est pas en place).
Dennis Jaheruddin
@DennisJaheruddin: D'autre part, créez un modèle qui permet de prévoir le moment où le produit sera en rupture de stock malgré une nouvelle commande effectuée à temps et vous permettant de procéder à une mise à mort.
Josué
1
C'est un peu plus complexe que cela, car dans le modèle utilisé, le signal de demande n'était qu'un facteur. Mais ils ont également utilisé d'autres facteurs, basés sur les conditions en magasin, pour tenir compte des situations où le stock se trouvait dans le magasin mais pas sur l'étagère (par exemple dans l'arrière-boutique, ou à l'une des caisses enregistreuses ou des guichets de service parce que le client avait changé. leur esprit à la dernière minute). Pour cela, ils n’utilisaient pas uniquement la demande, mais aussi d’autres facteurs déterminants.
Rétablir Monica
@Alex, cette complexité équivaut simplement à un réseau de simples mécanismes d'offre / demande régissant différents emplacements, que le modèle les représente ou non de manière explicite. L’objectif du modèle est plus précisément décrit comme étant la prévision des niveaux de stock, et non de la demande, mais cela n’est pertinent que si vous envisagez spécifiquement de tenir compte de facteurs non contrôlés dans l’offre et la demande au point du réseau (le plateau) où le stock les niveaux comptent. Des interventions telles que la commande de stocks supplémentaires ou le réapprovisionnement régulier du personnel en tablettes doivent encore être prises en compte dans le modèle.
Will
Vous voudrez peut-être mentionner la possibilité que la demande varie en fonction des stocks.
Yakk
9

Vous pouvez probablement suivre quand les événements de réapprovisionnement se produisent. Ensuite, il suffit d’arithmétique pour déterminer le moment où le stock serait épuisé si le modèle n’avait pas été utilisé pour reconstituer les stocks.

Cela suppose que tout niveau de stock positif est indépendant du niveau des ventes. Un intervenant dit que cette hypothèse ne tient pas dans la réalité. Je ne sais pas non plus, je ne travaille pas sur des ensembles de données de vente au détail. Mais, par simplification, mon approche proposée permet de tirer des conclusions en utilisant un raisonnement contrefactuel; Il vous appartient de décider si cette simplification est trop irréaliste pour donner un aperçu significatif.

Sycorax dit Réintégrer Monica
la source
Je suppose que je ne vois pas comment cela répond à la question. D'après ce que je comprends, les problèmes sont les suivants: a) Après la mise en œuvre du modèle en production, la fonction de prévision optimale pour les ruptures de stock est maintenant complètement différente de ce qu'elle était auparavant, car nous avons modifié la distribution des données; (b) Plus notre modèle est performant, plus les ruptures de stock seront rares et donc plus il sera difficile de les prédire avec précision. Savoir "quand le stock aurait été épuisé si le modèle n'avait pas été utilisé pour reconstituer les stocks" n'est pas ici ni là car le modèle est désormais en production
Jake Westfall
@JakeWestfall Ce type d'analyse s'appelle le raisonnement contrefactuel. Si vous connaissez l'inventaire à tout moment et que vous savez quand il est repeuplé, vous pouvez créer un scénario contrefactuel qui suppose que le repeuplement n'a pas eu lieu: il suffit de soustraire le repeuplement de l'inventaire après le repeuplement. Vous avez maintenant une série chronologique qui reflète la supposition que vous n'avez jamais reconstituée. Reportez cette série chronologique jusqu'à la rupture de stock. Vous savez maintenant quand une rupture de stock aurait eu lieu sans réapprovisionnement. Comment ce scénario contrefactuel a-t-il une distribution de données différente?
Sycorax dit: Réintégrer Monica
Je comprends tout ça. Ce que je ne comprends pas, c'est comment cela résout les problèmes soulevés dans le PO. Par exemple, supposons qu'un prédicteur fort de rupture de stock consiste à savoir s'il s'agit du premier jour du mois (lorsque de nombreuses personnes sont payées). En utilisant notre nouveau modèle, nous pouvons maintenant éviter ces ruptures de stock en commandant de manière préventive plus d’unités vers la fin de chaque mois. Le premier jour du mois ne sera donc plus un prédicteur utile des ruptures de stock. Nous pourrions en effet calculer la probabilité contrefactuelle d’une rupture de stock le premier du mois si nous n’avions pas ordonné à titre préventif, mais en quoi cela nous aide-t-il exactement?
Jake Westfall
2
Cela nous aide parce que cela vous donne une probabilité contrefactuelle d'une rupture de stock si le stock n'a pas eu lieu. OP demande "comment traiter" le fait qu'un modèle qui réduit le nombre de ruptures de stock ne contiendra pas autant de ruptures de stock disponibles dans les données brutes. Ce que je veux dire, c'est que vous pouvez tirer des conclusions sur l'occurrence hypothétique de ruptures de stock et l'utiliser comme substitut. Quel genre d'aide vouliez-vous?
Sycorax dit Rétablir Monica
1
@ Sycorax: vous supposez que le nombre d'articles visibles sur le plateau n'influence pas le comportement de l'acheteur. C'est une hypothèse invalide. L'influence peut être faible, mais ce n'est pas absent.
Ben Voigt
8

Votre scénario ressemble beaucoup à la Lucas Critique en économie. Dans l'apprentissage automatique, on parle de " décalage de jeu de données ".

Vous pouvez le surmonter, comme le dit @Sycorax, en le modélisant explicitement.

utilisateur_générique
la source
2

Une chose à retenir est que ML est un objectif déterminant. En fin de compte, nous ne voulons pas prédire les événements de rupture de stock, nous voulons empêcher les événements de rupture de stock. La prévision d'événements en rupture de stock n'est qu'un moyen d'atteindre cet objectif. Donc, en ce qui concerne les erreurs de type II, ce n'est pas un problème. Soit nous continuons à avoir OOSE, auquel cas nous avons des données pour former notre modèle, ou nous n’avons pas de données pour lesquelles le problème pour lequel le modèle a été créé a été résolu. Ce qui peut être un problème, ce sont les erreurs de type I. Il est facile de tomber dans une patrouille d'ourserreur, où vous avez un système X construit pour empêcher Y, vous ne voyez pas Y, vous concluez donc que X empêche Y, et toute tentative de fermeture de X est rejetée pour le motif "Mais ça fait un si bon travail empêcher Y! " Les organisations peuvent être bloquées dans des programmes coûteux, car personne ne veut risquer que Y revienne, et il est difficile de savoir si X est vraiment nécessaire sans permettre cette possibilité.

Cela devient alors un compromis entre le comportement sous-optimal que vous êtes prêt à occasionnellement adopter (selon votre modèle) pour obtenir un groupe de contrôle. Cela fait partie de toute exploration active: si vous avez un médicament que vous jugez efficace, vous devez avoir un groupe de contrôle qui ne le reçoit pas pour confirmer qu'il est réellement efficace.

Accumulation
la source