De 11 uitdagingen van datavoorbereiding en data wrangling

De 11 uitdagingen van datavoorbereiding en data wrangling

De gebeurtenissen van 2020 hebben de verschuiving naar telewerken en digitale relaties versneld. Maar digitalisering leidt ook tot een andere transformatie, die van de analytische transformatie. Om deze datarevolutie het hoofd te bieden, stel ik vast dat bedrijven niet altijd over de juiste instrumenten voor de voorbereiding en analyse van gegevens (data preparation of data wrangling).

In dit artikel wil ik de rol van deze instrumenten in de werking van de onderneming in perspectief plaatsen. Ik denk met name dat ze kunnen bijdragen tot een grotere doeltreffendheid en dat is wat ik zal trachten aan te tonen. Ik heb daarvoor 11 kenmerken bepaald die de perfecte oplossing voor data wrangling / data preparation definiëren. Ze sluiten aan op een ontwerp dat ik eerder al over dit onderwerp schreef.

Samenvatting

Gegevenstransformatie: een uitdaging voor human resources

Historisch gezien werd het genereren van waarde uit gegevens gedaan door gespecialiseerde en dure profielen (artsen in data science, codeurs in R/Python). Hoewel specifieke behoeften altijd uitbesteed kunnen worden, is daaraan toch een groot nadeel verbonden: externe consultants hebben minder zicht op uw bedrijf niet en hebben tijd nodig om de verborgen subtiliteiten van uw gegevens te doorgronden.

Om ten volle te profiteren van uw gegevens en er snel alle kennis en waarde uit te halen, is het dus van belang de gegevensexpertise te internaliseren en tools beschikbaar te stellen die door het grootste aantal mensen kunnen worden gebruikt. Het gebruik van self-service data wrangling-tools door alle analisten lijkt mij essentieel. Dit zijn immers de mensen die het op te lossen bedrijfsprobleem begrijpen en die het daarom waarschijnlijk het best kunnen oplossen als zij daartoe de technische middelen krijgen.

Het is van essentieel belang dat de deskundigheid op het gebied van gegevens wordt geïnternaliseerd en dat instrumenten worden aangereikt die door een zo groot mogelijk aantal mensen kunnen worden gebruikt.

Met deze aanpak kan de analytische aanpak uit het keurslijf van de afdeling “Data Science” komen. Het is ook een eerste stap om een wereldwijde analysecultuur in te voeren en meer “agile” te zijn (sorry voor het modewoord).

Er zijn tal van voorbeelden van mensen binnen bedrijven die al met gegevens omgaan. In 99% van de gevallen wordt alles met Excel gedaan en hier kan enorme efficiencywinst worden geboekt. Inderdaad, goede tools voor “data wrangling” / “data preparation” bieden oplossingen voor alle beperkingen van Excel (complexe transformaties, meerdere gegevensformaten, volume, …). Wat mij betreft, geef ik de voorkeur aan Anatella, waarover ik het al vaak heb gehad (zie bijvoorbeeld hier).

In de volgende paragrafen leg ik uit wat volgens mij de 11 kenmerken moeten zijn van een goede data preparation / data wrangling-tool.

De data wrangling-tool moet een self-service-tool zijn…

Met een zelfbedieningshulpmiddel voor gegevensvoorbereiding kunnen uw analisten bedrijfsproblemen sneller oplossen. Zij begrijpen de gegevens en de context ervan en met het juiste instrument zijn zij in staat het probleem op te lossen.

De voorbereiding van de gegevens moet snel gebeuren

Doorgaans besteden datawetenschappers meer dan 85% van hun tijd aan datavoorbereiding. Een instrument om de snelheid en productiviteit van de gegevensvoorbereiding te verhogen is dus zeer welkom!

Met name de meest ervaren datawetenschappers zijn zich er al lang van bewust dat zij, om hun werk beter te doen, minder tijd moeten besteden aan data wrangling. Daarom zijn de meest ervaren datawetenschappers, net als bedrijfsanalisten, op zoek naar een “self-service”-tool, met een muis, omdat die hun een enorme productiviteits- en tijdwinst oplevert tijdens de altijd dure “data wrangling”-fase.

Het gekozen instrument moet verenigend zijn

Een instrument dat de samenwerking tussen bedrijfsanalisten (bedrijfsgeoriënteerd) en datawetenschappers (technisch georiënteerd) bevordert en vergemakkelijkt, lijkt mij essentieel. Zonder dit verenigende aspect is het inderdaad moeilijk om binnen uw onderneming een globale analysecultuur tot stand te brengen.

