Wessanen

Wessanen is een biologisch voedingsmiddelenconcern oa. bekend van Zonnatura en Clipper thee. Wij hebben middels een proof-of-concept aangetoond wat de mogelijkheden zijn met data science op Master Data Management. Op een subset van de material master data is een model gemaakt dat association rules (regels in de vorm van “ALS x DAN y”) herkent. Het doel hiervan was om nieuwe verbanden in de data te ontdekken en op basis hiervan mogelijk foutieve waarden op te sporen. Alle gevonden association rules worden samen met de ruwe data getoond in een web-dashboard zodat de inhoudelijk deskundigen dit als handvaten kunnen gebruiken om onder andere outliers uit de originele data te verwijderen. Het model is herbruikbaar en levert aantoonbaar nauwkeurigere resultaten.

POC: KWALITEIT VAN DE MASTER DATA TESTEN MET ASSOCIATION RULES.

Wessanen gebruikt een ERP-systeem voor het beheren van alle materialen en producten. Daarnaast gebruiken ze een op maat gemaakte schil voor het systeem waarbij honderden regels zijn ingesteld waar de invoer voor nieuwe materialen/producten aan moet voldoen. Desalniettemin zijn ze zich ervan bewust dat er bij ‘mass changes’ en ‘mass uploads’ mogelijk onjuiste waarden ingevoerd worden, omdat bij deze handelingen de invoerschil niet gebruikt wordt. Dit is een van de aanleidingen geweest om middels een proof-of-concept (onbekende) verbanden uit de data te ‘minen’. 

Deze verbanden of regels kunnen vervolgens voor twee doeleinden gebruikt worden. Enerzijds kan men met behulp van de regels de kwaliteit van de master data beoordelen. Als een materiaal of product niet voldoet aan de regel, is dit veld mogelijk foutief (of juist een uitzondering op de regel). Anderzijds kunnen de regels, na menselijke beoordeling, gebruikt worden als validatie voor de mass changes, voordat deze wijzigingen doorgevoerd worden in het ERP-systeem.

Om de resultaten te kunnen beoordelen is ervoor gekozen om een dashboard te ontwikkelen waarin de originele data ingezien kunnen worden, waarbij velden die op basis van de association rules foutief zijn opgelicht worden.

PROBLEEM

RESULTAAT

Dit project heeft bijgedragen aan de volgende inzichten:

  • Een aantal velden in de originele data zorgt voor ruis in het model. Zo was bijvoorbeeld in het veld voor gewicht 17.000 in plaats van 17,000 ingevoerd. Na een handmatige correctie van deze fouten werden de association rules uit het model nauwkeuriger.
  • Een groot aantal variabelen bevatten weinig variatie. Stel dat 98% van de materialen dezelfde waarde hebben, en slechts bij 2% van de gevallen een andere waarde voorkomt, geeft het model aan dat deze 2% fout zal zijn, terwijl in de praktijk juist blijkt dat deze 2% een uitzondering op de regel zijn.
  • Om dit probleem te verhelpen zou je een bepaalde bias toe kunnen voegen aan het model, bijvoorbeeld door naar specifieke subsets van de data te kijken. Echter is in deze subsets de populatie vaak te klein om met zekerheid uitspraak te doen over de statistische relevantie van een regel.
  • Een dashboard kan met behulp van een cloud platform heel snel in productie genomen worden.

De oplossing die ontwikkeld is, bestaat uit twee delen: 

  • Een Python script dat eerst de data opschoont, voorbewerkt (in deze fase worden de features samengesteld) en vervolgens met behulp van de Python module fpgrowth association rules genereert. Dit model bepaalt op basis van een aantal statistische maatstaven of een regel statistisch gezien relevant is. Een regel ziet er daarna als volgt uit: 

Veld A = 10 en Veld B = X  Veld C =True

Producten waarbij het deel voor de pijl wél klopt, maar het deel na de pijl niet, worden aangemerkt als foutief. 

  • Een dashboard dat de oorspronkelijke data toont, waarbij velden die op basis van een of meerdere association rules foutief zijn uitgelicht worden. Als de gebruiker van het dashboard op zo’n cel klikt, ziet hij welke association rule voor de fout heeft gezorgd. Zo kan hij bepalen of dit veld werkelijk fout is, of dat het juist een uitzondering op de regel is. In het dashboard ziet de gebruiker bijvoorbeeld het volgende:

Product ID          Veld A        Veld B         Veld C

Product 1                10                X               True

Product 2               10                 X               False

Product 3               10                 X               True

Het dashboard is ontwikkeld in de Python module Dash en is gehost in een Docker container als webapplicatie op het Microsoft Azure Cloud platform.

AANPAK