Implementarea Amazon Forecast în industria de retail: o călătorie de la POC la producție PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Implementarea Amazon Forecast în industria de retail: o călătorie de la POC la producție

Prognoza Amazon este un serviciu complet gestionat care utilizează algoritmi statistici și de învățare automată (ML) pentru a furniza previziuni foarte precise în serie de timp. Recent, pe baza Amazon Forecast, am ajutat unul dintre clienții noștri de vânzare cu amănuntul să realizeze previziuni precise ale cererii, în decurs de 8 săptămâni. Soluția a îmbunătățit prognoza manuală cu o medie de 10% în ceea ce privește WAPE metric. Acest lucru duce la o economie directă de 16 ore de muncă lunar. În plus, am estimat că prin îndeplinirea numărului corect de articole, vânzările ar putea crește cu până la 11.8%. În această postare, vă prezentăm fluxul de lucru și elementele critice pentru implementarea — de la dovada conceptului (POC) la producție — un sistem de prognoză a cererii cu Amazon Forecast, axat pe provocările din industria de retail.

Contextul și provocările actuale ale prognozării cererii în industria de retail

Scopul prognozării cererii este de a estima cererea viitoare din datele istorice și de a ajuta la reaprovizionarea magazinului și alocarea capacității. Cu prognoza cererii, comercianții cu amănuntul sunt capabili să poziționeze cantitatea potrivită de inventar în fiecare locație din rețeaua lor pentru a satisface cererea. Prin urmare, un sistem de prognoză precis poate genera o gamă largă de beneficii pentru diferite funcții de afaceri, cum ar fi:

  • Creșterea vânzărilor de la o mai bună disponibilitate a produselor și reducerea efortului de transfer între magazine
  • Oferirea de informații mai fiabile pentru a îmbunătăți utilizarea capacității și pentru a evita în mod proactiv blocajele în furnizarea capacității
  • Minimizarea costurilor de stoc și de producție și îmbunătățirea rotației stocurilor
  • Prezentarea unei experiențe generale mai bune pentru clienți

Tehnicile ML demonstrează o valoare mare atunci când este prezent un volum mare de date de bună calitate. Astăzi, managementul reaprovizionarii bazat pe experiență sau prognoza cererii este încă curentul principal pentru majoritatea comercianților cu amănuntul. Cu scopul de a îmbunătăți experiența clienților, tot mai mulți retaileri sunt dispuși să înlocuiască sistemele de prognoză a cererii bazate pe experiență cu previziuni bazate pe ML. Cu toate acestea, comercianții cu amănuntul se confruntă cu multiple provocări atunci când implementează sisteme de prognoză a cererii bazate pe ML în producție. Rezumam diferitele provocări în trei categorii: provocări legate de date, provocări ML și provocări operaționale.

Provocări legate de date

Un volum mare de date curate și de calitate este o cerință cheie pentru a genera predicții precise bazate pe ML. Datele de calitate, inclusiv datele istorice despre vânzări și date legate de vânzări (cum ar fi inventarul, prețurile articolelor și promoțiile), trebuie să fie colectate și consolidate. Diversitatea datelor din mai multe resurse necesită o platformă modernă de date pentru a uni silozurile de date. În plus, accesul la date în timp util este necesar pentru prognozele frecvente și precise ale cererii.

Provocări ML

Dezvoltarea algoritmilor ML avansați necesită experiență. Implementarea algoritmilor potriviți pentru problema potrivită necesită atât cunoștințe aprofundate de domeniu, cât și competențe ML. În plus, învățarea din seturi mari de date disponibile necesită o infrastructură ML scalabilă. Mai mult decât atât, menținerea algoritmilor ML în producție necesită competențe ML pentru a analiza cauza principală a degradării modelului și a reinstrui corect modelul.

