We leven in een tijd waarin data enorm belangrijk is. Organisaties buitelen over elkaar heen met de wens om datagedreven te werken. Deze data gebruiken we om de prachtigste dashboards te voeden en om allerlei analyses uit te voeren die tot nieuwe inzichten leiden. Een wet die echter nog altijd geldt, is: Garbage in = Garbage out. We kunnen nog zulke mooie rapporten en analyses maken en er nog zoveel machine learning op loslaten: als de brondata van slechte kwaliteit is, zal het informatieproduct dat je ervan maakt van dezelfde kwaliteit zijn.
Bij mijn klanten loop ik geregeld tegen data van matige kwaliteit aan. Wat ik vaak waarneem, is dat BI-ontwikkelaars proberen “er toch nog iets van te maken”. In bepaalde eenvoudige gevallen is hier best wat voor te zeggen. Denk bijvoorbeeld aan een veld “Geslacht” dat de waarden M, m, man, V, v en vrouw kan bevatten. Het is duidelijk dat M en m staan voor “Man” en V en v voor “Vrouw”. Een simpele fix zou dan kunnen zijn: M, m en man vertalen naar “Man” en V, v en vrouw vertalen naar “Vrouw”.
Echter, wanneer een fix minder voor de hand ligt en meer interpretatie en creativiteit eist van de BI-ontwikkelaar, heb ik mijn bedenkingen. Stel dat men een klantenbestand bijhoudt welk type klant het betreft. Het veld Klantcategorie bevat de waarden Premium, Standaard en Budget. Helaas wordt bij het invoeren van nieuwe klanten dit veld regelmatig niet ingevuld. Om, ter wille van een managementdashboard, toch zoveel mogelijk klanten aan een van de drie categorieën toe te wijzen, besluit de BI-ontwikkelaar om dit veld bij ontbrekende waarden in te vullen op basis van de omzet die de klant gemiddeld per jaar genereert.
Het gevolg van deze benadering is dat in het dashboard iedere klant netjes aan een categorie wordt toegewezen. In het beste geval heeft de ontwikkelaar deze fix met de belanghebbenden besproken, gedocumenteerd en benoemd in het betreffende dashboard. In het slechtste geval verzint de ontwikkelaar op eigen houtje een fix en documenteert het niet. Verder wordt nu de indruk gewekt dat het datakwaliteitsprobleem niet bestaat of verder geen actie behoeft. Hierdoor blijft het werkelijke probleem in de brondata bestaan en zal alleen maar groeien naarmate de tijd verstrijkt. Dit bezwaar geldt overigens ook voor de simpele fix in het eerste voorbeeld.
Zelfreiniging
In het volgende gedachtenexperiment gaan we omwille van het verbeteren van de datakwaliteit gebruik gaan maken van het zelfreinigend effect. Dit houdt in dat eindgebruikers van de BI-oplossing zoveel mogelijk “niet gefixte” data te zien krijgen. Het idee is dan dat er mechanismen worden gecreëerd die er voor zorgen dat degenen die de “foute” data hebben ingevoerd, dit zelf corrigeren. Hiervoor moeten feedbackloops gecreëerd worden waarin zowel de eigenaar van de brondata als de gebruikers van hierop gebaseerde informatieproducten zijn opgenomen. Het basisidee is dat datakwaliteitsproblemen juist expliciet duidelijk worden gemaakt aan de eindgebruikers van de BI-oplossing.
Een zo groot mogelijk draagvlak
Om het zelfreinigend effect optimaal te laten werken, moet hier vanaf de start van het gebruik van de BI-omgeving aan worden gewerkt. Goodwill van alle medewerkers die de bronsystemen vullen en hun leidinggevenden is noodzakelijk. Hoe krijgen we dit voor elkaar? Dat is een uitdaging. Wat kan helpen, is deze personen in een vroeg stadium bij het project te betrekken. Ze moeten zelf het nut van Business Intelligence inzien, zowel voor de organisatie als voor henzelf.
Geef iets terug
Wat volgens mij ook goed zal werken, is om zoveel mogelijk mensen in alle lagen van de organisatie “iets terug te geven” uit het datawarehouse. Op een lager organisatieniveau kan dit in de vorm van handige overzichten en lijsten die niet direct beschikbaar zijn in de systemen waarmee ze dagelijks werken. Op hogere organisatieniveaus kan dit bijvoorbeeld door overzichten op een hoger aggregatieniveau of via een of meer KPI’s in een dashboard. Dit zal het draagvlak vergroten.
Op deze manier maken we van zoveel mogelijk mensen aan de invoerkant van de bronsystemen tevens eindgebruikers van de BI-omgeving. Op de kwaliteit van de informatie die ze hieruit halen, kunnen ze nu zelf invloed uitoefenen. Men wordt zich op deze manier bewust van de gevolgen van fouten in de invoer. We hopen dan dat men de werkwijze in de toekomst gaat aanpassen om zo fouten te voorkomen.
Aangeven wat er fout is
Hoewel we “foute” data niet wegfilteren of corrigeren, geven we wel aan wat er fout aan is. Hiervoor moeten in kaart gebracht hebben welke business rules er gelden m.b.t. het betreffende data item (Voorbeeld: Iedere klant moet ingedeeld worden in een Klantcategorie). Vervolgens kunnen we per business rule gaan vastleggen hoevaak deze geschonden is en waar dit precies het geval is. Dit zou dagelijks in een organisatiebreed datakwaliteitsrapport getoond kunnen worden.
De bron van de data
Bij ieder data item, dus ook de als “fout” aangemerkte, wordt opgeslagen wat de herkomst is. Dit kan op verschillende niveaus gedaan worden. Je kunt vastleggen van welk bronsysteem, welke afdeling, eigenaar of misschien zelfs welke medewerker het afkomstig is. Zo is het duidelijk wie er actie dient te ondernemen.
Voorkom toekomstige fouten
Probeer in de bronsystemen zaken zo te regelen dat problemen in de toekomst worden voorkomen. Dit kan bijvoorbeeld door al aan invoerkant bepaalde data integriteitseisen af te dwingen.
Stel een datakwaliteitsbewaker aan
Maak iemand verantwoordelijk voor het bewaken van de datakwaliteit, en geef deze persoon mandaat om waar nodig actie te ondernemen. Deze persoon kan bijvoorbeeld dataeigenaars aanspreken op datakwaliteitsproblemen en verbeteracties in de bronsystemen initiëren.
Enkele overwegingen bij deze benadering
Een speciale categorie binnen het palet aan “foute” data is data die niet ingelezen is in het datawarehouse, doordat er bijvoorbeeld cruciale business keys ontbreken of incompleet zijn. De bedoelde betekenis van dit soort informatie is moeilijk te achterhalen. Dit is typisch data die door specialisten aangepakt moet worden. Het zelfreinigend effect gaat hier dus niet werken.
Het blijft een uitdaging voor het data BI-team om alle business rules boven water te krijgen. Waarschijnlijk is de lijst aanvankelijk niet compleet en zal deze gaandeweg gaan groeien. Pas als een business rule onderkend is en er een controle mechanisme voor gebouwd is, zal dit resulteren in zichtbare datakwaliteitsproblemen aan de kant van de eindgebruikers van de BI-omgeving.
Het benoemen van de herkomst van foute data kan ook resulteren in weerstand bij de betrokkenen. Het kan worden opgevat als een soort schandpaal. Toegang tot deze informatie moet zeer beperkt en weloverwogen gegeven moet worden aan de juiste personen. Hoe specifiek je moet zijn in het aanwijzen van de bron, is ook een aandachtspunt.
En u?
Hoe gaat uw organisatie om met datakwaliteit?