Verkoop voorspellen over 14 productcategorieën
Unilever België moest verkoopvolumes voorspellen over 14 productcategorieën: dagelijkse forecasts voor de komende twee weken en maandelijkse forecasts voor het komende jaar. We bouwden categoriespecifieke voorspellingsmodellen die rekening houden met seizoenspatronen, promo-effecten en trends op productniveau. De resultaten komen in Power BI-dashboards voor het commerciële team.
Voorspellen over 14 productcategorieën
Unilever België wilde de verkoop op productniveau voorspellen over 14 categorieën, met twee verschillende tijdshorizonten: dagelijkse voorspellingen voor de komende twee weken (voor operationele planning) en maandelijkse voorspellingen voor het komende jaar (voor strategische planning). Het bestaande proces miste de granulariteit en automatisering die het commerciële team nodig had.

Werken met imperfecte data
De beschikbare verkoopdata bracht verschillende uitdagingen mee die opgelost moesten worden voor er ook maar een model getraind kon worden.
Gaten en inconsistenties
De dataset bevatte tal van ontbrekende waarden, scheve verdelingen en beperkte feature-informatie. Sommige producten hadden simpelweg te weinig historische data. Die filterden we eruit. Voor numerieke gaten pasten we interpolatie en aanvulling met gemiddelden toe. Voor ontbrekende categorische features introduceerden we een categorie "onbekend".
Feature engineering
We creëerden lag features uit eerdere verkoopperiodes om trends te vatten. Daarnaast identificeerden we seizoenspatronen in de data: bepaalde productcategorieën pieken bijvoorbeeld consistent tijdens de zomermaanden. Voor de maandelijkse forecast kijkt het model twee jaar terug om seizoenssignalen uit vorige cycli op te pikken.
Categoriespecifieke modellen
We benaderden het probleem als een regressietaak en testten verschillende modelarchitecturen: LSTM-neurale netwerken, tree-based modellen en gradient boosting.
Eén model per categorie
Consumentengedrag verschilt sterk per productcategorie, dus bouwden we een apart model voor elk van de 14 categorieën in plaats van één model te dwingen om over alle categorieën heen te generaliseren. Zo kreeg elk model de ruimte om categoriespecifieke patronen te leren.
Geautomatiseerd hertrainen
We bouwden geautomatiseerde scripts die nieuwe categorieën detecteren, modellen trainen en forecasts genereren, zodat het systeem meeschaalt zonder manuele tussenkomst wanneer het productportfolio verandert.
Wat de modellen opleverden
De best presterende modellen haalden een RMSE van 0,6 en een r² van 0,70. De modellen verklaarden dus ongeveer 70% van de variantie in de werkelijke verkoop. Dat is sterk voor retailverkoop op productniveau: ruis in consumentengedrag houdt de verklaarbare variantie daar doorgaans ver onder de topcijfers uit properder forecastingdomeinen. De resultaten kwamen in Power BI-dashboards die ontworpen zijn voor het commerciële team, niet voor data scientists.