Pentru a rezolva probleme practice de afaceri, producerea de prognoze precise este doar o parte a poveștii. Factorii de decizie au nevoie de previziuni probabilistice la diferite cuantile pentru a face o experiență importantă a clienților în raport cu rezultatele financiare. Ei trebuie, de asemenea, să explice predicțiile părților interesate și să efectueze analize care ar fi cazul pentru a investiga modul în care diferitele scenarii ar putea afecta rezultatele prognozelor.

Provocări operaționale

Reducerea efortului operațional de menținere a unui sistem de prognoză rentabil este a treia provocare principală. Într-un scenariu comun de prognoză a cererii, fiecare articol din fiecare locație are propria sa prognoză. Este necesar un sistem care poate gestiona sute de mii de prognoze în orice moment. În plus, utilizatorii finali de afaceri au nevoie ca sistemul de prognoză să fie integrat în sistemele existente din aval, cum ar fi platformele existente de management al lanțului de aprovizionare, astfel încât să poată utiliza sisteme bazate pe ML fără a modifica instrumentele și procesele existente.

Aceste provocări sunt deosebit de acute atunci când afacerile sunt mari, dinamice și în creștere. Pentru a aborda aceste provocări, împărtășim o poveste de succes a clienților care reduce eforturile de a valida rapid câștigul potențial al afacerii. Acest lucru se realizează prin prototipare cu Amazon Forecast — un serviciu complet gestionat care oferă rezultate precise de prognoză, fără a fi nevoie să gestioneze resursele și algoritmii de infrastructură subiacente.

Creare rapidă de prototipuri pentru un sistem de prognoză bazat pe ML cu Amazon Forecast

Pe baza experienței noastre, vedem adesea că clienții cu amănuntul sunt dispuși să inițieze o dovadă de concept cu privire la datele lor de vânzări. Acest lucru poate fi realizat într-un interval de la câteva zile până la câteva săptămâni pentru prototipare rapidă, în funcție de complexitatea datelor și de resursele disponibile pentru a repeta prin procesul de ajustare a modelului. În timpul prototipării, vă sugerăm utilizarea sprinturilor pentru a gestiona eficient procesul și separarea POC în faze de explorare a datelor, îmbunătățire iterativă și automatizare.

Explorarea datelor

Explorarea datelor implică adesea discuții intense cu oamenii de știință ai datelor sau cu analiștii de business intelligence pentru a se familiariza cu setul de date istorice despre vânzări și sursele de date disponibile care pot avea un impact potențial asupra rezultatelor prognozei, cum ar fi inventarul și evenimentele promoționale istorice. Una dintre cele mai eficiente modalități este de a consolida datele de vânzări, ca set de date țintă, din depozitul de date în stadiul incipient al proiectului. Acest lucru se bazează pe faptul că rezultatele prognozelor sunt adesea dominate de modelele setului de date țintă. Depozitele de date stochează adesea date de afaceri de zi cu zi, iar o înțelegere exhaustivă într-o perioadă scurtă de timp este dificilă și necesită timp. Sugestia noastră este să ne concentrăm pe generarea setului de date țintă și să ne asigurăm că acest set de date este corect. Aceste explorări de date și rezultatele de referință pot fi adesea obținute în câteva zile, iar acest lucru poate determina dacă datele țintă pot fi prognozate cu acuratețe. Vom discuta despre prognoza datelor mai târziu în această postare.

Repetare

După ce avem rezultatele de referință, putem continua să adăugăm mai multe date conexe pentru a vedea cum acestea pot afecta acuratețea. Acest lucru se face adesea printr-o scufundare profundă în seturi de date suplimentare; pentru mai multe informații, consultați Utilizarea seturilor de date legate de serii temporale și Utilizarea setului de date cu metadate ale articolului.

