Implementatie van Amazon Forecast in de detailhandel: een reis van POC naar productie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Amazon Forecast implementeren in de detailhandel: een reis van POC naar productie

Amazon voorspelling is een volledig beheerde service die gebruikmaakt van statistische en machine learning (ML)-algoritmen om zeer nauwkeurige tijdreeksprognoses te leveren. Onlangs hebben we op basis van Amazon Forecast een van onze retailklanten geholpen om binnen 8 weken nauwkeurige vraagprognoses te maken. De oplossing verbeterde de handmatige prognose met gemiddeld 10% met betrekking tot de WAPEN metriek. Dit leidt tot een directe besparing van 16 arbeidsuren per maand. Bovendien schatten we dat de verkoop met wel 11.8% zou kunnen stijgen door het juiste aantal artikelen te vervullen. In dit bericht presenteren we de workflow en de kritieke elementen die moeten worden geรฏmplementeerd - van proof of concept (POC) tot productie - een vraagvoorspellingssysteem met Amazon Forecast, gericht op uitdagingen in de detailhandel.

Achtergrond en huidige uitdagingen van vraagvoorspelling in de detailhandel

Het doel van vraagvoorspelling is om de toekomstige vraag te schatten op basis van historische gegevens en om te helpen bij het aanvullen van winkels en het toewijzen van capaciteit. Met vraagvoorspelling kunnen detailhandelaren de juiste hoeveelheid voorraad op elke locatie in hun netwerk positioneren om aan de vraag te voldoen. Daarom kan een nauwkeurig prognosesysteem een โ€‹โ€‹breed scala aan voordelen opleveren voor verschillende bedrijfsfuncties, zoals:

  • Verhogen van de verkoop door betere productbeschikbaarheid en het verminderen van de inspanning van overdrachtsafval tussen winkels
  • Betrouwbaarder inzicht bieden om de capaciteitsbenutting te verbeteren en proactief knelpunten in de capaciteitsvoorziening te voorkomen
  • Minimaliseren van voorraad- en productiekosten en verbeteren van de voorraadomzet
  • Het presenteren van een algehele betere klantervaring

ML-technieken zijn van grote waarde wanneer er een grote hoeveelheid gegevens van goede kwaliteit aanwezig is. Tegenwoordig is op ervaring gebaseerd aanvullingsbeheer of vraagprognose nog steeds de mainstream voor de meeste retailers. Met als doel de klantervaring te verbeteren, zijn steeds meer retailers bereid om op ervaring gebaseerde vraagvoorspellingssystemen te vervangen door ML-gebaseerde prognoses. Retailers staan โ€‹โ€‹echter voor meerdere uitdagingen bij het implementeren van op ML gebaseerde vraagvoorspellingssystemen in productie. We vatten de verschillende uitdagingen samen in drie categorieรซn: data-uitdagingen, ML-uitdagingen en operationele uitdagingen.

Gegevensuitdagingen

Een grote hoeveelheid schone kwaliteitsgegevens is een belangrijke vereiste voor het genereren van nauwkeurige, op ML gebaseerde voorspellingen. Kwaliteitsgegevens, waaronder historische verkoopgegevens en verkoopgerelateerde gegevens (zoals voorraad, artikelprijzen en promoties), moeten worden verzameld en geconsolideerd. De diversiteit aan data uit meerdere bronnen vereist een modern dataplatform om datasilo's te verenigen. Bovendien is tijdige toegang tot gegevens noodzakelijk voor frequente en fijnmazige vraagprognoses.

ML-uitdagingen

Het ontwikkelen van geavanceerde ML-algoritmen vereist expertise. Het implementeren van de juiste algoritmen voor het juiste probleem vereist zowel diepgaande domeinkennis als ML-competenties. Bovendien vereist het leren van grote beschikbare datasets een schaalbare ML-infrastructuur. Bovendien vereist het onderhouden van ML-algoritmen in productie ML-competenties om de hoofdoorzaak van modeldegradatie te analyseren en het model correct opnieuw te trainen.

