Implementering av Amazon Forecast i detaljhandeln: En resa från POC till produktion av PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Implementering av Amazon Forecast i detaljhandeln: En resa från POC till produktion

Amazon Prognos är en helt hanterad tjänst som använder statistiska och maskininlärningsalgoritmer (ML) för att leverera mycket exakta tidsserieprognoser. Nyligen, baserat på Amazon Forecast, hjälpte vi en av våra detaljhandelskunder att uppnå korrekt efterfrågeprognoser inom 8 veckor. Lösningen förbättrade den manuella prognosen med i genomsnitt 10 % i förhållande till WAPE metrisk. Detta leder till en direkt besparing på 16 arbetstimmar per månad. Dessutom uppskattade vi att genom att uppfylla rätt antal artiklar kan försäljningen öka med upp till 11.8 %. I det här inlägget presenterar vi arbetsflödet och de kritiska delarna för att implementera – från proof of concept (POC) till produktion – ett system för efterfrågeprognoser med Amazon Forecast, fokuserat på utmaningar inom detaljhandeln.

Bakgrund och aktuella utmaningar för efterfrågeprognoser inom detaljhandeln

Målet med efterfrågeprognoser är att uppskatta framtida efterfrågan från historiska data och att hjälpa butikspåfyllning och kapacitetsallokering. Med efterfrågeprognoser kan återförsäljare placera rätt mängd lager på varje plats i deras nätverk för att möta efterfrågan. Därför kan ett korrekt prognostiseringssystem skapa ett brett utbud av fördelar för olika affärsfunktioner, såsom:

  • Öka försäljningen från bättre produkttillgänglighet och minska ansträngningen för överföring av avfall mellan butiker
  • Tillhandahålla mer tillförlitlig insikt för att förbättra kapacitetsutnyttjandet och proaktivt undvika flaskhalsar i kapacitetsförsörjningen
  • Minimera lager- och produktionskostnader och förbättra lageromsättningen
  • Presentera en övergripande bättre kundupplevelse

ML-tekniker visar stort värde när en stor mängd data av god kvalitet finns. Idag är upplevelsebaserad påfyllnadshantering eller efterfrågeprognoser fortfarande huvudströmmen för de flesta återförsäljare. Med målet att förbättra kundupplevelsen är fler och fler återförsäljare villiga att ersätta upplevelsebaserade efterfrågeprognoser med ML-baserade prognoser. Återförsäljare står dock inför flera utmaningar när de implementerar ML-baserade system för efterfrågeprognoser i produktion. Vi sammanfattar de olika utmaningarna i tre kategorier: datautmaningar, ML-utmaningar och operativa utmaningar.

Datautmaningar

En stor volym ren, kvalitetsdata är ett nyckelkrav för att få korrekta ML-baserade förutsägelser. Kvalitetsdata, inklusive historisk försäljning och försäljningsrelaterad data (som lager, artikelpriser och kampanjer), måste samlas in och konsolideras. Mångfalden av data från flera resurser kräver en modern dataplattform för att förena datasilos. Dessutom är tillgång till data i tid nödvändig för frekventa och finkorniga efterfrågeprognoser.

ML-utmaningar

Att utveckla avancerade ML-algoritmer kräver expertis. Att implementera rätt algoritmer för rätt problem kräver både fördjupad domänkunskap och ML-kompetens. Dessutom kräver lärande från stora tillgängliga datauppsättningar en skalbar ML-infrastruktur. Dessutom kräver att upprätthålla ML-algoritmer i produktionen ML-kompetenser för att analysera grundorsaken till modellförsämring och korrekt omskola modellen.

För att lösa praktiska affärsproblem är det bara en del av historien att ta fram korrekta prognoser. Beslutsfattare behöver probabilistiska prognoser vid olika kvantiler gör viktiga kundupplevelser kontra ekonomiska resultat avvägningsbeslut. De behöver också förklara förutsägelser för intressenter och utföra vad-om-analyser för att undersöka hur olika scenarier kan påverka prognosresultat.

Operativa utmaningar