În unele cazuri, este posibil să se îmbunătățească acuratețea în Amazon Forecast prin antrenarea modelelor cu subseturi similare ale setului de date sau prin eliminarea datelor rare din setul de date. În timpul acestei faze de îmbunătățire iterativă, partea provocatoare - valabilă pentru toate proiectele ML - este că iterația actuală depinde de constatările și perspectivele cheie ale iterației anterioare, astfel încât analiza și raportarea riguroasă sunt cheia succesului.

Analiza se poate face cantitativ și empiric. Aspectul cantitativ se referă la evaluarea în timpul backtestingului și la compararea metricii de acuratețe, cum ar fi WAPE. Aspectul empiric se referă la vizualizarea curbei de predicție și a datelor țintă reale și la utilizarea cunoștințelor domeniului pentru a încorpora factori potențiali. Aceste analize vă ajută să repetați mai rapid pentru a reduce decalajul dintre rezultatele prognozate și datele țintă. În plus, prezentarea unor astfel de rezultate printr-un raport săptămânal poate oferi adesea încredere utilizatorilor finali de afaceri.

Automatizare

Pasul final implică adesea discuția despre POC până la procedura de producție și automatizare. Deoarece proiectul ML este constrâns de durata totală a proiectului, este posibil să nu avem suficient timp pentru a explora fiecare posibilitate. Prin urmare, indicarea zonei potențiale de-a lungul constatărilor în timpul proiectului poate câștiga adesea încredere. În plus, automatizarea poate ajuta utilizatorii finali de afaceri să evalueze Forecast pentru o perioadă mai lungă, deoarece pot folosi un predictor existent pentru a genera prognoze cu datele actualizate.

Criteriile de succes pot fi evaluate cu rezultatele generate, atât din punct de vedere tehnic, cât și din punct de vedere comercial. Pe parcursul perioadei de evaluare, putem estima beneficii potențiale pentru următoarele:

  • Creșterea preciziei prognozei (tehnică) – Calculați acuratețea predicției în ceea ce privește datele reale de vânzări și comparați cu sistemul de prognoză existent, inclusiv prognozele manuale
  • Reducerea deșeurilor (afaceri) – Reduceți supra-prognoza pentru a reduce deșeurile
  • Îmbunătățirea ratelor în stoc (afaceri) – Reduceți subestimarea pentru a îmbunătăți ratele stocurilor
  • Estimarea creșterii profitului brut (afacere) – Reduceți risipa și îmbunătățiți ratele stocurilor pentru a crește profitul brut

Rezum fluxul de lucru de dezvoltare în diagrama următoare.

În secțiunile următoare, vom discuta elementele importante de luat în considerare în timpul implementării.

Flux de lucru pas cu pas pentru dezvoltarea unui sistem de prognoză

Generarea setului de date țintă

Primul pas este generarea setului de date țintă pentru Forecast. În industria de vânzare cu amănuntul, aceasta se referă la datele istorice privind cererea și vânzările din seria cronologică pentru articolele de vânzare cu amănuntul (SKU). La pregătirea setului de date, un aspect important este granularitatea. Ar trebui să luăm în considerare granularitatea datelor atât din cerințele de afaceri, cât și din cerințele tehnice.

Afacerea definește modul în care prognoza rezultă în sistemul de producție:

  • Horizon – Numărul de pași de timp estimați. Aceasta depinde de problema de afaceri de bază. Dacă dorim să reumplem nivelul stocului în fiecare săptămână, atunci o prognoză săptămânală sau zilnică pare potrivită.
  • granularitate – Granularitatea prognozelor dvs.: frecvența de timp, cum ar fi zilnic sau săptămânal, diferite locații de magazine și diferite dimensiuni ale aceluiași articol. În cele din urmă, predicția poate fi o combinație a fiecărui SKU magazin, cu puncte de date zilnice.