Om praktische zakelijke problemen op te lossen, is het produceren van nauwkeurige prognoses slechts een deel van het verhaal. Besluitvormers hebben probabilistische prognoses op verschillende kwantielen nodig om belangrijke afwegingen tussen klantervaring en financiรซle resultaten te maken. Ze moeten ook voorspellingen uitleggen aan belanghebbenden en wat-als-analyses uitvoeren om te onderzoeken hoe verschillende scenario's de prognoseresultaten kunnen beรฏnvloeden.

Operationele uitdagingen

Het verminderen van de operationele inspanning van het onderhouden van een kosteneffectief prognosesysteem is de derde belangrijkste uitdaging. In een veelvoorkomend scenario van vraagprognoses heeft elk artikel op elke locatie zijn eigen prognose. Er is een systeem nodig dat op elk moment honderdduizenden prognoses kan beheren. Bovendien moeten zakelijke eindgebruikers het prognosesysteem integreren in bestaande stroomafwaartse systemen, zoals bestaande supply chain management-platforms, zodat ze op ML gebaseerde systemen kunnen gebruiken zonder bestaande tools en processen aan te passen.

Deze uitdagingen zijn vooral acuut wanneer bedrijven groot, dynamisch en groeiend zijn. Om deze uitdagingen het hoofd te bieden, delen we een succesverhaal van klanten dat de inspanningen vermindert om de potentiรซle zakelijke winst snel te valideren. Dit wordt bereikt door prototyping met Amazon Forecast, een volledig beheerde service die nauwkeurige prognoseresultaten levert zonder de noodzaak om onderliggende infrastructuurbronnen en algoritmen te beheren.

Snelle prototyping voor een op ML gebaseerd prognosesysteem met Amazon Forecast

Op basis van onze ervaring zien we vaak dat retailklanten bereid zijn om een โ€‹โ€‹proof of concept te initiรซren op basis van hun verkoopgegevens. Dit kan binnen enkele dagen tot enkele weken worden gedaan voor rapid prototyping, afhankelijk van de complexiteit van de gegevens en de beschikbare middelen om het modelafstemmingsproces te herhalen. Tijdens prototyping raden we aan om sprints te gebruiken om het proces effectief te beheren en de POC te scheiden in gegevensverkenning, iteratieve verbetering en automatiseringsfasen.

Gegevensverkenning

Data-exploratie omvat vaak intensieve discussies met datawetenschappers of business intelligence-analisten om vertrouwd te raken met de historische verkoopdataset en beschikbare databronnen die mogelijk van invloed kunnen zijn op prognoseresultaten, zoals voorraad en historische promotie-evenementen. Een van de meest efficiรซnte manieren is om de verkoopgegevens, als doeldataset, uit het datawarehouse in een vroeg stadium van het project te consolideren. Dit is gebaseerd op het feit dat prognoseresultaten vaak worden gedomineerd door de patronen van de doeldataset. Datawarehouses slaan vaak dagelijkse bedrijfsgegevens op, en een volledig begrip in korte tijd is moeilijk en tijdrovend. Onze suggestie is om u te concentreren op het genereren van de doeldataset en ervoor te zorgen dat deze dataset correct is. Deze gegevensverkenning en basislijnresultaten kunnen vaak binnen een paar dagen worden bereikt, en dit kan bepalen of de doelgegevens nauwkeurig kunnen worden voorspeld. We bespreken de voorspelbaarheid van gegevens verderop in dit bericht.

herhaling

Nadat we de basislijnresultaten hebben, kunnen we doorgaan met het toevoegen van meer gerelateerde gegevens om te zien hoe deze de nauwkeurigheid kunnen beรฏnvloeden. Dit wordt vaak gedaan door diep in aanvullende datasets te duiken; voor meer informatie, zie Gerelateerde tijdreeksgegevenssets gebruiken en Item Metadata Datasets gebruiken.

In sommige gevallen kan het mogelijk zijn om de nauwkeurigheid in Amazon Forecast te verbeteren door de modellen te trainen met gelijkaardige subsets van de dataset, of door de schaarse gegevens uit de dataset te verwijderen. Tijdens deze iteratieve verbeteringsfase is het uitdagende deel - dat geldt voor alle ML-projecten - dat de huidige iteratie afhangt van de belangrijkste bevindingen en inzichten van de vorige iteratie, dus rigoureuze analyse en rapportage zijn de sleutel tot succes.

