• Frank Custers

6 manieren om je omzet kwantitatief te forecasten

Bijgewerkt: sep 30

Een accurate salesforecast stelt je in staat om goed onderbouwde beslissingen te nemen en de prestaties van je onderneming op korte en lange termijn te voorspellen. Werk je voor een gevestigde onderneming, dan kun je de toekomstige verkopen voorspellen met historische bedrijfsgegevens. In deze blog geef ik je 6 methoden om je omzet op een kwantitatieve manier te forecasten met behulp van statistische modellen.



In mijn vorige blog heb ik stilgestaan bij het verschil tussen kwalitatief en kwantitatief forecasten. Kort gezegd zijn kwalitatieve modellen gebaseerd op meningen van personen of groepen en de kwantitatieve forecasting modellen op de statistische analyse van historische gegevens.


Over deze tweede methode, kwantitatief forecasten met statistische modellen, ga ik het in deze blog hebben. En ik er daarbij dus niet aan ontkom een beetje dieper in statistiek te duiken, maar ik weet zeker dat mijn verhaal goed te volgen is.


Om het praktisch te houden gaan we aan de slag gaan met een real life dataset, zodat we de 6 verschillende methoden goed met elkaar kunnen vergelijken.


We gebruiken hiervoor de zogenaamde Shampoo sales dataset, met omzetcijfers van shampoo over een periode van 36 maanden. Deze dataset is inmiddels wijdverbreid op internet en al vele malen gebruikt. Hier kun je de set vinden als je er zelf mee aan de slag wil (of mij wil controleren).


In onderstaande grafiek is de dataset op een grafische manier weergegeven.


Deze grafische weergave geeft een eerste beeld van de data. We zien per maand behoorlijke fluctuaties, maar ook de duidelijke opgaande trend in de omzet. Een goede forecast zou zowel de fluctuaties als de trend moeten volgen.


Om de verschillende statistische forecastmethodes te kunnen beoordelen op hun voorspellende waarde voor de periodes vanaf maand 37, splitsen we de dataset in een zogenaamde trainingsset (in ons geval de eerste 30 maanden) en een testset (de resterende 6 maanden).


We baseren ons model op de trainingsset en gebruiken de testset om de voorspelling te vergelijken met de werkelijke waarden. En de methode met het kleinste 'verschil' heeft gewonnen en zal worden gebruikt voor de daadwerkelijke forecast voor de maanden 37 en verder.

Om de verschillende methodes met elkaar te vergelijken gaan we dus kijken naar het 'verschil' of de standard error tussen de geforecaste waarden en de daadwerkelijke waarde uit de testset.


Er zijn enkele manieren om dit verschil te berekenen. Bij de eerste methode nemen voor de maanden 31 tot en met 36 het verschil tussen de forecast en de waarde uit de testset, tellen deze bij elkaar op en delen de waarde vervolgens door het aantal waarnemingen om zo tot de gemiddelde error te komen.


We maken gebruik van de absolute waarde van de verschillen, omdat deze zowel positief als negatief kunnen zijn, zoals je kunt zien in de grafiek van de standard error hiernaast.


En als we de negatieve en positieve errors gaan optellen, vallen deze tegen elkaar weg. Maar een negatieve fout is net zo erg als een positieve fout, daarom dus de absolute waarde. Deze methode noemen we in het Engels de Mean Absolute Error.


Een andere manier om het verschil te berekenen is de Root Squared Mean Error (RSME). Het voordeel van deze manier is dat grotere verschillen zwaarder wegen dan kleinere verschillen, omdat we van alle verschillen het kwadraat nemen. En zoals je nog wel hebt onthouden uit de wiskundeles is het niet nodig om in dit geval de absolute waarde van de fout te nemen, want bij kwadrateren wordt de uitkomst altijd positief.


In de praktijk betekent dit dus als een error een waarde van 2 heeft, dat deze dan 4 wordt. En een volgende error van bijv. 4 wordt 16. De verhouding verschuift dus in dit geval van 1:2 naar 1:4.


Vervolgens tellen we ook deze bij elkaar op en delen ze door het aantal waarnemingen. Tenslotte nemen we de wortel van het resultaat om tot de RSME te komen. We zullen voor het beoordelen van de forecastmethodes in deze blog de RSME gebruiken.


Goed, na deze inleidende beschietingen zoals beloofd 6 manieren om je sales te forecasten. Here we go!


#1 Simpel gemiddelde

Een eerste, zeer eenvoudige forecastmethode is om het simpel gemiddelde, waarbij we de gemiddelde omzet berekenen op basis van een historische periode en deze als forecast voor de komende periode nemen. Als we dit doen voor de perioden 1 t/m 30 krijgen we een gemiddelde omzet van 262,8 en als we deze waarde gebruiken als forecast voor periode 31 t/m 36 krijgen we een RMSE van 313,2.