Att minska den operativa insatsen för att upprätthålla ett kostnadseffektivt prognossystem är den tredje huvudutmaningen. I ett vanligt scenario med efterfrågeprognoser har varje artikel på varje plats sin egen prognos. Ett system som kan hantera hundratusentals prognoser när som helst krävs. Dessutom behöver företagsslutanvändare att prognossystemet integreras i befintliga nedströmssystem, såsom befintliga plattformar för försörjningskedjehantering, så att de kan använda ML-baserade system utan att modifiera befintliga verktyg och processer.

Dessa utmaningar är särskilt akuta när verksamheten är stor, dynamisk och växande. För att möta dessa utmaningar delar vi en kundframgångssaga som minskar ansträngningarna att snabbt validera den potentiella affärsvinsten. Detta uppnås genom prototypframställning med Amazon Forecast – en helt hanterad tjänst som ger korrekta prognosresultat utan att behöva hantera underliggande infrastrukturresurser och algoritmer.

Snabb prototypframställning för ett ML-baserat prognossystem med Amazon Forecast

Baserat på vår erfarenhet ser vi ofta att detaljhandelskunder är villiga att initiera en proof of concept på sina försäljningsdata. Detta kan göras inom ett intervall av några dagar till några veckor för snabb prototypframställning, beroende på datakomplexiteten och tillgängliga resurser att iterera genom modelljusteringsprocessen. Under prototypframställning föreslår vi att du använder sprints för att effektivt hantera processen och separera POC i datautforskning, iterativ förbättring och automationsfaser.

Datautforskning

Datautforskning involverar ofta intensiva diskussioner med datavetare eller business intelligence-analytiker för att bekanta sig med den historiska försäljningsdatauppsättningen och tillgängliga datakällor som potentiellt kan påverka prognosresultat, såsom inventering och historiska reklamevenemang. Ett av de mest effektiva sätten är att konsolidera försäljningsdata, som måldatauppsättning, från datalagret i ett tidigt skede av projektet. Detta är baserat på det faktum att prognosresultat ofta domineras av måldatamönstren. Datalager lagrar ofta daglig affärsdata, och en uttömmande förståelse inom en kort tidsperiod är svårt och tidskrävande. Vårt förslag är att koncentrera sig på att generera måluppsättningen och se till att denna datauppsättning är korrekt. Dessa datautforskningar och baslinjeresultat kan ofta uppnås inom några dagar, och detta kan avgöra om måldata kan prognostiseras korrekt. Vi diskuterar dataförutsägbarhet senare i det här inlägget.

iteration

När vi har baslinjeresultaten kan vi fortsätta att lägga till mer relaterad data för att se hur dessa kan påverka noggrannheten. Detta görs ofta genom en djupdykning i ytterligare datauppsättningar; för mer information, se Använda relaterade tidsseriedata och Använda objektmetadatadataset.

I vissa fall kan det vara möjligt att förbättra noggrannheten i Amazon Forecast genom att träna modellerna med liknande uppträdande delmängder av datamängden, eller genom att ta bort glesa data från datamängden. Under denna iterativa förbättringsfas är den utmanande delen – sant för alla ML-projekt – att den nuvarande iterationen beror på den tidigare iterationens nyckelresultat och insikter, så noggrann analys och rapportering är nyckeln till framgång.

Analys kan göras kvantitativt och empiriskt. Den kvantitativa aspekten avser utvärdering under backtesting och jämförelse av noggrannhetsmåttet, som t.ex. WAPE. Den empiriska aspekten hänvisar till att visualisera prediktionskurvan och faktiska måldata, och att använda domänkunskapen för att införliva potentiella faktorer. Dessa analyser hjälper dig att iterera snabbare för att överbrygga gapet mellan prognostiserade resultat och måldata. Att presentera sådana resultat via en veckorapport kan dessutom ofta ge förtroende för företagens slutanvändare.

Automation

Det sista steget involverar ofta diskussionen om POC till produktionsprocess och automatisering. Eftersom ML-projektet är begränsat av den totala projektlängden, kanske vi inte har tillräckligt med tid för att utforska alla möjligheter. Därför kan det ofta tjäna förtroende att ange det potentiella området genom fynden under projektet. Dessutom kan automatisering hjälpa affärsslutanvändare att utvärdera Forecast under en längre period, eftersom de kan använda en befintlig prediktor för att generera prognoser med uppdaterad data.

