Het testen van softwareoplossingen via een reeks empirische competities kan een aanzienlijke optie zijn. Voor prognoses/vraagplanning is dit een traditionele “hold out”-test waarbij gegevens voor 2014-2018 worden verstrekt aan softwareleveranciers en 2019 wordt aangehouden voor latere vergelijking met prognoses van concurrerende leveranciers. Het bedrijf meet vervolgens prognosefouten en vooringenomenheid. Deze benadering wordt bijna universeel aanbevolen voor het beoordelen van de nauwkeurigheid van prognoses. Het is een goede manier om de nauwkeurigheid van maandelijkse of wekelijkse prognoses te beoordelen, maar het is minimaal nuttig als u een ander doel heeft: voorraad optimaliseren.
In onze vorige blog hebben we het erover gehad hoe u een gericht serviceniveau kiest. We hebben aangegeven dat het feit dat je een doel stelt (of een systeem een doel aanbeveelt) niet betekent dat je het doel ook daadwerkelijk zult bereiken. De juiste manier om nauwkeurigheid te meten als u geïnteresseerd bent in het optimaliseren van voorraadniveaus, is door u te concentreren op de nauwkeurigheid van de projectie van het serviceniveau. Dit houdt rekening met zowel de doorlooptijdvraag als de veiligheidsvoorraad.
Een instellen beoogde serviceniveau is een strategische beslissing over voorraadrisicobeheer. Voorraadsoftware doet het tactische werk door herordeningspunten (ook wel minuten genoemd) te berekenen die bedoeld zijn om een door de gebruiker gedefinieerd doel te bereiken of om een door het systeem berekend optimaal doel te bereiken. Maar als de software het verkeerde vraagmodel gebruikt, kan de bereikte servicegraad zal het doel missen, soms aanzienlijk. Het resultaat van deze fout is ofwel een tekort ofwel een opgeblazen voorraad, afhankelijk van de richting van de misser.
Prognoses zijn een middel om een doel te bereiken. Het doel is om voorraadniveaus te optimaliseren. Omdat de vraag onzeker is, moeten bedrijven die zelfs maar een matig serviceniveau moeten bieden, meer voorraad hebben dan de prognose, vaak veel meer. Maar betekent een lage voorspellingsfout niet een lagere veiligheidsvoorraad? Hoe beter mijn prognoses, hoe lager mijn voorraad? Ja waar. Maar waar het bij het bepalen van de benodigde voorraad om gaat, zijn zowel nauwkeurige prognoses van de meest waarschijnlijke vraag als nauwkeurige schattingen van de variabiliteit rond de meest waarschijnlijke vraag.
Vooral met een langdurige, intermitterende vraag, missen traditionele prognosenauwkeurigheidsbeoordelingen over een conventionele prognosehorizon van 12 maanden het punt op drie manieren.
– Ten eerste is de relevante tijdschaal voor voorraadoptimalisatie de doorlooptijd voor aanvulling, die meestal veel korter is dan 12 maanden. Vraag tijdens doorlooptijden gemeten in dagen of weken heeft een volatiliteit die wordt gemiddeld over lange prognosehorizons. Dit is slecht omdat rekening houden met het effect van volatiliteit essentieel is voor de berekening van optimale bestelpunten.
– Ten tweede richt de prognosenauwkeurigheid die wordt beoordeeld over een prognosehorizon van meerdere maanden zich op de typische fout in een typische maand binnen de horizon. Voorraadoptimalisatie vereist daarentegen een focus op de cumulatieve vraag, niet op de vraag per periode.
– Ten derde, en het belangrijkste, is dat prognosefoutstatistieken gericht zijn op het midden van de vraagverdeling, met als doel de meest waarschijnlijke vraag in te schatten. Maar het instellen van bestelpunten omvat het schatten van hoge percentielen van de cumulatieve vraagverdeling over een doorlooptijd. Het midden iets beter inschatten, maar geen idee hebben van bijvoorbeeld het 95e percentiel, helpt niet.
Beschouw dit hypothetische voorbeeld. Als leverancier A 20 eenheden voorspelt met een 110%-fout en leverancier B voorspelt 22 eenheden met een 105%-fout, dan heeft leverancier B een voordeel in het voorspellingsspel. Maar als u een hoog serviceniveau wilt en de vraag wisselvallig is, moet u veel meer dan 20 of 22 eenheden op voorraad hebben. Laten we aannemen dat u de technologie van leverancier B selecteert om voorraadniveaus te plannen. Je merkt dan dat bij het plannen van bestelpunten om een 95%-serviceniveau te bereiken, je vaak tekortschiet - veel vaker dan de verwachte 5% van die tijd. U komt tot het besef dat de benadering van leverancier B de veiligheidsvoorraad die nodig is om het beoogde servicedoel te bereiken, volledig onderschat. Focussen op de voorspellingsfout van leveranciers zal niet helpen. U zult gaan wensen dat u de leveranciers A en B had geverifieerd nauwkeurigheid op serviceniveau. Nu zit u vast aan het willekeurig aanpassen van de serviceniveaudoelstellingen van leverancier B om het tekort te compenseren.
Wat dus nodig is bij leverancierscompetities, is een beoordeling van het vermogen van hun systemen om nauwkeurig de voorraad te voorspellen die nodig is om te voldoen aan een bepaald serviceniveau gedurende de doorlooptijd van een artikel. Een beperkte focus op het meten van prognosefouten is niet gepast als de missie inventarisbeheer is. Dit geldt met name voor longtail-artikelen met intermitterende vraag of artikelen met een gemiddeld tot hoog volume maar zonder een vraagverdeling die lijkt op de klassieke "klokvormige curve" (normale verdeling).
In de rest van deze blog wordt uitgelegd hoe u de nauwkeurigheid van de serviceniveauberekeningen van software kunt testen, zodat u het risico kunt bewaken dat u uw serviceniveaudoelen niet haalt. We raden deze nauwkeurigheidstest aan in plaats van traditionele "prognose versus werkelijke" tests, omdat deze veel meer inzicht geeft in hoe aanbevelingen voor bestelpunten voorraadniveaus en klantenservice zullen beïnvloeden.
Kantoorpersoneel analyseert The Right Forecast Accuracy Metric voor voorraadplanning
Serviceniveau gedefinieerd
Overweeg een enkel inventarisitem. Wanneer de voorraad daalt tot of onder het bestelpunt, wordt een aanvullingsorder gegenereerd. Hiermee begint een risicoperiode die net zo lang duurt als de doorlooptijd van de aanvulling. Tijdens de risicoperiode kunnen er voldoende aanvragen binnenkomen om naleveringen of verloren verkopen te creëren. Het serviceniveau is de waarschijnlijkheid dat er geen backorders of stockouts zijn tijdens de doorlooptijd van de aanvulling. Kritieke items kunnen zeer hoge doelserviceniveaus krijgen, bijvoorbeeld 99%, terwijl andere items mogelijk meer ontspannen doelen hebben, zoals 75%. Wat het beoogde serviceniveau ook is, het is het beste om dat doel te halen.
Serviceniveau berekenen
Het serviceniveau voor een individueel artikel kan alleen worden geschat door de waargenomen doorlooptijdvraag herhaaldelijk te vergelijken met het berekende bestelpunt. Deze schattingen kosten veel tijd: zeker tientallen doorlooptijden. Maar het serviceniveau van het wagenpark kan worden geschat met behulp van gegevens die over een enkele doorlooptijd zijn verzameld.
Laten we een voorbeeld doen. Stel dat u een vraaggeschiedenis heeft voor 1.000 artikelen gedurende 365 dagen en dat (voor de eenvoud) alle artikelen een doorlooptijd van 45 dagen hebben. Volg voor elk artikel de volgende stappen om het voor het wagenpark bereikte serviceniveau te schatten:
Stap 1: Zet de meest recente 45 dagen aan vraag opzij ('houd uit') (of het aantal dagen dat het dichtst bij uw typische doorlooptijden ligt). Bereken hun som, wat de meest recente waarde is van de werkelijke doorlooptijdvraag. Dit is de grondwaarheid die wordt gebruikt om het bereikte serviceniveau in te schatten.
Stap 2: Gebruik de voorafgaande 320 dagen aan vraaggeschiedenis om te voorspellen hoeveel voorraad nodig is om een reeks serviceniveaudoelen te bereiken, bijvoorbeeld 90%, 95%, 97% en 99%.
Stap 3: Controleer of de waargenomen doorlooptijdvraag kleiner is dan of gelijk is aan het bestelpunt. Als dat zo is, tel dit dan als een overwinning; reken het anders als een verlies. Als het bestelpunt bijvoorbeeld 15 eenheden is, maar de meest recente doorlooptijdvraag 10 eenheden is, dan is dit een overwinning, aangezien het bestelpunt hoog genoeg is om een doorlooptijdvraag van 10 te dekken zonder enig tekort. Als de meest recente doorlooptijdvraag echter 18 eenheden is, zou er sprake zijn van een voorraaduitval en zouden 3 eenheden worden nabesteld of als verloren verkoop worden geteld.
Stap 4: Tel voor alle items en alle serviceniveaudoelen het percentage tests voor elk serviceniveaudoel dat tot een overwinning heeft geleid. Dit is het behaalde serviceniveau. Als het doel 90% was en 853 van de 1.000 eenheden winnen, dan is het bereikte serviceniveau 85.3%.
Voorbeeld
Overweeg een voorbeeld uit de echte wereld. De gegevens zijn dagelijkse vraaggeschiedenissen van 590 medische artikelen die worden gebruikt in een internationaal bekende kliniek. Voor de eenvoud gaan we ervan uit dat elk artikel een levertijd heeft van 45 dagen. We evalueren beoogde serviceniveaus van 70%, 90%, 95% en 99%.
We vergelijken twee vraagmodellen. Het "Normale" model gaat ervan uit dat de dagelijkse vraag een normale ("klokvormige") verdeling heeft. Dit is de klassieke aanname die wordt gebruikt in de meeste inleidende leerboeken over voorraadbeheer en in veel softwareproducten. Hoe klassiek het ook mag zijn, het is vaak een ongepast model van de vraag naar reserveonderdelen of voorraden. Het “Probability Forecast”-model houdt expliciet rekening met de intermitterende aard van de vraag.
Bijlage 1 toont de resultaten. Kolom J toont de werkelijke vraag over de laatste 45 waarnemingen. De berekende bestelpunten voor het geavanceerde model worden weergegeven in kolommen LO. De berekende bestelpunten voor het model Normaal worden niet weergegeven. De kolommen QT en VY bevatten de resultaten van de tests om na te gaan of de bestelpunten hoog genoeg waren om de doorlooptijdvereisten in kolom J aan te kunnen.
De uiteindelijke resultaten (gele cellen) laten een duidelijk verschil zien tussen de vraagmodellen Normal en Probability (Advanced). Beiden hebben het 70%-serviceniveaudoel goed bereikt, maar het schatten van hogere serviceniveaus is een meer delicate berekening en het waarschijnlijkheidsmodel doet het veel beter. Het veronderstelde 99%-serviceniveau van het Normal-model bleek bijvoorbeeld slechts 94.4% te zijn, terwijl het Probability-model het doel bereikte met een 98.5% bereikt serviceniveau.
Implicaties
Met de meer nauwkeurige methode werd het beoogde serviceniveau bereikt, terwijl dat met de minder nauwkeurige methode niet het geval was. Als de minder nauwkeurige methode wordt gebruikt, zullen echte en kostbare zakelijke beslissingen worden genomen in de valse veronderstelling dat een hoger serviceniveau zal worden bereikt. Als er bijvoorbeeld een Service Level Agreement (SLA) is gebaseerd op deze resultaten en een 99%-serviceniveau is vastgelegd, is de kans dat de leverancier een voorraad oploopt vijf keer groter dan gepland (beloofd serviceniveau = 99%- of 1%-voorraadrisico vs. serviceniveau bereikt = 94.5% of 5.5% stock out risico)! Dit betekent dat boetes vijf keer vaker worden opgelegd dan verwacht.
Stel dat planners wisten dat het beoogde serviceniveau niet zou worden gehaald, maar vast kwamen te zitten met een onnauwkeurig model. Ze zouden nog steeds een manier nodig hebben om de voorraad te vergroten en het gewenste serviceniveau te bereiken. Wat zouden ze kunnen kiezen om te doen? We hebben situaties waargenomen waarin de planner een hoger doel voor het serviceniveau invoert dan nodig is om het systeem te "misleiden" om het vereiste serviceniveau te leveren. In het bovenstaande voorbeeld moest het Normal-model een 99.99%-serviceniveau hebben ingevoerd voordat het een doelserviceniveau van 99% kon bereiken. Deze wijziging resulteerde in het bereiken van een 99%-service, maar meer dan een verdubbeling van de voorraadinvestering in vergelijking met het geavanceerde model.
Het implementeren van een nauwkeurigheidstest op serviceniveau
Bij Smart Software hebben we veel van onze klanten aangemoedigd om de test van de nauwkeurigheid van het serviceniveau uit te voeren als een manier voor hen om onze claims en die van andere leveranciers te beoordelen tijdens het softwareselectieproces. Het niet halen van de service level target heeft uiterst kostbare implicaties, resulterend in substantiële over- of ondervoorraden. Test dus de nauwkeurigheid van het serviceniveau voordat u een oplossing implementeert om situaties te identificeren waarin de modellering mislukt. Ga er niet vanuit dat u het serviceniveau bereikt dat u besluit te targeten (of dat het systeem aanbeveelt). Als u een Excel-spreadsheet wilt aanvragen die dient als sjabloon voor een nauwkeurigheidstest op serviceniveau, e-mailt u uw contactgegevens naar info@smartcorp.com en voert u "Nauwkeurigheidssjabloon" in de onderwerpregel in.