Ga meteen naar de inhoud
Nieuw: Data & AI Strategy-oefening.
SectorFMCG
KlantUnilever
TechnologiePython, Gradient Boosting, LSTM, Power BI

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.

UITDAGING

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.

Unilever
DATA

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.

AANPAK

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.

RESULTATEN

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.