Framgångskriterierna kan utvärderas med genererade resultat, både ur tekniskt och affärsmässigt perspektiv. Under utvärderingsperioden kan vi uppskatta potentiella fördelar för följande:

  • Öka prognosnoggrannheten (teknisk) – Beräkna prediktionsnoggrannheten med avseende på faktiska försäljningsdata och jämför med det befintliga prognossystemet, inklusive manuella prognoser
  • Minska avfall (affärer) – Minska överprognoser för att minska avfallet
  • Förbättra lagerpriser (företag) – Minska underprognoser för att förbättra lagernivåerna
  • Uppskattning av ökningen av bruttovinsten (företag) – Minska svinnet och förbättra lagernivåerna för att öka bruttovinsten

Vi sammanfattar utvecklingsarbetsflödet i följande diagram.

I de följande avsnitten diskuterar vi de viktiga faktorerna att ta hänsyn till under implementeringen.

Steg-för-steg arbetsflöde för att utveckla ett prognossystem

Generering av måldatauppsättning

Det första steget är att generera måldatauppsättningen för Forecast. Inom detaljhandeln avser detta historiska tidsserier efterfrågan och försäljningsdata för detaljhandelsartiklar (SKU). När man förbereder datasetet är en viktig aspekt granularitet. Vi bör ta hänsyn till datagranulariteten från både affärskrav och tekniska krav.

Verksamheten definierar hur prognoser resulterar i produktionssystemet:

  • Horisont – Antalet tidssteg som prognostiseras. Detta beror på det underliggande affärsproblemet. Om vi ​​vill fylla på lagernivån varje vecka, så verkar en vecko- eller dagsprognos vara lämplig.
  • kornighet – Granulariteten i dina prognoser: tidsfrekvens som dagligen eller veckovis, olika butiksplatser och olika storlekar på samma vara. I slutändan kan förutsägelsen vara en kombination av varje butiks SKU, med dagliga datapunkter.

Även om den tidigare nämnda prognoshorisonten och granulariteten bör definieras för att prioritera affärskravet, kan vi behöva göra avvägningar mellan krav och genomförbarhet. Ta skobranschen som ett exempel. Om vi ​​vill förutsäga försäljning av varje skostorlek på varje butiksnivå blir data snart sparsam och mönstret svårt att hitta. Men för att fylla på lager måste vi uppskatta denna granularitet. För att göra detta kan alternativa lösningar kräva att man uppskattar ett förhållande mellan olika skostorlekar och använder detta förhållande för att beräkna finkorniga resultat.

Vi behöver ofta balansera affärsbehovet och det datamönster som kan läras in och användas för prognoser. För att ge en kvantitativ kvalificering av datamönstren föreslår vi att man använder dataprognos.

Dataförutsägbarhet och datamönsterklassificering

En av de viktigaste insikterna som vi kan samla in från måluppsättningen är dess förmåga att producera kvalitetsprognoser. Detta kan analyseras i den mycket tidiga fasen av ML-projektet. Prognosen lyser när data visar säsongsvariationer, trender och cykliska mönster.

För att bestämma förutsägbarhet finns det två huvudsakliga koefficienter: variation i efterfrågetidspunkt och variation i efterfrågekvantitet. Variation i efterfrågetiming betyder intervallet mellan två fall av efterfrågan, och det mäter efterfrågeregelbundenhet i tid. Variation i efterfrågan kvantitet betyder variation i kvantiteter. Följande figur illustrerar några olika mönster. Prognosnoggrannheten beror starkt på produktens förutsägbarhet. För mer information, se Efterfrågeklassificering: varför förutsägbarhet är viktigt.

Implementering av Amazon Forecast i detaljhandeln: En resa från POC till produktion av PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Det är värt att notera att denna förutsägbarhetsanalys är för varje finkornig artikel (till exempel SKU-Store-Color-Size). Det är ganska vanligt att i ett produktionssystem för efterfrågeprognoser följer olika artiklar olika mönster. Därför är det viktigt att separera objekten efter olika datamönster. Ett typiskt exempel är föremål som rör sig snabbt och långsamt; ett annat exempel skulle vara täta och sparsamma data. Dessutom har ett finkornigt föremål större chanser att ge ett klumpigt mönster. Till exempel i en klädbutik kan försäljningen av ett populärt föremål gå ganska smidigt dagligen, men om vi ytterligare separerar försäljningen av föremålet för varje färg och storlek, blir det snart sparsamt. Därför kan en minskning av granulariteten från SKU-Store-Color-Size till SKU-Store ändra datamönstret från klumpigt till jämnt och vice versa.

