Opsio - Cloud and AI Solutions
Cloud7 min læsning· 1.538 ord

Hvad er en god prognosenøjagtighed i procent?

Johan Carlsson
Johan Carlsson

Country Manager, Sverige

Udgivet: ·Opdateret:
Oversat fra engelsk og gennemgået af Opsios redaktion. Se originalen →

Der findes ikke ét enkelt tal, der udgør en god prognosenøjagtighed. Nøjagtighed, som oftest opgjort som 100 % minus MAPE eller WAPE, afhænger af, på hvilket niveau du måler, tidshorisonten og hvor volatil efterspørgslen er. En god prognose slår en simpel naiv prognose og din egen tidligere nøjagtighed på det niveau, hvor beslutningerne faktisk træffes.

Vigtigste pointer

  • Den samme prognose kan score tæt på 99 % for en produktfamilie pr. måned og under 80 % pr. vare pr. uge. Angiv altid niveau og horisont sammen med tallet.
  • WAPE (samlet absolut fejl divideret med samlet faktisk salg) er et sikrere grundlag for en nøjagtighedsprocent end MAPE, som bryder sammen ved lavt eller nul salg.
  • Vurder nøjagtigheden op mod en benchmark: en naiv prognose, sidste års nøjagtighed eller den fejl, du har råd til set i forhold til leveringstider og sikkerhedslager.
  • Følg bias for sig. En prognose, der konsekvent ligger 10 % for højt, kan se "nøjagtig" ud i gennemsnit, mens lagrene fyldes op.
  • Mål på beslutningsniveau: ugentligt pr. distributionscenter til genopfyldning, månedligt pr. produktfamilie til kapacitet og kvartalsvist til budgetter.

Hvad er prognosenøjagtighed?

Prognosenøjagtighed er, hvor tæt de forudsagte værdier ligger på det, der faktisk skete. De fleste teams beregner først en prognosefejl og angiver derefter nøjagtigheden som dens komplement: er fejlen 15 %, er nøjagtigheden 85 %.

Udfordringen er, at "fejl" kan beregnes på flere måder, og hver af dem giver en forskellig procent for den samme prognose. Før du sammenligner dit tal med andres, bør du tjekke, hvilken formel, hvilket aggregeringsniveau og hvilken tidsforskydning de har brugt.

Hvordan beregner du prognosenøjagtighed?

Det er de formler, du oftest vil støde på. A er den faktiske værdi og F prognosen for hver vare og periode.

MåltalFormelVelegnet tilVær opmærksom på
MAPE (mean absolute percentage error)gennemsnit af |A − F| ÷ AEnkelte serier med stabile, høje volumenerUdefineret, når A er nul, og eksploderer, når A er lille
WAPE (weighted absolute percentage error)Σ|A − F| ÷ ΣAPorteføljer med blandede volumener; det mest almindelige grundlag for "nøjagtighed i %"Domineres af varer med højt volumen, så langsomt omsættelige varer kan gemme sig
BiasΣ(F − A) ÷ ΣAAt opdage systematisk over- eller underprognosticeringPositive og negative fejl udligner hinanden, så brug det aldrig alene
RMSE (root mean squared error)√ gennemsnit af (A − F)²Når store fejl er langt værre end småAngives i enheder, ikke i procent, og er følsomt over for outliers
MASE (mean absolute scaled error)MAE ÷ MAE for en naiv prognoseSammenligning på tværs af serier; har en indbygget benchmarkMindre intuitivt for forretningsfolk

Prognosenøjagtighed i % er derefter som regel 100 % − WAPE, med nul som nedre grænse. Lærebogen om prognoser af Hyndman og Athanasopoulos forklarer, hvorfor procentfejl som MAPE er "infinite or undefined", når det faktiske tal er nul, og ekstreme, når det er tæt på nul (Forecasting: Principles and Practice, afsnit 5.8). Det er hovedårsagen til, at efterspørgselsplanlæggere går fra MAPE til WAPE. AWS' dokumentation om prognoser beskriver WAPE på samme måde og bemærker, at den er mindre følsom over for outliers end RMSE, fordi den bruger absolutte frem for kvadrerede fejl (Amazon Forecast accuracy metrics).

