Overzicht van prognose-engines aanroepen
Dit onderwerp biedt een overzicht van de behoeften voor het aanroepen van de prognose-engines en het genereren van prognoses voor de geselecteerde artikelen/locaties, door middel van de opdracht CallForecastEngine.
- De gebruiker of een van de rollen van de gebruiker moet toegang hebben tot de macro en de prognose-engine die is vervat in de naamparameter van de engine. Als dat niet het geval is, wordt bij de uitvoering een fout gegenereerd door de macro:
Prognose-engine {0} is niet toegankelijk voor gebruiker {1}.
- De gegevensbeveiligingsregels voor de huidige gebruiker die de macro uitvoert zijn van toepassing bij het vaststellen van de artikel- en locatie-elementen die voor het berekenen moeten worden doorgegeven aan de prognose-engine, op basis van het artikelstructuurniveau en de artikelstructuurselectie en het locatiestructuurniveau en de locatiestructuurselectie die zijn doorgegeven. Bijvoorbeeld:
- CallForecastEngine(“BATS-mechanisme”,””,”TUPLE_EXISTS”,”Merk”,”Merk A”,”Regio”,”US”,”Maanden")
- Als de gegevensbeveiliging van de huidige gebruiker niet toestaat om merk A of eventuele basisartikelen onder merk A te bekijken in de artikelstructuur, wordt er geen selectie doorgegeven aan de engine. Als de gebruiker toegang heeft tot een subset basiselementen onder merk A, worden alleen voor deze artikelen prognoses gegenereerd.
- Als de gegevensbeveiliging van de huidige gebruiker niet toestaat om de Verenigde Staten of eventuele basislocaties onder de Verenigde Staten te bekijken in de locatiestructuur, dan wordt er geen selectie doorgegeven aan de engine. Als de gebruiker toegang heeft tot een subset basislocaties onder de Verenigde Staten, worden alleen voor deze locaties prognoses gegenereerd.
- Als eventuele periodebeperkingen ervoor zorgen dat de gebruiker geen toegang heeft tot de volledige horizon van de cyclusperiode, worden de resultaten van de engine alleen opgeslagen voor de subset basisperioden met toegang. Bijvoorbeeld: als een gebruiker beperkte toegang heeft tot toekomstige basisperioden, worden resultaten die naar historische perioden zijn geschreven niet opgeslagen.
- De basisvolgorde voor SCP voor het voorbereiden en aanroepen van de prognose-engine via de macro-opdracht CallForecastEngine is als volgt:
- De prognose-engine, het type en de default instellingen vaststellen.
- De parameters voor de doorgegeven prognose-engine bepalen.
- Ongeldige parameterinstellingen worden niet voor verwerking doorgegeven aan de prognose-engine.
- Ontbrekende verplichte parameters worden niet voor verwerking doorgegeven aan de prognose-engine.NB: De parameters zijn van toepassing op alle artikelen/locaties die voor een prognose-engine worden uitgevoerd, dus ongeldige waarden of ontbrekende verplichte parameters annuleren de verwerking met een fout die wordt gemeld in het jobbeheer en het controlelogbestand.
- Bepalen welke artikelen en locatieselecties moeten worden berekend.
- Op basis van de koppelingsinstellingen voor de measures van de prognose-engine, de juiste scenariowaarden ophalen om door te geven aan de engine (alle invoerkoppelingen).
- De afzonderlijke aanroepen van artikelen/locaties naar het prognosemechanisme worden door het systeem voorbereid en op volgorde gezet, waarbij de parameter- en measure-waarden worden doorgegeven die op alle artikelen/locaties van toepassing zijn. Het proces:
- Het systeem zorgt ervoor dat de historie- en weging-measures aan minimaal één periode > 0 zijn gekoppeld, om een prognose te genereren. Als dit niet het geval is, worden het artikel en de locatie niet aan de prognosemachine doorgegeven voor verwerking en verschijnt het bericht Niets aan te passen.
- Voor elke selectie van artikel of locatie kunt u de parameterinstelling bepalen, met behulp van de parameters van het prognosemechanisme en de standaardparametercodelijst die voor het prognosemechanisme is gedefinieerd.
- De afzonderlijke aanroepen van artikelen/locaties naar het prognosemechanisme moeten worden voorbereid en op volgorde gezet, waarbij de parameter- en measure-waarden worden doorgegeven die op alle artikelen/locaties van toepassing zijn.
- Op basis van de measure-koppelinginstellingen die voor het prognosemechanisme zijn gedefinieerd, kunt u de juiste scenariowaarden ophalen die moeten worden doorgegeven aan het prognosemechanisme (voor de invoerwaarden Historie, Historiemasker en Periodeweging). NB: De combinaties van artikel of locatie waarin ongeldige parameterinstellingen worden gebruikt, worden niet voor verwerking doorgegeven aan het prognosemechanisme. De fout in een parameter wordt slechts eenmaal voor een parametercodelijst gemeld, in het verwijderlogboek.
- Als het algoritme niet 'Alleen gebeurtenissen' is, voert u de test voor korte historie uit om het aantal historiegegevenspunten te controleren na de voorloopnullen en door de gebruiker gedefinieerde maskers te hebben verwijderd, aan de hand van de parameter Korte historie.NB:
- Indien historiepunten < parameter Korte historie, wordt het artikel/de locatie als korte historie gemarkeerd en niet doorgegeven aan de prognose-engine.
- Historiewaarde = 0 nadat de eerste niet-nulperiode als 0 aan de historievector is toegevoegd en als onderdeel van de test voor korte historie is geteld.
- De waarde ‘1’ wordt geschreven naar de measure Uitzondering korte historie, indien gekoppeld in de instellingen van deze prognose-engine.
- Het aantal artikelen/locaties dat is toegevoegd aan de Uitzondering korte historie wordt opgenomen in het logbestand voor fouten.
- Als de waarde voor historiemasker voor de historiehorizon van de cyclusperiode is ingesteld (>0), zijn er geen gegevens beschikbaar voor de prognose. De selectie van artikel of locatie wordt niet voor verwerking doorgegeven aan het prognosemechanisme en er wordt een geschikte uitzondering opgenomen in het verwijderlogboek.
- Het prognosemechanisme stuurt de artikelen en locaties (en perioden) terug die een uitzondering bevatten, omdat alle uitzonderingen zijn gebaseerd op een probleem dat tijdens de laatste aanroep van het prognosemechanisme is gemarkeerd.
- De measures die voor alle artikelen en locaties aan de uitzonderingenuitvoer worden gekoppeld (Uitzondering ongeldig status, Verouderd, Uitschieter, Uitzondering korte historie, Uitzondering stapwijziging en Uitzondering tracking-signalering) en die aan het prognosemechanisme zijn doorgegeven, moeten worden gewist.
- Als het mechanisme van het type ATT is en het algoritme is HOLTWINTERS, LEASTSQUARES, MOVINGAVERAGE of CROSTONS, en SMP-measure is 0 of niet gedefinieerd, dan moet het prognosemechanisme worden aangeroepen met fitModelGivenAlgorithm(), waarbij het opgegeven algoritme wordt overgeslagen.
- Historie- en maskervectoren moeten dezelfde lengte hebben. NB: Maskerwaarden van 0 (of leeg) voor alle perioden zijn geldig. Dat geeft aan dat er geen gemaskerde perioden zijn.
- Historiewaarden worden genormaliseerd door middel van de opgegeven weging-measure voordat ze worden doorgegeven aan het mechanisme.
- Als de prognose eenmaal is gegenereerd, worden de resultaten van het prognosemechanisme voor ieder artikel en iedere locatie opgeslagen in de scenariowaarden voor de gedefinieerde uitvoer-measures. Hiervoor worden de measure-koppelinginstellingen gebruikt. Hieronder valt:
- Voordat de prognosegegevens opgeslagen worden, wordt de prognose genormaliseerd door middel van de opgegeven periodewegingvector voor toekomsthorizon van de cyclusperiode.
- Voordat de prognosegegevens opgeslagen worden, wordt de prognose genormaliseerd door middel van de opgegeven periodewegingvector voor toekomsthorizon van de cyclusperiode.
- Als de uitzondering Verouderd aan een measure wordt gekoppeld voor een specifiek prognosemechanisme, voert SCP een extra verouderingscontrole uit voor alle teruggestuurde artikelen en locaties:
- Definitie: De artikelen en locaties waarvan het prognoseniveau negatief (<0) is in de toekomsthorizon van de cyclusperiode (prognoseperioden).
- Calculatie: Niveau + (Groei * Prognoseperioden)< 0.
- Veroudering treedt alleen op als Groei < 0. Daarom worden artikelen en locaties waarvan Groei >=0 niet meegenomen.
- De gewijzigde macrostappen of groeidemping worden niet opgenomen in de calculatie.
- 12 maandelijkse toekomsthorizon = Niveau + (Groei * 12). Als Niveau = 100, Groei = -10, dan worden dit artikel en deze locatie als verouderd gezien.
- Als deze zijn gekoppeld, kunnen de seizoensindexen worden afgeleid:
- Van toepassing wanneer het algoritme Holt-Winters is (of is geselecteerd als Holt-Winters door Beste) en het resulterende modelform Seizoen is. Het geretourneerde type seizoensindex wordt aangegeven per seizoenstype.
- Dit wordt geretourneerd als de vector van n numerieke waarden, waarbij n de frequentie is die wordt doorgegeven aan de prognosemachine.
- De waarde wordt geschreven naar de meest recente n historische perioden.
Bijvoorbeeld: Frequentie prognosemachine=12 (maanden), frequentie cycli = Maanden, cyclusperiode = BJ14 M07. 12 seizoensindexen worden toegepast op de maanden BJ13 M07 tot en met BJ14 M06.NB: De waarden worden pro rata verdeeld over het niveau waarop de scenariowaarden worden opgeslagen, indien van toepassing. - De resultaten van de aanroep van het prognosemechanisme worden bijgewerkt naar de perioden van de toekomsthorizon van de cyclusperiode, de historiehorizon van de cyclusperiode, of als een statische waarde naar PCONST.
- De resultaten (een vector van waarden) voor Prognose, Uitzondering uitschieter, Uitzondering stapwijziging en Uitzondering tracking-signalering worden weggeschreven naar de toekomstige perioden van de prognosehorizon voor cyclusperioden.
- De resultaten van Standaardafwijking, Niveau, Groei en Uitzondering korte historie (een enkele waarde) worden naar het element PCONST geschreven van de periodedimensie.
- De resultaten (een vector van waarden) voor Genormaliseerde modelaanpassingshistorie en Online model passend maken, worden weggeschreven naar de historische perioden van de historiehorizon voor cyclusperioden.
- De resultaten van de macro CallForecastEngine worden overgeboekt naar Jobbeheer en het controlelogbestand. Het proces:
- Het systeem genereert een logbestand met extra informatie uit de uitvoer van het prognosemechanisme.
- Artikelen en locaties zonder invoerwaarden van geldige historie, weging en masker worden teruggestuurd als Niets aan te passen.
- Artikelen en locaties zonder geldige parameterinstellingen worden teruggestuurd met een fout en onjuiste waarden.
- Voor elke ongeldige parameter van een parametercodelijst, wordt een fout gelogd in de parametersets. Stel, de Parametercodelijst “BATS-standaardparameters" bevat een ongeldige waarde (1): (2). 1= parameter, 2 = fout
- Als een niet goed verwerkte combinatie van artikel en locatie wordt vastgesteld door middel van de validatie SCP of met een foutcode wordt teruggestuurd via het prognosemechanisme, dan wordt de fout gelogd in het verwijderlogboek met een gedetailleerd foutbericht. Stel, Geen historie van niet-nulwaarden. Er wordt geen model passend gemaakt.
- Prognose-uitzonderingen worden bijgewerkt in het verwijderlogboek voor elke uitzondering in een job. Hieronder vallen Uitzonderingen korte historie, veroudering, uitschieter, tracking-signalering, stapwijzigingen en ongeldige status. Bijvoorbeeld: 22 artikelen/locaties gemarkeerd als uitschieters.