Deși orizontul de prognoză și granularitatea menționate mai sus ar trebui definite pentru a prioritiza cerințele de afaceri, ar putea fi necesar să facem compromisuri între cerințe și fezabilitate. Luați ca exemplu afacerea cu încălțăminte. Dacă vrem să anticipăm vânzările pentru fiecare mărime de pantofi la fiecare nivel de magazin, datele devin curând rare și modelul este greu de găsit. Cu toate acestea, pentru a reumple stocul, trebuie să estimăm această granularitate. Pentru a face acest lucru, soluțiile alternative ar putea necesita estimarea unui raport între diferite mărimi de pantofi și utilizarea acestui raport pentru a calcula rezultate cu granulație fină.

De multe ori trebuie să echilibrăm cerințele de afaceri și modelul de date care poate fi învățat și utilizat pentru prognoză. Pentru a oferi o calificare cantitativă a tiparelor de date, propunem utilizarea previzibilității datelor.

Previzibilitatea datelor și clasificarea modelelor de date

Una dintre informațiile cheie pe care le putem colecta din setul de date țintă este capacitatea acestuia de a produce previziuni de calitate. Acest lucru poate fi analizat în faza foarte incipientă a proiectului ML. Prognoza strălucește atunci când datele arată sezonalitatea, tendințele și modelele ciclice.

Pentru a determina predictibilitatea, există doi coeficienți majori: variabilitatea în timpul cererii și variabilitatea cantității cererii. Variabilitatea timpului cererii înseamnă intervalul dintre două cazuri de cerere și măsoară regularitatea cererii în timp. Variabilitatea cantității cererii înseamnă variația cantităților. Figura următoare ilustrează câteva modele diferite. Precizia prognozei depinde în mare măsură de previziunile produsului. Pentru mai multe informații, consultați Clasificarea cererii: de ce contează prognoza.

Implementarea Amazon Forecast în industria de retail: o călătorie de la POC la producție PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Este de remarcat faptul că această analiză de previzibilitate este pentru fiecare articol cu ​​granulație fină (de exemplu, SKU-Store-Color-Size). Este destul de comun ca într-un sistem de producție de prognoză a cererii, diferite articole să urmeze modele diferite. Prin urmare, este important să separați elementele urmând diferite modele de date. Un exemplu tipic este articolele cu mișcare rapidă și lentă; un alt exemplu ar fi datele dense și rare. În plus, un articol cu ​​granulație fină are mai multe șanse să producă un model negru. De exemplu, într-un magazin de îmbrăcăminte, vânzările unui articol popular pot fi destul de fluide zilnic, dar dacă separăm și mai mult vânzările articolului pentru fiecare culoare și dimensiune, acestea devin în curând rare. Prin urmare, reducerea granularității de la SKU-Store-Color-Size la SKU-Store poate schimba modelul de date de la negru la neted și invers.

În plus, nu toate articolele contribuie la vânzări în mod egal. Am observat că contribuția articolului urmează adesea distribuția Pareto, în care articolele de top contribuie cu cea mai mare parte a vânzărilor. Vânzările acestor articole de top sunt adesea fluide. Articolele cu un record de vânzări mai scăzut sunt adesea negru și neregulate și, prin urmare, greu de estimat. Adăugarea acestor articole poate scădea de fapt acuratețea articolelor de top vândute. Pe baza acestor observații, putem separa articolele în diferite grupuri, putem instrui modelul Forecast pe articolele de vânzări de top și gestionăm articolele de vânzări inferioare ca cazuri de colț.

Îmbogățirea datelor și selectarea setului de date suplimentar