Het verenigende aspect van een “data preparation-tool” is misschien het moeilijkst te verkrijgen omdat de verwachtingen van zakelijke gebruikers vaak ver verwijderd zijn van de verwachtingen van “gegevenswetenschappers”:

  • Bedrijfsanalisten vermijden code en willen gemakkelijk en onmiddellijk toegang tot de gewenste informatie. Zij werken vaak met kleine volumes en zonder gebruik te maken van zeer complexe algoritmen.
  • Data scientists houden van coderen en het schrijven van een paar duizend regels code in R/Python zal hen niet tegenhouden (het is tenslotte maar een dag werk!). Zij werken vaak met grotere volumes en gebruiken complexe algoritmen.

Mogelijkheid tot werken door iteratie

Het werk aan de gegevens is eindeloos en moet worden gezien als een cyclus. Uit de hieronder schematisch weergegeven cyclus blijkt dat het werk nooit ophoudt. Het wordt voortdurend gevoed door nieuwe gegevens: geactualiseerde gegevens enerzijds en gegevens uit nieuwe bronnen anderzijds.

cycle de valorisation des données

Gegevensverwerking is dus geen doel op zich. Het is een cyclus, een eeuwige herstart. De gebruikte instrumenten moeten dus in staat zijn de bijwerkingscycli te beheren.

Voorbeeld van iteratieve gegevensverwerking

Veel bedrijven gebruiken Excelbestanden om gegevens van hun werknemers te verzamelen (en uit te wisselen). Wat gebeurt er wanneer een werknemer besluit de structuur van een Excel-bestand enigszins te wijzigen om het beter geschikt te maken voor het bedrijfsprobleem in kwestie?

Deze kleine wijziging vergt een aanpassing van het proces van “data wrangling” dat de gegevens uit deze zelfde Excel-bestanden verzamelt. Indien dit proces van gegevensverzameling ondoorzichtig is (omdat het geprogrammeerd is in een onbegrijpelijke taal die alleen insiders begrijpen, en dat alleen op de dag dat zij de code schreven), dan wordt het hele proces van gegevensverzameling in gevaar gebracht. Dit leidt tot de productie van ongeldige gegevens en, uiteindelijk, tot verkeerde beslissingen. Hoe vaak heeft u een collega niet horen zeggen dat een bepaalde KPI onzin is en niet in aanmerking zou moeten worden genomen? Dit (terechte) gebrek aan vertrouwen in de analyseresultaten is vaak te wijten aan het gebruik van data wrangling-instrumenten die niet transparant genoeg zijn.

Aanpassing aan grote gegevensvolumes

Ik geef de voorkeur aan tools die zijn aangepast aan een snelle verwerking van grote hoeveelheden gegevens (zie mijn benchmark hier). De verwerkingstijd hangt uiteraard samen met het volume van de te verwerken gegevens. Maar al te vaak zijn de instrumenten waarover bedrijfsanalisten beschikken echter te traag of stellen zij hen niet in staat grote hoeveelheden gegevens te beheren.


Een krachtig hulpmiddel, onafhankelijk van middelen in de cloud

De kwestie van de rekenkracht bij de voorbereiding van gegevens staat naar mijn mening centraal. Om analisten autonomie te geven, moeten zij al hun vragen kunnen beantwoorden zonder afhankelijk te zijn van de toegang (of niet) tot een cluster van machines in de cloud. Als de beschikbare rekenkracht u beperkt in uw analyses, zult u enige frustratie oplopen.

Hoewel het nu heel gemakkelijk is om clusters van machines in de cloud te maken, is de prijs nog altijd (hoog). Vanwege deze hoge prijs zal een “normaal” bedrijf zich beperken tot het opzetten van één cloud cluster (of zelfs twee). Het gebruik van dit cluster zal ook worden voorbehouden aan een klein aantal datawetenschappers.

U merkt dadelijk dat de ontwikkeling van een globale analytische cultuur in deze omstandigheden in het gedrang komt. Als slechts 2 mensen toegang hebben tot het cluster, hoe kunt u dan aan efficiëntie winnen en knelpunten vermijden?

Naast de prohibitieve prijs van de cloud, is er ook de kwestie van gegevenssoevereiniteit wanneer gegevens worden opgeslagen in een Amerikaanse cloud. Voor meer details over dit onderwerp: zie hier het “Schrems II”-arrest in zaak C-311/18 (Engelse site).


Een instrument met vaste kosten

Ik ben nogal allergisch voor het idee dat ik niet van tevoren weet hoeveel data-analyse me gaat kosten. Toch is dit de situatie waarin alle bedrijven die AWS of Azure gebruiken voor gegevensverwerking zich bevinden. Door de variabiliteit van de kosten is het onmogelijk te voorspellen wat de volgende rekening zal zijn. Met andere woorden, aan elke analytische vraag is een variabele kostprijs verbonden.

