28 november 2019
Förstå och förutsäg ditt transaktionsdata
I den här delen ska vi ta en titt på hur man kan analysera sitt transaktionsdata. Det finns mycket information att dra lärdom av i olika typer av transaktionsdata. Kanske har du någon gång funderat på hur och varför det finns svängningar i datat som inte riktigt ser slumpmässiga ut, men som inte heller verkar gå att förklara på ett enkelt sätt.
Kanske har du även försökt att göra manuella prognoser baserat på kunskap om gammalt data, vilket både är en tidsödande process och en process som är svår att göra utan en mängd förenklingar och subjektiva antaganden.
Betrakta datat som en tidserie
En tidsserie är en datamängd som är insamlad över en tidsperiod, det vill säga varje datapunkt har utöver datat självt även en tidsstämpel då den är insamlad. Transaktionsdata i allmänhet kan betraktas som tidsserier. Det som är fint i sammanhanget är att det finns en mängd vedertagna metoder för att analysera tidsserier. Här är några exempel på transaktionsdata som kan finnas i verksamhetssystem och som vi kan analysera med metoder framtagna för just tidsserier:
- Tidrapporter
- Ärenden
- Inloggningar i webbshoppen
- Ordrar
- Fakturor
En första titt på en tidsserie för bekräftade ordrar
Nu när vi vet vad en tidsserie är kan vi börja fundera på hur en sådan kan se ut. Genom att plotta tidsserien med en horisontell tidsaxel får vi en bra bild över hur datat förändras över tid. I figur 1 visas en tidsserie som sträcker sig över kalenderåret 2018. Datat i det här exemplet är från ett ordersystem där vi har antalet bekräftade ordrar per dag.
Det går direkt att se att datat ser ut som en stor våg där det finns ett antal skarpa toppar och dalar med ungefär en månads mellanrum. Det ser också ut att finnas någon typ av slumpfaktor i datat eftersom grafen är så taggig.
Figur 1. En tidsserie som visar antalet bekräftade ordrar under kalenderåret 2018.
Analys av tidsserien och uppdelning i komponenter
Tänk om vi kunde bryta ut de olika komponenterna som vi tycker oss urskilja (större våg, månatliga toppar/dalar och slumpfaktor) och titta på dessa var för sig. Hur gör vi för att åstadkomma det?
En första ansats är att benämna de enskilda komponenterna med varsin storhet.
Vi benämner den större vågformen som den cykliska komponenten, eller C. På samma sätt benämner vi den månatliga komponenten och slumpkomponenten för M respektive S. Dessutom antar vi att det finns en trendkomponent T, eftersom hela tidsserien kanske tenderar att öka eller minska med tiden, även om det kan vara svårt att se i grafen i just det här fallet.
Nu kan det vara så att komponenterna är additiva eller multiplikativa, dvs. komponenterna kan bidra lika mycket oavsett nivån på tidsserien, eller så bidrar komponenterna proportionellt mot tidsseriens nivå. Vi gör först en komponentuppdelning med den additiva modellen och ser hur slumpkomponenten ser ut. Om den verkligen ser helt slumpmässig ut (utan skönjbara mönster), så är det en additiv modell vi vill ha.
Figur 2 visar de olika komponenterna och vi kan se på slumpkomponenten att vårt antagande om en additiv modell var riktigt.
Figur 2. De olika komponenterna som tillsammans utgör vår tidsserie från figur 1.
Förutsäg ordervolymer utifrån vår tidsserie
Att känna till underliggande mekanismer för hur våra ordervolymer varierar med tiden har ett värde i sig, men nu kan vi gå ett steg längre och dessutom förutsäga ordervolymer i framtiden baserat på vår analys.
Grundtanken är att göra en förutsägelse om ordervolym vid tidpunkt t baserat på kunskap om ordervolymer vid tidpunkter bakåt i tiden: (t-1), (t-2), (t-3), … och så vidare. Hur långt bakåt i tiden vi ska ta hänsyn till behöver vi experimentera oss fram till. Det är sannolikt att ordervolymen imorgon är starkt korrelerad med ordervolymen idag, att den är svagare korrelerad med ordervolymen för några veckor sedan, och kanske inte alls korrelerad med ordervolymen för flera månader sedan. Exakt var vi drar gränsen återstår att se.
För att göra en prognos för ordervolymen i detta exempel använder vi den ursprungliga tidsserien och en metod som heter ARIMA och som är närbesläktad med linjär regression. Metoden består av två delar där den första är en linjärkombination av tidigare datapunkter och där den andra delen är en linjärkombination av felen från den första delen.
Figur 3 visar en prognos för januari 2019 baserat på tidsserien för kalenderåret 2018. Hur bra prognosen blir beror dels på hur man sätter parametrarna i sin metod, dvs. hur långt bakåt man tittar på gammalt data, samt hur väl tidsserien kan beskrivas med underliggande komponenter. Om det inte finns tydliga mönster i komponenterna kommer slumpfaktorn ha störst betydelse.
Figur 3. Prognos för kvartal 1 2019 baserat på transaktionsdata för kalenderåret 2018.
Sammanfattning och slutsatser
Genom att betrakta datat som en tidsserie som beror av underliggande mekanismer kan vi öka vår förståelse för vad datat betyder, och det ger oss också möjlighet att göra förutsägelser och prognoser om hur transaktionsdatat kommer se ut i framtiden.
Vi på Multisoft hjälper gärna till med dataanalys i olika former, och att komma till kärnan av vilka underliggande mekanismer som styr ditt transaktionsdata. Genom att analysera och förstå nuläget kan vi även göra framtiden begriplig.
Läs även de fem första delarna av bloggserien:
Del 1: Kom igång med maskininlärning
Del 2: Så kan du tillämpa maskininlärning i din verksamhet
Del 3: En första tillämpning av maskininlärning
Del 4: Hur kan vi automatiskt preparera ett dataset
Del 5: Beslutsträd – kategorisera ditt data och förstå varför
Vi på Multisoft hjälper dig gärna med att komma igång vare sig det gäller ett specifikt fall, eller rent allmänt för att göra en genomlysning av verksamhetens data inom olika områden inom just din verksamhet. Läs mer om hur vi jobbar med AI.