Datakwaliteit: meten en verbeteren

Data is het nieuwe goud, hoor je al enkele jaren regelmatig geroepen worden. Van goud weten we echter dat de waarde varieert met de kwaliteit van het goud. 22-karaats goud is ongeveer driemaal meer waard dan 8-karaats goud. Maar hoeveel “karaats” is jouw dataset? Hoe meet je datakwaliteit? En wat kan je doen om de kwaliteit van jouw data te verbeteren? We leggen het je uit in onderstaand blog!

Waarom is datakwaliteit belangrijk?

Voordat we uitleggen hoe je datakwaliteit kan meten, moeten we eerst bedenken waarom we datakwaliteit eigenlijk belangrijk vinden. Kwalitatief hoogwaardige data is waardevoller omdat de data beter beschrijft hoe de werkelijkheid er uit ziet en het makkelijker te gebruiken is voor verschillende toepassingen. Een veelgehoorde uitspraak is “garbage in, garbage out”, oftewel als je kwalitatief slechte data gebruikt zul je kwalitatief slechte dashboards en inzichten krijgen. Niet voor niets is datakwaliteit een van de toptrends in de BARC Data, BI & Analytics survey van 2022.

Hoe meet je datakwaliteit?

Maar wat is datakwaliteit dan precies? Of beter gezegd, hoe meten we datakwaliteit. Een veel gemaakte fout is om datakwaliteit gelijk te stellen aan data nauwkeurigheid. We weten bijvoorbeeld dat de voornaam van onze koning “Willem Alexander” is, maar als we in een database zien staan “Willem Alexia” of “Wellim Elaxendar” dan weten we dat deze waarde niet juist is. Nauwkeurigheid is echter slechts één van de dimensies die datakwaliteit kent. Verschillende instanties en datakwaliteit frameworks kennen elk hun eigen set aan dimensies, maar over het algemeen wordt datakwaliteit gedefinieerd als de mate waarin de dimensies van data voldoen aan hun vereisten. Het lastige aan deze definitie is dat die vereisten kunnen verschillen en dat ook niet alle dimensies even relevant zijn voor elk bedrijf of proces. Het internationale orgaan DAMA (Data Management Association) definieert maar liefst 60 dimensies van datakwaliteit.

Het meten van datakwaliteit begint dus bij het selecteren van de voor jou relevante dimensies van datakwaliteit. Daarvoor kent het DAMA een stappenplan met 4 stappen:

  1. Bepaal welke van de 60 dimensies van toepassing zijn op de data waar je de kwaliteit van wilt meten. Heb je bijvoorbeeld te maken met Masterdata (vaak dimensionele data zoals locaties, producten of personen) dan zijn andere dimensies van toepassing dan wanneer je met transactionele data werkt.
  2. Bepaal vervolgens de toegevoegde waarde van de dimensie voor jouw bedrijf of proces. Het meten, monitoren en verbeteren van datakwaliteit kost tijd en geld, dus de toegevoegde waarde moet dit wel verantwoorden. Zo kan bijvoorbeeld de mate waarin een record voldoet aan een industriestandaard voor de een van groot belang zijn, waar er voor de ander misschien niet eens een industriestandaard bestaat. In dat laatste geval is die dimensie dus niet van toegevoegde waarde.
  3. Prioriteer de gekozen dimensies op basis van kosten-baten. Op die manier kan je als eerste aan de slag met die data kwaliteitsproblemen die de grootste impact hebben en houd je het budget onder controle.
  4. Stel de KPI en meetmethode vast voor de dimensies die je wil gaan monitoren en verbeteren. Zorg er ook gelijk voor dat je gezamenlijk bepaalt wat de streefwaarde wordt voor deze KPI.

 

Primaire dimensies

Nu is het natuurlijk goed om bovenstaande op jouw eigen situatie toe te passen en de juiste dimensies te kiezen, maar om je iets meer gevoel te geven wat de dimensies nu precies inhouden kijken we hieronder naar de 6 zogeheten “primaire dimensies”. Deze dimensies zijn op vrijwel elke dataset toepasbaar en een goede basis om mee te beginnen.

Nauwkeurigheid (Accuracy)

Nauwkeurigheid hebben we hierboven al een keer genoemd en is de mate waarin data overeenkomt met de werkelijke waarde. Voorbeelden van fouten die hierin gemaakt kunnen worden zijn:

  • De naam van een persoon is fout geschreven, bijvoorbeeld Janssen in plaats van Jansen
  • De eenheid van de invoer is onjuist, bijvoorbeeld de waarde 200 voor het gewicht van een zak snoep in een kolom waar de waarde in kilogram moet worden ingevoerd (in plaats van gram)

Volledigheid (Completeness)

Volledigheid is de mate waarin alle waarden records ook daadwerkelijk aanwezig zijn in een dataset. Deze dimensie kan twee kanten op doorschieten. Er kunnen waarden missen, maar het kan ook zijn dat er waarden aanwezig zijn die niet in de dataset thuishoren. Voorbeelden van gemaakte fouten kunnen zijn:

  • Niet alle producten die worden verkocht staan in de tabel met producten
  • Er staan personen in de tabel met klanten die geen klant zijn
  • Voor sommige producten is de kolom kleur niet ingevuld

Consistentie (Consistency)

De mate waarin een waarde in twee datasets of binnen een dataset op verschillende momenten in de tijd overeenkomt met specifieke regels noemen we consistentie. Voorbeelden van (in)consistentie zijn:

  • Een adres staat geregistreerd in Amsterdam, maar met Duitsland als land
  • Een klant heeft het ene adres van 1 januari 2019 tot 31 maart 2022 en het tweede adres vanaf 1 januari 2022