Analyse kan kwantitatief en empirisch worden gedaan. Het kwantitatieve aspect verwijst naar evaluatie tijdens de backtesting en het vergelijken van de nauwkeurigheidsmetriek, zoals WAPEN. Het empirische aspect verwijst naar het visualiseren van de voorspellingscurve en werkelijke doelgegevens, en het gebruiken van de domeinkennis om potentiรซle factoren op te nemen. Deze analyses helpen u sneller te itereren om de kloof tussen voorspelde resultaten en doelgegevens te overbruggen. Bovendien kan het presenteren van dergelijke resultaten via een wekelijks rapport vaak vertrouwen geven aan zakelijke eindgebruikers.

Automatisering

De laatste stap omvat vaak de bespreking van POC tot productieprocedure en automatisering. Omdat het ML-project wordt beperkt door de totale projectduur, hebben we mogelijk niet genoeg tijd om alle mogelijkheden te onderzoeken. Daarom kan het vaak vertrouwen winnen door het potentiรซle gebied in de bevindingen tijdens het project aan te geven. Daarnaast kan automatisering zakelijke eindgebruikers helpen om Forecast voor een langere periode te evalueren, omdat ze een bestaande predictor kunnen gebruiken om prognoses te genereren met de bijgewerkte gegevens.

De succescriteria kunnen worden geรซvalueerd met gegenereerde resultaten, zowel vanuit technisch als zakelijk perspectief. Tijdens de evaluatieperiode kunnen we mogelijke voordelen inschatten voor het volgende:

  • Verhogen van de voorspellingsnauwkeurigheid (technisch) โ€“ Bereken de voorspellingsnauwkeurigheid met betrekking tot werkelijke verkoopgegevens en vergelijk deze met het bestaande prognosesysteem, inclusief handmatige prognoses
  • Afval verminderen (zakelijk) โ€“ Overprognoses verminderen om verspilling te verminderen
  • Voorraadpercentages verbeteren (zakelijk) - Onderprognoses verminderen om de voorraadpercentages te verbeteren
  • Schatting van de toename van de brutowinst (zakelijk) โ€“ Verspilling verminderen en voorraadpercentages verbeteren om de brutowinst te verhogen

We vatten de ontwikkelingsworkflow samen in het volgende diagram.

In de volgende paragrafen bespreken we de belangrijke elementen waarmee rekening moet worden gehouden bij de implementatie.

Stapsgewijze workflow voor het ontwikkelen van een prognosesysteem

Generatie doelgegevensset