Et regneeksempel: én prognose, tre nøjagtighedstal

Tag tre produkter i én uge (illustrative tal):

ProduktPrognoseFaktiskAbsolut fejl
A, hurtigt omsættelig1009010
B, middel507020
C, langsomt omsættelig1028
I alt16016238
  • Totalniveau: prognose 160 mod faktisk 162. Fejlen er 1,2 %, så nøjagtigheden er 98,8 %.
  • Vareniveau, WAPE: 38 ÷ 162 = 23,5 % fejl, så nøjagtigheden er 76,5 %.
  • Vareniveau, MAPE: 11,1 %, 28,6 % og 400 %, i gennemsnit ca. 147 % fejl. Nøjagtigheden er meningsløs, alene fordi produkt C kun solgte 2 enheder.
  • Bias: (160 − 162) ÷ 162 = −1,2 %, tæt på neutral.

Intet ved prognosen ændrede sig mellem de linjer. Det var kun målingen. Derfor siger en leverandør, der hævder "95 % nøjagtighed", meget lidt, før du kender niveauet, måltallet og horisonten.

Hvad er en god prognosenøjagtighed?

Et godt tal er et, der er bedre end en simpel benchmark og godt nok til den beslutning, det understøtter. Offentliggjorte "branchegennemsnit" oplyser sjældent deres formel eller niveau, så vær forsigtig med dem og opbyg i stedet din egen baseline.

Brug tre tests:

  1. Slår den en naiv prognose? En naiv prognose gentager blot den seneste værdi eller, for sæsonvarer, værdien fra samme periode sidste år. Kan din model ikke slå den, tilfører den ingen værdi. MASE gør det eksplicit: i lærebogens definition betyder en skaleret fejl under én, at prognosen er bedre end den naive (FPP3).
  2. Bliver den bedre i forhold til din egen historik? Sammenlign dette kvartals WAPE med samme kvartal sidste år, på samme niveau og med samme tidsforskydning.
  3. Er den resterende fejl til at bære? Omsæt fejlen til sikkerhedslager, tabt salg eller uudnyttet kapacitet. Hvis det koster mere at skære to point af fejlen, end det sparer i ekstra lager, så stop dér.

Et nyttigt realitetstjek fra samme lærebog: for kvartalsvis australsk ølproduktion giver en almindelig sæsonbestemt naiv metode en MAPE på 3,17 %, hvilket ville blive rapporteret som ca. 97 % nøjagtighed. Glatte, sæsonprægede serier er lette. Volatile, intermitterende serier er det ikke, og en lavere procent på dem kan stadig være den bedre prognose.

Hvad får tallet til at stige eller falde

FaktorEffekt på nøjagtighedenHvad du kan gøre
AggregeringsniveauHøjere niveauer (familie, region, måned) scorer markant højereRapportér nøjagtighed på det niveau, hvor ordrer og kapacitet afgøres
VolumenVarer med lavt og intermitterende salg scorer lavtSegmentér varerne (fx ABC/XYZ) og sæt separate mål
Horisont og tidsforskydningPrognoser lavet længere frem er mindre nøjagtigeMål med den tidsforskydning, der svarer til leverandørens leveringstid
Produktets alderNye produkter har ingen historikBrug analoge produkter eller skøn, og følg dem separat
Kampagner, vejr, begivenhederUdsving, som modellen ikke kendte tilGiv kendte begivenheder som input til modellen, og gennemgå manuelle ændringer bagefter

Sådan forbedrer du prognosenøjagtigheden

  • Rens historikken. Fjern perioder med lagermangel (nul salg, fordi hylderne var tomme), dubletter og engangsordrer, før du træner.
  • Start enkelt. En sæsonbestemt naiv model eller eksponentiel udjævning er en fair baseline og nem at forklare. Tilføj kompleksitet, først når den slår baseline i backtests.
  • Brug backtesting. Test modeller på perioder, de ikke har set, helst med rolling-origin krydsvalidering, frem for på de data, de er tilpasset til.
  • Tilføj drivere, du faktisk kender på forhånd: prisændringer, kampagner, helligdage og kortsigtet vejr for sæsonvarer.
  • Mål værdien af manuelle ændringer. Sammenlign den statistiske prognose med den justerede. Justeringer fra salg og planlæggere tilfører ofte bias.
  • Aftal ét tal på tværs af funktioner. Salg, marketing, drift og økonomi bør gennemgå den samme prognose med kendte forudsætninger efter en fast rytme.
  • Planlæg for den fejl, du ikke kan fjerne. Nogle gange giver kortere leveringstider, mindre batches eller fleksibel kapacitet mere end endnu en model.