Tijdigheid (Timeliness)

Een dataset is tijdig wanneer deze beschikbaar is binnen de daarvoor gestelde termijn. Bijvoorbeeld:

  • De bestellingen van de vorige dag moeten uiterlijk om 07:00 beschikbaar zijn, maar ze waren pas in te zien om 07:30

Uniciteit (Uniqueness)

Elke waarde in een dataset hoort in principe slechts een keer voor te komen. Wanneer een waarde meerdere malen voorkomt is er sprake van een duplicaat. Dit kan op verschillende manieren:

  • Het hele record komt in zijn volledigheid 2 keer voor:
Sleutel Waarde
123 Jansen
123 Jansen
  • Dezelfde waarde komt voor met 2 verschillende sleutels:
Sleutel Waarde
123 Jansen
234 Jansen
  • Dezelfde sleutel komt 2 keer voor met verschillende waarden:
Sleutel Waarde
123 Jansen
123 Pieters

Validiteit (Validity)

Een waarde is valide wanneer deze voldoet aan de geldende regels voor dat type waarde. Let erop dat een waarde wel valide kan zijn, maar niet accuraat of compleet. Er zijn verschillende manieren waarop een waarde invalide kan zijn:

  • Een mailadres zonder @ erin
  • Een Nederlands 06 nummer dat niet uit 2+8 cijfers bestaat
  • Een geboortedatum in het jaar 2202

 

Het verbeteren van de datakwaliteit

Als je eenmaal gekozen hebt voor een set aan dimensies en daarbij de meetwaarden (KPIs) hebt gedefinieerd, inclusief bijbehorende streefwaarden kun je beginnen met het systematisch monitoren en verbeteren van de datakwaliteit. Als je begint met dit proces zul je misschien al snel ontdekken dat er allerlei problemen zijn in jouw huidige datasets die zorgen voor een lage score op jouw datakwaliteit KPI’s. Het is dan zaak om systematisch deze problemen op te lossen. Daarbij kun je het beste de methode “lekkende kraan” hanteren. Dat werkt zo:

Stel je loopt thuis de badkamer in en ziet ineens een grote plas water liggen. Je hebt een lekkage! Het eerste wat je dan doet is de oorzaak van de lekkage opsporen. Al snel zie je dat iemand de kraan niet heeft dichtgedraaid, waardoor de spoelbak overstroomd is. Je zou nu eerst kunnen gaan dweilen, maar dat heeft geen zin, want er blijft water uit de kraan stromen. Je moet dus eerst de kraan dicht draaien. Nadat je de kraan hebt dichtgedraaid en ook het water van de vloer hebt opgedweild kun je weglopen, maar het risico is dan dat er weer iemand komt die vergeet de kraan dicht te draaien, dus besluit je na te denken over preventieve maatregelen. Door een overloop in de wasbak aan te brengen voorkom je dat het lek nog een keer voor kan komen.

De bovenstaande situatie kunnen we ook op een datakwaliteitslek toepassen. Stel bijvoorbeeld dat je in een database allemaal verschillende varianten tegenkomt van een flesje “water 500ml”: “water”, “water 50cl”, “water spa blauw”, “waater”, etc. Dit is een voorbeeld van een nauwkeurigheidsfout die we willen oplossen. Net als bij de lekkende kraan gaan we niet beginnen met query’s schrijven om al die verschillende waardes aan te passen naar het gewenste “water 500ml”, want zolang er water verkocht wordt zullen de foutieve waarden blijven komen. In plaats daarvan lopen we naar de cassière en vragen we haar om vanaf nu altijd de juiste waarde in te voeren. Daarna kunnen we onze query draaien om de foutieve waarden aan te passen. Tot slot gaan we naar onze IT-afdeling en vragen we om het invulveld voor vrije tekst aan te passen naar een keuzemenu waar de cassière enkel de voorgeschreven waarden kan kiezen. Daarmee voorkomen we dat ze alsnog een spelfout maakt of dat een nieuwe cassière dezelfde fout maakt en is de verbeterde datakwaliteit gegarandeerd.

 

E-mergo helpt je verder

In dit blog hebben we je de basisbeginselen van datakwaliteit uitgelegd. Het is goed om je te beseffen dat goede datakwaliteit niet een los project is, maar een continu proces. Om goede kwaliteit te borgen is een samenspel nodig van mensen, processen en technologieën. E-mergo kan je op verschillende manieren helpen bij dit proces:

  • Met Low-code applicaties gebouwd in Mendix of Power Apps zorgen we voor apps die kwalitatief goede invoer garanderen.
  • In TimeXtender kunnen data kwaliteitscontroles worden gedefinieerd die automatisch worden uitgevoerd wanneer nieuwe data het systeem in komt.
  • Met Qlik Data Intergration kunnen we door Change Data Capture data real-time verwerken en heb je dus altijd de beschikking over tijdige data.
  • Dashboards in Power BI of Qlik kunnen in één oogopslag inzicht geven in de datakwaliteit KPI’s, waardoor je nieuwe problemen met de data gelijk aan kunt pakken.
  • Met datastrategie workshops kunnen we helpen de juiste processen te definiëren om jouw datakwaliteit continu te monitoren en verbeteren en bepalen we samen de volgende stappen voor jouw organisatie.

 

Lennaert van den Brink, E-mergo,

Geschreven door Lennaert van den Brink
Senior Consultant