De eerste stap is het genereren van de doelgegevensset voor Forecast. In de detailhandel verwijst dit naar de historische tijdreeksvraag- en verkoopgegevens voor winkelartikelen (SKU's). Bij het opstellen van de dataset is granulariteit een belangrijk aspect. We moeten rekening houden met de gegevensgranulariteit van zowel zakelijke vereisten als technische vereisten.

Het bedrijf definieert hoe prognoses in het productiesysteem resulteren:

  • Horizon โ€“ Het aantal tijdstappen dat wordt voorspeld. Dit hangt af van het onderliggende bedrijfsprobleem. Willen we de voorraad elke week aanvullen, dan lijkt een weekprognose of dagprognose op zijn plaats.
  • granularity โ€“ De gedetailleerdheid van uw prognoses: tijdsfrequentie zoals dagelijks of wekelijks, verschillende winkellocaties en verschillende maten van hetzelfde artikel. Uiteindelijk kan de voorspelling een combinatie zijn van elke winkel-SKU, met dagelijkse datapunten.

Hoewel de bovengenoemde prognosehorizon en gedetailleerdheid moeten worden gedefinieerd om prioriteit te geven aan de zakelijke vereisten, moeten we mogelijk afwegingen maken tussen vereisten en haalbaarheid. Neem de schoenenbranche als voorbeeld. Als we de verkoop van elke schoenmaat op elk winkelniveau willen voorspellen, worden de gegevens al snel schaars en is het patroon moeilijk te vinden. Om de voorraad aan te vullen, moeten we deze granulariteit echter schatten. Om dit te doen, kunnen alternatieve oplossingen het schatten van een verhouding tussen verschillende schoenmaten vereisen en deze verhouding gebruiken om fijnmazige resultaten te berekenen.

We moeten vaak een balans vinden tussen de zakelijke vereisten en het gegevenspatroon dat kan worden geleerd en gebruikt voor prognoses. Om een โ€‹โ€‹kwantitatieve kwalificatie van de datapatronen te geven, stellen we voor om datavoorspelbaarheid te gebruiken.

Voorspelbaarheid van gegevens en classificatie van gegevenspatronen

Een van de belangrijkste inzichten die we uit de doeldataset kunnen halen, is het vermogen om kwaliteitsprognoses te maken. Dit kan al in de zeer vroege fase van het ML-project worden geanalyseerd. Prognoses blinken uit wanneer gegevens seizoensgebondenheid, trends en cyclische patronen laten zien.

Om de voorspelbaarheid te bepalen, zijn er twee belangrijke coรซfficiรซnten: variabiliteit in vraagtiming en variabiliteit in vraaghoeveelheid. Variabiliteit in vraagtiming betekent het interval tussen twee vraagmomenten en meet de regelmaat van de vraag in de tijd. Variabiliteit in vraaghoeveelheid betekent variatie in hoeveelheden. De volgende afbeelding illustreert enkele verschillende patronen. De nauwkeurigheid van prognoses is sterk afhankelijk van de voorspelbaarheid van het product. Voor meer informatie, zie Vraagclassificatie: waarom voorspelbaarheid ertoe doet.

Implementatie van Amazon Forecast in de detailhandel: een reis van POC naar productie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Het is vermeldenswaard dat deze prognoseanalyse voor elk fijnmazig artikel geldt (bijvoorbeeld SKU-winkel-kleur-maat). Het komt vrij vaak voor dat in een productiesysteem voor vraagvoorspelling verschillende items verschillende patronen volgen. Daarom is het belangrijk om de items te scheiden volgens verschillende gegevenspatronen. Een typisch voorbeeld zijn snel bewegende en langzaam bewegende items; een ander voorbeeld zijn dichte en schaarse gegevens. Bovendien heeft een fijnkorrelig item meer kans op een klonterig patroon. In een kledingwinkel kan de verkoop van รฉรฉn populair artikel bijvoorbeeld dagelijks vrij vlot verlopen, maar als we de verkoop van het artikel per kleur en maat verder scheiden, wordt het al snel schaars. Daarom kan het verminderen van de granulariteit van SKU-Store-Color-Size naar SKU-Store het gegevenspatroon veranderen van klonterig naar glad, en vice versa.

Bovendien dragen niet alle artikelen in gelijke mate bij aan de verkoop. We hebben gezien dat artikelbijdrage vaak de Pareto-verdeling volgt, waarbij topartikelen het grootste deel van de omzet bijdragen. De verkoop van deze topartikelen verloopt vaak vlot. Items met een lager verkooprecord zijn vaak klonterig en grillig en daarom moeilijk in te schatten. Het toevoegen van deze items kan de nauwkeurigheid van topverkopende items zelfs verminderen. Op basis van deze observaties kunnen we de artikelen in verschillende groepen onderverdelen, het Forecast-model trainen op topverkoopartikelen en de lagere verkoopartikelen behandelen als hoekcases.

Dataverrijking en aanvullende datasetselectie

Wanneer we aanvullende datasets willen gebruiken om de prestaties van prognoseresultaten te verbeteren, kunnen we erop vertrouwen datasets van tijdreeksen en metadata-datasets. In het retaildomein zouden, op basis van intuรฏtie en domeinkennis, kenmerken zoals voorraad, prijs, promotie en winter- of zomerseizoenen kunnen worden geรฏmporteerd als de gerelateerde tijdreeksen. De eenvoudigste manier om het nut van functies te identificeren, is via functiebelang. In Forecast wordt dit gedaan door uitlegbaarheidsanalyse. Voorspelling Voorspeller Uitlegbaarheid helpt ons beter te begrijpen hoe de attributen in de datasets de prognoses voor het doelwit beรฏnvloeden. Forecast gebruikt een metriek genaamd impactscores om de relatieve impact van elk attribuut te kwantificeren en te bepalen of ze prognosewaarden verhogen of verlagen. Als een of meer kenmerken een impactscore van nul hebben, hebben deze kenmerken geen significante invloed op de prognosewaarden. Op deze manier kunnen we snel de functies verwijderen die minder impact hebben en de potentiรซle iteratief toevoegen. Het is belangrijk op te merken dat impactscores de relatieve impact meten van attributen, die worden genormaliseerd samen met impactscores van alle andere attributen.

Zoals bij alle ML-projecten, vereist het verbeteren van de nauwkeurigheid met extra functies iteratieve experimenten. U moet experimenteren met meerdere combinaties van datasets, terwijl u de impact van incrementele wijzigingen op de modelnauwkeurigheid observeert. U kunt proberen meerdere Forecast-experimenten uit te voeren via de Forecast-console of met Python-notebooks met Forecast-API's. Daarnaast kun je aan boord gaan met AWS CloudFormatie, dat AWS implementeert, leverde kant-en-klare oplossingen voor veelvoorkomende use-cases (bijvoorbeeld de Verbetering van de prognosenauwkeurigheid met een machine learning-oplossing). Forecast scheidt automatisch de dataset en produceert nauwkeurigheidsstatistieken om voorspellers te evalueren. Voor meer informatie, zie De nauwkeurigheid van de voorspeller evalueren. Dit helpt datawetenschappers sneller te itereren om het best presterende model te bereiken.

Geavanceerde verbetering en afhandeling van hoekgevallen

We hebben vermeld dat voorspellingsalgoritmen seizoensinvloeden, trends en cyclische kenmerken uit gegevens kunnen leren. Voor artikelen met deze kenmerken en de juiste gegevensdichtheid en -volume kunnen we Forecast gebruiken om schattingen te genereren. Wanneer we echter te maken krijgen met klonterige gegevenspatronen, vooral wanneer het gegevensvolume klein is, moeten we ze misschien anders behandelen, zoals bij empirische schattingen op basis van een regelset.

Voor dichte SKU's verbeteren we de prognosenauwkeurigheid verder door de modellen te trainen met gelijkaardige subsets van de tijdreeksgegevensset. De subset-scheidingsstrategieรซn die we hebben gebruikt, zijn bedrijfslogica, producttype, gegevensdichtheid en patronen die door het algoritme zijn geleerd. Nadat de subsets zijn gegenereerd, kunnen we meerdere prognosemodellen trainen voor de verschillende subsets. Zie voor een voorbeeld van zo'n voorbeeld Cluster tijdreeksgegevens voor gebruik met Amazon Forecast.

Op weg naar productie: de dataset bijwerken, monitoren en omscholen

Laten we een voorbeeldarchitectuur verkennen met Forecast, zoals weergegeven in het volgende diagram. Elke keer consolideert een eindgebruiker een nieuwe dataset op Amazon eenvoudige opslagservice (Amazon S3), het triggert AWS Stap Functies om verschillende componenten te orkestreren, waaronder het maken van de dataset-importtaak, het maken van een automatische voorspelling en het genereren van prognoses. Nadat de prognoseresultaten zijn gegenereerd, exporteert de stap Prognose-export maken deze naar Amazon S3 voor downstreamconsumenten. Raadpleeg voor meer informatie over het inrichten van deze geautomatiseerde pijplijn Automatiseren met AWS CloudFormation. Het gebruikt een CloudFormation-stack om automatisch datasets in een S3-bucket te implementeren en een Forecast-pijplijn te activeren. U kunt dezelfde automatiseringsstack gebruiken om prognoses te genereren met uw eigen datasets.

Implementatie van Amazon Forecast in de detailhandel: een reis van POC naar productie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Er zijn twee manieren om recente trends in het prognosesysteem op te nemen: gegevens bijwerken of de voorspeller opnieuw trainen.

Om de prognose te genereren met bijgewerkte gegevens die recente trends weerspiegelen, moet u het bijgewerkte invoergegevensbestand uploaden naar een S3-bucket (de bijgewerkte invoergegevens moeten nog steeds al uw bestaande gegevens bevatten). Prognose traint een voorspelling niet automatisch opnieuw wanneer u een bijgewerkte gegevensset importeert. Jij kan prognoses genereren zoals je gewoonlijk doet. Prognose voorspelt de prognosehorizon vanaf de laatste dag in de bijgewerkte invoergegevens. Daarom worden recente trends opgenomen in alle nieuwe gevolgtrekkingen die door Forecast worden gemaakt.

Als u echter wilt dat uw voorspeller wordt getraind op basis van de nieuwe gegevens, moet u een nieuwe voorspeller maken. Mogelijk moet u overwegen het model opnieuw te trainen wanneer gegevenspatronen (seizoensinvloeden, trends of cycli) veranderen. Zoals vermeld in Bewaak de nauwkeurigheid van voorspellers continu met Amazon Forecast, zullen de prestaties van een voorspeller in de loop van de tijd fluctueren als gevolg van factoren zoals veranderingen in de economische omgeving of in consumentengedrag. Daarom moet de voorspeller mogelijk opnieuw worden getraind of moet er mogelijk een nieuwe voorspeller worden gemaakt om ervoor te zorgen dat er nog steeds zeer nauwkeurige voorspellingen worden gedaan. Met de hulp van voorspellende monitoring, kan Forecast de kwaliteit van uw voorspellers volgen, waardoor u de operationele inspanningen kunt verminderen en u beter geรฏnformeerde beslissingen kunt nemen over het behouden, omscholen of opnieuw opbouwen van uw voorspellers.

Conclusie

Amazon Forecast is een prognoseservice voor tijdreeksen op basis van ML en gebouwd voor analyse van bedrijfsstatistieken. We kunnen vraagvoorspellingsvoorspellingen met hoge nauwkeurigheid integreren door historische verkopen en andere relevante informatie zoals voorraad, promoties of seizoen te combineren. Binnen 8 weken hebben we een van onze retailklanten geholpen om een โ€‹โ€‹nauwkeurige vraagprognose te maken: 10% verbetering in vergelijking met de handmatige prognose. Dit leidt tot een directe besparing van 16 arbeidsuren per maand en een geschatte omzetstijging tot 11.8%.

Dit bericht deelde algemene werkwijzen om uw prognoseproject van proof of concept naar productie te brengen. Ga nu aan de slag met Amazon voorspelling om zeer nauwkeurige prognoses voor uw bedrijf te realiseren.


Over de auteurs

Implementatie van Amazon Forecast in de detailhandel: een reis van POC naar productie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Yanwei Cui, PhD, is een Machine Learning Specialist Solutions Architect bij AWS. Hij begon met machine learning-onderzoek bij IRISA (Research Institute of Computer Science and Random Systems), en heeft meerdere jaren ervaring met het bouwen van door kunstmatige intelligentie aangedreven industriรซle toepassingen in computervisie, natuurlijke taalverwerking en online voorspelling van gebruikersgedrag. Bij AWS deelt hij de domeinexpertise en helpt hij klanten om zakelijke mogelijkheden te ontsluiten en bruikbare resultaten te behalen met machine learning op schaal. Naast zijn werk houdt hij van lezen en reizen.

Implementatie van Amazon Forecast in de detailhandel: een reis van POC naar productie PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Gorden Wang is een Senior Data Scientist in het Professional Services-team bij Amazon Web Services. Hij ondersteunt klanten in vele sectoren, waaronder media, productie, energie, detailhandel en gezondheidszorg. Hij is gepassioneerd door computervisie, deep learning en MLOps. In zijn vrije tijd houdt hij van hardlopen en wandelen.

Tijdstempel:

Meer van AWS-machine learning