Op basis van de grafische weergave van deze methode kunnen we concluderen dat we de opgaande trend en de maandelijkse fluctuaties niet meenemen. Wanneer we alleen naar de laatste 12 waarnemingen uit onze trainingsset zouden kijken (periode 18 t/m 30) zien we al een sterke verbetering met een gemiddelde van 363,3 en een RSME van 219,5, maar ook dan missen we de opgaande trend en fluctuaties.


#2 Naïeve forecast

De volgende methode is de naïeve forecast. Deze, vaak verrassend effectieve methode voor vooral korte termijn forecasting neemt de laatste waarde uit de trainingsset als voorspelling voor de komende periodes. In ons geval nemen we dus de waarde van maand 30 en plotten deze op de maanden 31 tot en met 36. De omzet in maand 30 en daarmee dus ook in de maanden 31 tot en met 36 is 437,4. De RSME van deze forecast is 155,9.


#3 Voortschrijdend gemiddelde

Een derde forecastmethode is het verschuivend gemiddelde of moving average. Hierbij nemen we het gemiddelde van een relatief korte periode die dicht bij ons forecastpunt ligt. Dus in ons geval bijvoorbeeld het gemiddelde over de maanden 25 t/m 30 als forecast voor maand 31.


Voor maand 32 hebben we twee varianten; we kunnen hier de waarde van maand 31 nemen (en dit geldt dan ook voor de maanden 33 tot en met 36). Of we nemen het gemiddelde over de maanden 26 tot en met 30 en de net geforecaste waarde van maand 31.


Voor de eerste methode is de waarde voor de maanden 31 tot en met 36 395,7 met een RSME van 190,8. De tweede variant levert zes verschillende waarden met een RSME van 183,6.


#4 Last year, same month

Wanneer er seizoenseffecten in de dataset zitten, kan het een goede methode zijn om de waarneming van een vorige, vergelijkbare periode te gebruiken.Dus maand 31 (juli van dit jaar) is gelijk aan de waarde van maand 19 (juli vorig jaar). En maand 32 is gelijk aan maand 20, enzovoort.


In de shampoo sales dataset is dit seizoenseffect lastig te identificeren. Het lijkt erop dat er iedere 11e maand een piek in de verkopen is, maar dit is geen logische frequentie.


Als we deze methode toepassen op onze dataset krijgen we de waarden zoals weergegeven in de grafiek met een RSME van 283,6. Nadeel van deze methode is dat een eventuele op- of neergaande trend niet wordt meegewogen in de forecast, zoals in de grafiek ook goed zichtbaar is.


#5 Extrapolatie

Extrapolatie is een volgende methode die we toepassen. Hiervoor kun je in Excel de TREND functie gebruiken. Dit levert een mooie trendlijn op, die vervolgens wordt doorgetrokken naar de toekomstige periodes (zie grafiek). De RSME die bij deze forecastmethode hoort, is 162,7. Met deze methode is het juist lastig om seizoenseffecten goed mee te nemen (zie grafiek).


#6 Time series analysis

Een laatste methode die we in deze blog bespreken is de zogenaamde time series forecasting. We gebruiken Python om de analyse van de data te doen. Het model dat we toepassen is een veelgebruikte methode, genaamd ARIMA. Dit staat voor Autoregressive Integrated Moving Average en kan zowel de trend- als de seizoenseffecten in de dataset goed herkennen.

In de grafiek zie je dat de voorspelling zowel de trend als (deels) het seizoenseffect meeneemt. De RSME levert een waarde op van 83,6. Ik wil in een latere blog nog eens terug te komen op time series analysis.


De statistische forecastmethode met de laagste RMSE heeft de beste 'fit'

Nu we alle statistische forecastmethodes op onze dataset hebben losgelaten, kunnen we met de RSME per methode kijken welke de beste 'fit' heeft. Een belangrijke vuistregel is als een simpele methode voldoende nauwkeurigheid geeft, is dat te verkiezen boven een meer complexe methode. Maar als de nauwkeurigheid van deze simpele methode te wensen overlaat, gebruik dan een complexe methode.


Voor deze dataset geeft de time series analysis verreweg de beste uitkomsten. In dit geval zou ik dus voor de Time series analysis methode kiezen. Zeker als met deze salesforecast verstrekkende beslissingen worden genomen, bijvoorbeeld ten aanzien van investeringen in uitbreiding van machines, voorraad of mensen.


En wees je ervan bewust dat het prima is een kwantitatieve methode te combineren met kwalitatieve input. Gebruik een statistische forecast als basis en laat deze vervolgens reviewen door een expert en waar nodig aanpassen. Ik zal hier in een volgende blog nader op in gaan.


Ik ben erg benieuwd of jij een van de hier behandelde methodes gebruikt in de dagelijkse werkzaamheden. Voel je vrij om hier over op te scheppen in de comments. En als je ze nog niet gebruikt, experimenteer er dan eens mee met behulp van dit verhaal. Als je er niet uitkomt, neem dan gerust contact met me op. Ik help je graag.


En wil je graag als eerste weten, wanneer er een nieuwe blog online staat? Schrijf je dan hier in.

105 keer bekeken

©2020 by 2ACC3L, Rotterdam, the Netherlands

  • Black Twitter Icon