Machine learning og prognoseværktøjer i skyen

Machine learning-modeller hjælper mest, når du har mange beslægtede serier og brugbare eksterne drivere, for eksempel tusindvis af SKU'er i mange butikker. De hjælper mindre på korte, sparsomme historikker. På AWS skal du bemærke, at Amazon Forecast ikke længere er tilgængelig for nye kunder (AWS-dokumentation). Nye projekter bruger typisk SageMaker eller open source-biblioteker med de samme nøjagtighedsmål, som er beskrevet ovenfor. Uanset værktøj bør du beholde den naive baseline i dine rapporter, så du kan se, hvad modellen tilfører.

Sådan hjælper Opsio

Opsios teams inden for prædiktiv analyse og dataanalyse og BI hjælper organisationer med at etablere de datapipelines, den backtesting og de dashboards, der ligger bag et troværdigt nøjagtighedstal. Når modeller går i produktion, tager vores MLOps-praksis sig af gentræning, overvågning og drift-alarmer i skyen. Et bredere overblik over, hvordan ML adskiller sig fra andre AI-discipliner, finder du i computer vision vs machine learning.

Ofte stillede spørgsmål

Er 80 % prognosenøjagtighed godt?

Det afhænger af niveauet. På vare-pr.-uge-niveau for et blandet detailsortiment kan 80 % (100 % − WAPE) være stærkt. På virksomhed-pr.-måned-niveau ville det som regel være svagt. Sammenlign med en naiv prognose på samme niveau, før du konkluderer noget.

Hvordan beregner jeg prognosenøjagtighed i Excel?

Læg de faktiske tal i kolonne A og prognoserne i kolonne B. Beregn den absolutte fejl pr. række med =ABS(A2-B2). Nøjagtigheden er derefter 1 − SUM(absolutte fejl) ÷ SUM(faktiske tal), altså 1 − WAPE. Formatér den som procent, og sæt negative værdier til nul.

Hvad er forskellen på prognosenøjagtighed og prognosebias?

Nøjagtighed måler fejlenes størrelse uanset retning. Bias måler deres retning: om du i gennemsnit prognosticerer for højt eller for lavt. Du har brug for begge, fordi fejl i modsat retning udligner hinanden i bias.

Hvorfor er min MAPE så høj, selvom prognosen ser fin ud?

Som regel fordi nogle varer har meget små faktiske tal. En fejl på 8 enheder på en vare, der solgte 2, er en fejl på 400 %, som trækker gennemsnittet op. Skift til WAPE eller MASE, eller segmentér de langsomt omsættelige varer.

Kan prognosenøjagtighed være negativ?

Matematisk kan 1 − MAPE eller 1 − WAPE komme under nul, når fejlene overstiger de faktiske tal. De fleste teams sætter tallet til 0 % som nedre grænse og ser i stedet på den underliggende fejl.

Skrevet af

Johan Carlsson
Johan Carlsson

Country Manager, Sverige

Johan leder Opsios drift i Sverige og driver AI-indførelse, DevOps-transformation, sikkerhedsstrategi og cloud-løsninger til nordiske virksomheder. Med over 12 års erfaring inden for cloud-infrastruktur har han leveret over 200 projekter på AWS, Azure og GCP — med speciale i Well-Architected-reviews, landing zone-design og multi-cloud-strategi.

Redaktionelle retningslinjer: Artiklen er skrevet af den cloud-ekspert, der er angivet i bylinen ovenfor. Vi opdaterer den, når den teknologi eller regulering, den handler om, ændrer sig; datoerne på siden viser den seneste opdatering. Opsio er redaktionelt uafhængig.