Când dorim să folosim seturi de date suplimentare pentru a îmbunătăți performanța rezultatelor prognozelor, ne putem baza seturi de date serii de timp și seturi de date metadate. În domeniul comerțului cu amănuntul, pe baza intuiției și cunoștințelor domeniului, caracteristici precum inventarul, prețul, promovarea și anotimpurile de iarnă sau de vară ar putea fi importate ca serie temporală aferentă. Cel mai simplu mod de a identifica utilitatea caracteristicilor este prin importanța caracteristicilor. În Forecast, acest lucru se face prin analiza explicabilității. Prognoza Explicabilitatea predictorului ne ajută să înțelegem mai bine modul în care atributele din seturile de date influențează prognozele pentru țintă. Forecast folosește o măsurătoare numită scoruri de impact pentru a cuantifica impactul relativ al fiecărui atribut și pentru a determina dacă acestea cresc sau descresc valorile prognozate. Dacă unul sau mai multe atribute au un scor de impact de zero, atunci aceste atribute nu au un impact semnificativ asupra valorilor prognozate. În acest fel, putem elimina rapid caracteristicile care au mai puțin impact și le putem adăuga pe cele potențiale în mod iterativ. Este important de reținut că scorurile de impact măsoară impactul relativ al atributelor, care sunt normalizate împreună cu scorurile de impact ale tuturor celorlalte atribute.

La fel ca toate proiectele ML, îmbunătățirea acurateței cu funcții suplimentare necesită experimente iterative. Trebuie să experimentați cu mai multe combinații de seturi de date, observând în același timp impactul modificărilor incrementale asupra acurateței modelului. Puteți încerca să rulați mai multe experimente Forecast prin consola Forecast sau cu Notebook-uri Python cu API-uri de prognoză. În plus, vă puteți îmbarca cu Formarea AWS Cloud, care implementează AWS, a oferit soluții gata făcute pentru cazuri de utilizare obișnuite (de exemplu, aplicația Îmbunătățirea preciziei prognozelor cu soluția de învățare automată). Prognoza separă automat setul de date și produce valori de precizie pentru a evalua predictorii. Pentru mai multe informații, vezi Evaluarea preciziei predictorului. Acest lucru îi ajută pe oamenii de știință de date să repete mai rapid pentru a obține cel mai performant model.

Îmbunătățirea avansată și manipularea colțurilor

Am menționat că algoritmii de prognoză pot învăța sezonalitatea, tendințele și caracteristicile ciclice din date. Pentru articolele cu aceste caracteristici și cu densitatea și volumul de date adecvate, putem folosi Forecast pentru a genera estimări. Cu toate acestea, atunci când ne confruntăm cu modele de date nebuloase, mai ales când volumul de date este mic, ar putea fi nevoie să le gestionăm diferit, cum ar fi estimarea empirică bazată pe un set de reguli.

Pentru SKU-uri dense, îmbunătățim și mai mult acuratețea prognozei prin antrenarea modelelor cu subseturi similare ale setului de date din seria temporală. Strategiile de separare a subsetului pe care le-am folosit sunt logica de afaceri, tipul de produs, densitatea datelor și modelele învățate de algoritm. După ce sunt generate subseturile, putem antrena mai multe modele de prognoză pentru diferitele subseturi. Pentru un astfel de exemplu, consultați Clusterează datele seriilor temporale pentru a fi utilizate cu Amazon Forecast.

Spre producție: actualizarea setului de date, monitorizarea și recalificarea

Să explorăm un exemplu de arhitectură cu Forecast, așa cum se arată în diagrama următoare. De fiecare dată când un utilizator final consolidează un nou set de date Serviciul Amazon de stocare simplă (Amazon S3), se declanșează Funcții pas AWS pentru a orchestra diferite componente, inclusiv crearea jobului de import al setului de date, crearea unui predictor automat și generarea de prognoze. După ce rezultatele prognozei sunt generate, pasul Creare export de prognoză le exportă în Amazon S3 pentru consumatorii din aval. Pentru mai multe informații despre cum să furnizați această conductă automată, consultați Automatizare cu AWS CloudFormation. Folosește o stivă CloudFormation pentru a implementa automat seturi de date într-un compartiment S3 și pentru a declanșa o conductă de prognoză. Puteți utiliza aceeași stivă de automatizare pentru a genera prognoze cu propriile seturi de date.

