De tijd zal het leren... Nee, de data!
Valkuilen bij het voorspellen van tijdseries
Prinsjesdag is voorbij en de jaarwisseling komt eraan. We zijn in Nederland dus weer druk bezig met bedenken wat de toekomst ons gaat brengen. Hoeveel winst maken we volgend jaar per maand? Hoeveel personeel hebben we nodig? En hoeveel patiënten kunnen we per week verwachten? Met data kun je patronen uit het verleden gebruiken om de toekomst te voorspellen. Maar hoe zorg je ervoor dat je voorspellingen betrouwbaar zijn en daadwerkelijk waarde toevoegen? In deze blog ontdek je de belangrijkste valkuilen bij het voorspellen van tijdseries en lees je hoe je hiermee omgaat.
Anouk
Data Consultant & Trainer
Waar het ene bedrijf leunt op jarenlange ervaring in de business, gebruikt het andere bedrijf al geavanceerde voorspelmethoden. Veel bedrijven zijn zich tegenwoordig bewust van de kracht van data en werken hard aan duidelijke en interactieve dashboards. Maar waarom zou je stoppen bij het inzichtelijk maken van het verleden, en niet de patronen uit het verleden doortrekken naar de toekomst? In deze blog worden verschillende valkuilen en misvattingen rondom het voorspellen van processen over tijd beschreven.
Hoe complexer, hoe beter
De eerste valkuil is de gedachte dat je een complex model nodig hebt. Hoe geavanceerder, hoe beter, toch? Er is echter niets mis met simpel beginnen. Een eerste voorspelling kan al veel inzichten geven. Verwacht je bepaalde seizoenspatronen of te groeien over tijd, neem dat dan als uitgangspunt. Verklaarbaarheid, het kunnen uitleggen aan de gebruikers waar de voorspelling op gebaseerd is, kan vooral in het begin een belangrijk criterium zijn. Geef gebruikers de tijd om vertrouwen op te bouwen in de voorspellingen en om de toegevoegde waarde ervan te zien.
De keuze voor een goed model hangt af van de data en het onderliggende proces. Een model dat goed presteert in het ene scenario, hoeft niet geschikt te zijn voor een andere toepassing. Kennis van het onderliggende proces en de beschikbare data, en ook het doel van de voorspelling, is belangrijk voor het kiezen van een geschikte aanpak.
Tijd is tijd
Er zijn veel eenheden van tijd, denk aan uren, dagen, weken, maanden en jaren. Op elk van die eenheden kan je voorspellingen maken, bijvoorbeeld de temperatuur per uur of het energieverbruik per maand. Elk tijdsniveau brengt weer andere uitdagingen met zich mee. Het is daarom belangrijk aan het begin vast te zetten op welk tijdsniveau je gaat voorspellen.
Voor voorspellingen op jaarbasis is de uitdaging om genoeg historische punten te hebben; het duurt immers lang voordat je die data verzameld hebt. Een maand bevat niet altijd evenveel werkdagen, waar bij veel bedrijven de omzet en andere KPIs toch van afhangen. Weken lijken misschien het perfecte niveau om voorspellingen op beschikbaar te hebben, maar het voorspellen zelf is discutabeler.
De voornaamste reden is dat we niet een geheel aantal weken in een jaar hebben, terwijl veel voorspelmodellen een geheel getal als lengte van het seizoenspatroon willen. Dit betekent ook dat een week 17 in het ene jaar niet dezelfde datums bevat als week 18 in het andere jaar. Daarnaast zien we dit jaar de complexiteit van de ‘verschuivende’ weken in zijn extremiteit: er is een week 53, iets wat circa elke 6 jaar voorkomt. Gaan we naar kortere tijdsbestekken kijken, zoals dagelijks of uurlijks, dan zijn er al gauw meerdere seizoenspatronen in het spel, bijvoorbeeld dag van de week èn periode in het jaar. Je hebt dan een model nodig dat goed omgaat met deze complexere seizoensgebondenheid.
Het negeren van feestdagen
Voor sommige bedrijven of processen zal een feestdag nauwelijks invloed hebben, maar vaak genoeg is dit wel het geval. Het ene bedrijf is dicht en maakt dus geen omzet, terwijl het andere bedrijf juist een piek in aantal bezoekers heeft. Ook de aanloop naar een feestdag kan de KPIs beïnvloeden. Het is belangrijk te weten wat de invloed is van feestdagen op het proces waarover de voorspelling gaat.
In Nederland hebben we een aantal feestdagen die elk jaar op een andere datum vallen, zoals Pasen en Hemelvaartsdag. Andere feestdagen zoals Nieuwjaarsdag en Koningsdag zijn op een vaste datum, maar niet op dezelfde dag van de week, waardoor hun effect ook per jaar kan verschillen. Vaak zul je dus expliciet rekening moeten houden met feestdagen. Niet alleen welke waarde je op een feestdag voorspelt maar ook hoe je omgaat met feestdagen in je historische data.
Het simpelweg negeren van de waarde op feestdagen, zal niet werken omdat veel voorspelmethoden niet goed omgaan met missende waarden. Een aannemelijke waarde imputeren op basis van de omliggende dagen kan een oplossing zijn, maar dit moet niet klakkeloos worden gedaan. Als een feestdag tot een piek op de dag ervoor of erna leidt, dan is het weektotaal misschien niet beïnvloedt door de feestdag, en dan zal een geïmputeerde waarde juist voor een vertekend beeld zorgen. Een veelgebruikte oplossing is om een methode te gebruiken waarin een indicator voor een feestdag (‘pas op deze dag is speciaal’) kan worden meegenomen, zoals in een ARIMA model.
Veel 0 is lekker makkelijk
Processen met lage positieve waarden, en vooral die onregelmatig nul zijn, zijn over het algemeen moeilijk te voorspellen. Bijvoorbeeld het aantal retouren per week van een individu. Bij de meeste methode wordt namelijk aangenomen dat de uitkomsten continu mogen zijn. Bij het voorspellen van hoge waarden is deze aanname prima, maar dit maakt veel gangbare methoden niet zo geschikt voor het voorspellen van lage waarden. Vaak speelt ook mee dat er in de praktijk geen negatieve waarden kunnen zijn, bijvoorbeeld het aantal meldingen op een dag.
Er is dus een ondergrens voor de voorspellingen. De gangbare manier om hiermee om te gaan is het gebruik van een log transformatie. Het voorspellen van processen met veel nul waarden kan worden aangepakt door de momenten waarop het proces niet nul is en de waarde op die momenten los te voorspellen. Kijk hiervoor vooral naar zero-inflated models of specifieke methoden, zoals Croston’s method.
Consistente voorspellingen
Een van de grootste gevaren voor het vertrouwen van de gebruikers is het niet overeenkomen van cijfers. Wanneer je op meerdere niveaus een voorspelling maakt, kan je hier al snel tegenaan lopen. Er is een kleine kans dat de verwachte inkomsten van alle filialen samen hetzelfde is als de totale verwachte inkomsten van alle klanten, als je de inkomsten per filiaal en per klant los van elkaar hebt voorspeld. Voor consistente voorspellingen is het belangrijk om je bewust te zijn van dit soort hiërarchische processen.
In dit voorbeeld zou je de inkomsten per klant kunnen voorspellen en die kunnen optellen voor een voorspelling op filiaalniveau. Of je zou op filiaalniveau de inkomsten kunnen voorspellen en deze vervolgens via een historische (eventueel zelfs dynamische) verdeling uitspreiden over de betreffende klanten. Welke van deze aanpakken (top-down, bottom-up, of bij meerdere niveaus een combinatie daarvan met middle-out) het meest geschikt is hangt af van de beschikbare data en het onderliggende proces.
Hoe meer data, hoe beter
De vraag die vele data specialisten kwelt: hoeveel data heb je nodig? Vaak wordt die vraag gesteld om te bepalen of er genoeg data beschikbaar is. Hoeveel data genoeg is hangt af van de complexiteit van het model, vooral het aantal parameters die moeten worden bepaald, en natuurlijk van hoe variabel de data is. Maar je kan ook teveel data hebben.
Een valkuil is dat er in de periode die de data beslaat, iets fundamenteel veranderd is. Dit kan bijvoorbeeld komen door een wijziging in beleid, zoals de verlaging van de snelheid op snelwegen vanaf maart 2020 (gemiddelde snelheid) of een gemeente die bij een grotere gemeente wordt gevoegd (aantal inwoners), of door een nieuwe meetmethode, zoals de Europese vragenlijst voor beroepsbevolking in 2021 (aantal werklozen). Daarnaast zal in veel data de invloed van de COVID-19-pandemie te zien zijn. In alle gevallen kan de data niet meer worden beschreven door een enkel proces, en dat heeft invloed op de kwaliteit van de voorspellingen.
Afhankelijk van wanneer deze verandering heeft plaatsgevonden en hoeveel data er vanaf dat moment is, zou je je kunnen beperken tot de actuele data. Een andere optie is om een model te gebruiken dat over de tijd kan veranderen.
“De voorspelling klopt niet!"
Een andere valkuil is de, soms onbewuste, aanname dat de voorspelde waarde de waarheid is. Het hangt sterk van je oorspronkelijke proces af hoe betrouwbaar je voorspellingen zullen zijn. Dat zie je niet gereflecteerd in één uitkomst (per tijdseenheid). Als we elke dag 19, 20 of 21 patiënten binnen krijgen, dan zullen we met een voorspelling van het gemiddelde (20) goed in de buurt zitten. Als het aantal patiënten echter varieert tussen de 0 en 40 dan moet de voorspelde 20 met een grote korrel zout genomen worden.
Het is dus belangrijk je bewust te zijn van de zogenoemde volatiliteit van je proces. Om meer inzicht hierin te krijgen zou je moeten kijken naar kansverdelingen, waarmee je een betrouwbaarheidsinterval kan bepalen. Bewustwording dat de voorspelde waarde een inschatting is en ook als zodanig moet worden opgevat, kan frustraties of onbegrip over ‘incorrecte’ voorspellingen verzachten.
Goede voorspellingen betalen uit
Je hebt veel tijd, moeite en geld in een goede voorspelling gestoken en hierbij natuurlijk rekening gehouden met alle bovengenoemde valkuilen. En wat nu? Hoe haal je waarde uit die voorspelling? Ga je het ook echt als basis voor je begroting gebruiken, of ga je echt je personeelsplanning erop aanpassen? Dit zijn vragen waar je vooraf al over na moet denken. Pas als duidelijk is hoe de resultaten in de praktijk passen en hoe je het in je proces gaat implementeren, heb je een goed startpunt om voorspellingen te maken die echt waarde toevoegen.
Wil je ontdekken hoe jouw organisatie meer waarde uit data kan halen?
Plan een vrijblijvend adviesgesprek met een van onze consultants. Geen productpitch, maar een eerlijke analyse van waar jullie staan en welke stap op dit moment echt waarde toevoegt.
Anouk
Data Consultant & Trainer