Dessutom bidrar inte alla varor till försäljningen lika mycket. Vi har observerat att artikelbidraget ofta följer Pareto-fördelningen, där toppartiklar bidrar med det mesta av försäljningen. Försäljningen av dessa toppartiklar går ofta smidigt. Artiklar med lägre försäljningsrekord är ofta klumpiga och oberäkneliga och därför svåra att uppskatta. Att lägga till dessa artiklar kan faktiskt minska noggrannheten hos de mest populära artiklarna. Baserat på dessa observationer kan vi separera artiklarna i olika grupper, träna Prognosmodellen på toppförsäljningsartiklar och hantera de lägre försäljningsartiklarna som hörnfall.

Databerikning och val av ytterligare datauppsättning

När vi vill använda ytterligare datauppsättningar för att förbättra prestandan för prognosresultat kan vi lita på tidsseriedatauppsättningar och metadatauppsättningar. I detaljhandelsdomänen, baserat på intuition och domänkunskap, kan funktioner som inventering, pris, kampanj och vinter- eller sommarsäsonger importeras som relaterade tidsserier. Det enklaste sättet att identifiera användbarheten av funktioner är via funktionsviktighet. I Forecast görs detta genom förklaringsanalys. Prognos Prediktor förklaring hjälper oss att bättre förstå hur attributen i datamängderna påverkar prognoser för målet. Prognos använder ett mått som kallas effektpoäng för att kvantifiera den relativa effekten av varje attribut och avgöra om de ökar eller minskar prognosvärden. Om ett eller flera attribut har en effektpoäng på noll, har dessa attribut ingen betydande inverkan på prognosvärden. På så sätt kan vi snabbt ta bort de funktioner som har mindre inverkan och lägga till de potentiella iterativt. Det är viktigt att notera att effektpoäng mäter den relativa effekten av attribut, som normaliseras tillsammans med effektpoäng för alla andra attribut.

Liksom alla ML-projekt kräver förbättring av noggrannheten med ytterligare funktioner iterativa experiment. Du måste experimentera med flera kombinationer av datamängder, samtidigt som du observerar effekten av inkrementella förändringar på modellens noggrannhet. Du kan prova att köra flera prognosexperiment via Prognoskonsolen eller med Python-anteckningsböcker med Prognos-API:er. Dessutom kan du gå ombord med AWS molnformation, som distribuerar AWS tillhandahåller färdiga lösningar för vanliga användningsfall (till exempel Förbättra prognosnoggrannheten med maskininlärningslösning). Prognos separerar datauppsättningen automatiskt och producerar noggrannhetsmått för att utvärdera prediktorer. För mer information, se Utvärdering av prediktorns noggrannhet. Detta hjälper dataforskare att iterera snabbare för att uppnå den bästa modellen.

Avancerad förbättring och hantering av hörnfodral

Vi nämnde att prognosalgoritmer kan lära sig säsongsvariationer, trender och cykliska funktioner från data. För objekt med dessa egenskaper och lämplig datatäthet och volym kan vi använda Prognos för att generera uppskattningar. Men när vi möter klumpiga datamönster, särskilt när datamängden är liten, kan vi behöva hantera dem på ett annat sätt, till exempel med empirisk uppskattning baserad på en regeluppsättning.

För täta SKU:er förbättrar vi prognosnoggrannheten ytterligare genom att träna modellerna med liknande uppträdande delmängder av tidsseriedataset. De undergruppssepareringsstrategier som vi använde är affärslogik, produkttyp, datatäthet och mönster som lärts av algoritmen. Efter att delmängderna har genererats kan vi träna flera prognosmodeller för de olika delmängderna. För ett sådant exempel, se Klustra tidsseriedata för användning med Amazon Forecast.

Mot produktion: Uppdatering av datamängden, övervakning och omskolning