Implementarea Amazon Forecast în industria de retail: o călătorie de la POC la producție PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Există două modalități de a încorpora tendințele recente în sistemul de prognoză: actualizarea datelor sau reantrenarea predictorului.

Pentru a genera prognoza cu date actualizate care reflectă tendințele recente, trebuie să încărcați fișierul de date de intrare actualizat într-un compartiment S3 (datele de intrare actualizate ar trebui să conțină în continuare toate datele existente). Prognoza nu reinstruiește automat un predictor atunci când importați un set de date actualizat. Poti genera previziuni cum faci de obicei. Prognoza prezice orizontul de prognoză începând din ultima zi din datele de intrare actualizate. Prin urmare, tendințele recente sunt încorporate în orice inferențe noi produse de Forecast.

Cu toate acestea, dacă doriți ca predictorul dvs. să fie instruit pe baza noilor date, trebuie să creați un nou predictor. Poate fi necesar să luați în considerare reantrenarea modelului atunci când modelele de date (sezonalitate, tendințe sau cicluri) se schimbă. După cum se menționează în Monitorizați continuu precizia predictorilor cu Amazon Forecast, performanța unui predictor va fluctua în timp, din cauza unor factori precum schimbări în mediul economic sau în comportamentul consumatorului. Prin urmare, este posibil ca predictorul să fie nevoie să fie reantrenat sau poate fi necesar să fie creat un nou predictor pentru a asigura continuarea unor predicții foarte precise. Cu ajutorul monitorizarea predictorilor, Forecast poate urmări calitatea predictorilor dvs., permițându-vă să reduceți eforturile operaționale, ajutându-vă în același timp să luați decizii mai informate cu privire la păstrarea, reinstruirea sau reconstruirea predictorilor.

Concluzie

Amazon Forecast este un serviciu de prognoză în serii de timp bazat pe ML și creat pentru analiza valorilor de afaceri. Putem integra predicția de prognoză a cererii cu o acuratețe ridicată, combinând vânzările istorice și alte informații relevante, cum ar fi inventarul, promoțiile sau sezonul. În decurs de 8 săptămâni, l-am ajutat pe unul dintre clienții noștri de vânzare cu amănuntul să realizeze previziuni precise ale cererii — îmbunătățire cu 10% în comparație cu prognoza manuală. Acest lucru duce la o economie directă de 16 ore de muncă lunar și la o creștere estimată a vânzărilor cu până la 11.8%.

Această postare a împărtășit practici comune pentru a vă aduce proiectul de prognoză de la dovada conceptului la producție. Începeți acum cu Prognoza Amazon pentru a realiza previziuni extrem de precise pentru afacerea dvs.


Despre Autori

Implementarea Amazon Forecast în industria de retail: o călătorie de la POC la producție PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Yanwei Cui, PhD, este arhitect de soluții specializat în învățare automată la AWS. A început cercetarea învățării automate la IRISA (Institutul de Cercetare în Știința Calculatoarelor și Sisteme Aleatoare) și are câțiva ani de experiență în construirea de aplicații industriale bazate pe inteligență artificială în viziunea computerizată, procesarea limbajului natural și predicția comportamentului utilizatorilor online. La AWS, el împărtășește expertiza domeniului și ajută clienții să deblocheze potențialul de afaceri și să genereze rezultate acționabile cu învățarea automată la scară. În afara serviciului, îi place să citească și să călătorească.

Implementarea Amazon Forecast în industria de retail: o călătorie de la POC la producție PlatoBlockchain Data Intelligence. Căutare verticală. Ai.Gordon Wang este Senior Data Scientist în echipa de Servicii profesionale de la Amazon Web Services. El sprijină clienții din multe industrii, inclusiv media, producție, energie, retail și asistență medicală. Este pasionat de viziunea computerizată, învățarea profundă și MLOps. În timpul liber, îi place să alerge și să facă drumeții.

Timestamp-ul:

Mai mult de la Învățare automată AWS