Een inherente eigenschap van “cluster clouds” zijn de “variabele kosten” die aan elke analytische vraag verbonden zijn. Dit is misschien zelfs het “Key Selling Point” van het aanbod van de cloud-giganten: “U betaalt alleen voor wat u gebruikt”.

Een gemotiveerde data scientist zal dus hogere variabele kosten veroorzaken omdat hij of zij intensief gebruik zal maken van het cloud cluster om te proberen de data zo goed mogelijk te begrijpen. Integendeel, een minder gemotiveerde datawetenschapper zal leiden tot lagere variabele kosten.

Het bewaken van de verwerkingskosten in de cloud sanctioneert de meest actieve en gemotiveerde datawetenschappers

Als de evaluatie van data scientists gebaseerd is op de kosten die zij genereren, komen we in een paradoxale situatie terecht. Degenen die het hardst werken en het meest gemotiveerd zijn, worden gestraft. Het “spaarzaam gebruik” van de cluster wordt zo de norm. Omdat deze situatie de hele tijd voorkomt, is er nu een overvloed aan tools die gespecialiseerd zijn in “cloud monitoring” en die alle datawetenschappers die ook maar enigszins gemotiveerd zijn, kunnen straffen en de toegang tot computermiddelen kunnen afsnijden. In die omstandigheden is het gemakkelijk te begrijpen dat het moeilijk wordt om data scientists gemotiveerd te houden.

Om op dit onderwerp te eindigen, een data wrangling-tool die werkt met “variabele kosten” (zoals 99% van de cloud-oplossingen) leidt tot het straffen en ontmoedigen, en belet zo uiteindelijk uw beste mensen om te werken.


Industrialisering vergemakkelijken

Een goed data wrangling-tool moet u in staat stellen de door uw teams ontwikkelde “recepten” gemakkelijk te industrialiseren en te automatiseren.

Hier zijn enkele specifieke kenmerken die ik belangrijk vind:

  • eenvoudige integratie met elk planningsprogramma (bv. “task scheduler” van MS-Windows of Jenkins)
  • snelle implementatie binnen uw huidige IT-infrastructuur en/of in andere talen of andere gegevenskaders. Bijvoorbeeld, in staat zijn om een data wrangling-procedure op te roepen vanuit een klein Pythonscript is een must.
  • robuust genoeg om een plotselinge toename van het datavolume aan te kunnen zonder te crashen.

Geïntegreerd instrument

Sommige ETL-oplossingen zijn niet echt ETL omdat het “transformatie”-gedeelte (de “T”) ontbreekt of onvoldoende ontwikkeld is. Wat mij betreft, geef ik de voorkeur aan instrumenten die alle drie de onderdelen van de gegevenscyclus bestrijken: extrahering, opslag, exploitatie. Het moet mogelijk zijn zonder problemen van de ene naar de andere te gaan, zonder dat er per ongeluk informatie verloren gaat.


Veelheid van connectoren

Ik heb het al vaak gehad over het belang van een maximum aan connectoren. Tegenwoordig komen gegevens overal vandaan, in steeds meer formaten en soms met een eigen merknaam.


Talrijke functies voor gegevenstransformatie

Dit is een punt dat ik al vaak heb aangehaald en dat mij essentieel lijkt in een “No Code”-aanpak. U moet zoveel mogelijk voorgeprogrammeerde “boxes” hebben om de meest voorkomende datatransformatie-operaties te dekken.

Natuurlijk hebben alle ETL-oplossingen, deze naam waardig, een breed gamma van “boxes” beschikbaar. Maar sommige hebben er meer dan andere (b.v. Anatella), wat zeer nuttig kan zijn.

Dit laatste punt lijkt voor de hand te liggen, maar verrassend genoeg zijn er maar weinig softwareoplossingen die in deze behoefte voorzien. Veel software-editors stellen zich immers tevreden met een breed scala aan connectiviteit en vergeten daarbij volledig het aspect “gegevenstransformatie”, dat een minstens even belangrijke component is, zo niet meer. Wilt u voorbeelden? Hier vindt u er twee.

Fuzzy matching

Superhandig om 2 databases op elkaar af te stemmen als de kwaliteit niet geweldig is. Toch ken ik maar één oplossing die dit van nature aanbiedt (zie hier voor meer info).

De draaifunctie

Als u aan datavisualisatie doet, is het kunnen roteren van uw data echt wel de basis. Maar ook hier geldt dat 99% van de data wrangling-oplossingen dit niet bieden (in Anatella heten de boxes “flatten” en “unflatten”).


Geplaatst in Data en IT.