Låt oss utforska ett exempel på arkitektur med Forecast, som visas i följande diagram. Varje gång en slutanvändare konsoliderar en ny datamängd på Amazon enkel lagringstjänst (Amazon S3), utlöser den AWS stegfunktioner för att orkestrera olika komponenter, inklusive att skapa datauppsättningsimportjobbet, skapa en automatisk prediktor och generera prognoser. När prognosresultaten har genererats exporterar steget Skapa prognosexport dem till Amazon S3 för nedströmskonsumenter. För mer information om hur du tillhandahåller denna automatiserade pipeline, se Automatisera med AWS CloudFormation. Den använder en CloudFormation-stack för att automatiskt distribuera datauppsättningar till en S3-bucket och trigga en Prognospipeline. Du kan använda samma automatiseringsstack för att generera prognoser med dina egna datamängder.

Implementering av Amazon Forecast i detaljhandeln: En resa från POC till produktion av PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Det finns två sätt att införliva de senaste trenderna i prognossystemet: att uppdatera data eller omskola prediktorn.

För att generera prognosen med uppdaterad data som återspeglar de senaste trenderna måste du ladda upp den uppdaterade indatafilen till en S3-bucket (den uppdaterade indata bör fortfarande innehålla all din befintliga data). Prognos tränar inte automatiskt om en prediktor när du importerar en uppdaterad datauppsättning. Du kan generera prognoser som du brukar göra. Prognos förutsäger prognoshorisonten från och med den sista dagen i den uppdaterade indata. Därför införlivas de senaste trenderna i alla nya slutsatser som produceras av Forecast.

Men om du vill att din prediktor ska tränas av den nya datan måste du skapa en ny prediktor. Du kan behöva överväga att träna om modellen när datamönster (säsongsvariationer, trender eller cykler) ändras. Som nämnts i Övervaka prediktornoggrannheten kontinuerligt med Amazon Forecast, kommer prestandan hos en prediktor att fluktuera över tiden, på grund av faktorer som förändringar i den ekonomiska miljön eller i konsumentbeteende. Därför kan prediktorn behöva tränas om, eller så kan en ny prediktor behöva skapas för att säkerställa att mycket exakta förutsägelser fortsätter att göras. Med hjälp av prediktorövervakning, Forecast kan spåra kvaliteten på dina prediktorer, vilket gör att du kan minska operativa ansträngningar, samtidigt som det hjälper dig att fatta mer välgrundade beslut om att behålla, omskola eller bygga om dina prediktorer.

Slutsats

Amazon Forecast är en tidsserieprognostjänst baserad på ML och byggd för affärsmätningsanalys. Vi kan integrera efterfrågeprognoser med hög noggrannhet genom att kombinera historisk försäljning och annan relevant information såsom lager, kampanjer eller säsong. Inom 8 veckor hjälpte vi en av våra detaljhandelskunder att uppnå korrekt efterfrågeprognoser – 10 % förbättring jämfört med den manuella prognosen. Detta leder till en direkt besparing på 16 arbetstimmar per månad och beräknad försäljningsökning med upp till 11.8 %.

Det här inlägget delade vanliga metoder för att föra ditt prognosprojekt från proof of concept till produktion. Kom igång nu med Amazon Prognos för att uppnå mycket exakta prognoser för ditt företag.


Om författarna

Implementering av Amazon Forecast i detaljhandeln: En resa från POC till produktion av PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Yanwei Cui, PhD, är en maskininlärningsspecialistlösningsarkitekt på AWS. Han startade maskininlärningsforskning vid IRISA (Research Institute of Computer Science and Random Systems) och har flera års erfarenhet av att bygga artificiell intelligensdrivna industriella applikationer inom datorsyn, bearbetning av naturligt språk och online -beteendeprognoser. På AWS delar han domänkompetensen och hjälper kunderna att låsa upp affärspotentialer och driva användbara resultat med maskininlärning i stor skala. Utanför jobbet tycker han om att läsa och resa.

Implementering av Amazon Forecast i detaljhandeln: En resa från POC till produktion av PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Gordon Wang är Senior Data Scientist i Professional Services-teamet på Amazon Web Services. Han stödjer kunder inom många branscher, inklusive media, tillverkning, energi, detaljhandel och hälsovård. Han brinner för datorseende, djupinlärning och MLOps. På fritiden älskar han att springa och vandra.

Tidsstämpel:

Mer från AWS maskininlärning