Een ranger in de data-jungle

Heb jij kinderen, of ga jij vaak om met kinderen? Wie weet heeft een van deze kinderen jou dan ook eens de vraag gesteld wat je eigenlijk voor werk doet. Mijn zoon is op het moment van schrijven 20 maanden oud. Natuurlijk is het voor hem wat vroeg om mijn werk te begrijpen. Maar het is niet erg om alvast na te denken over de vraag. Kan ik mijn werk aan een kind uitleggen?

If you can’t explain it to a six year old, you don’t understand it yourself. – Einstein

Of we het volledig eens moeten zijn met Einstein in deze zin? Nee dat denk ik niet. Maar een vereenvoudigde uitleg van je werk moet toch wel lukken. Laat het me eens proberen met een van de begrippen die ik vaak in mijn werk gebruik.

Welkom in het bos

Allereerst wil ik je welkom heten in mijn bos. Dit bos is vergelijkbaar met een hoop andere bossen. Zo vind je hier een hele hoop bomen, planten, bosjes en grassoorten. 

Zoals je kan zien kan je een aantal verschillende zaken onderscheiden in dit bos. De hoogte van de bomen, de breedte van de bomen, zelfs het aantal grassprietjes naast iedere boom en ook de ruimte tussen de bomen in. Hoe meer details we proberen zichtbaar te krijgen hoe onduidelijker ons beeld wordt. Het beeld komt vol te staan met data, zonder dat we het overzicht nog kunnen bewaren. Daarom zetten we deze data in een tabel.

Boom NummerHoogteBreedteGrassprietjes LinksRuimte Links
11.220.122622
22.560.551520
38.210.891823
46.440.682229

Een tabel kent rijen (horizontaal) en kolommen (verticaal). Doorgaans zijn de kolommen voorzien van naamgevingen, welke bovenaan iedere kolom te lezen zijn. Als we de data uit het bos omzetten naar een tabel dan vinden we kolommen zoals ‘Boom Nummer’ en ‘Boom Breedte’. Net als alle andere kenmerken van de bomen in het bos staan deze netjes naast elkaar. Iedere rij vertegenwoordigd een boom, met ieder een eigen uniek Boom Nummer.

De data die ik hierboven heb beschreven noemen we in mijn werk ‘meta data’. De term ‘meta’ komt uit het grieks en betekent zoiets als ‘betreffende het onderwerp zelf’. Meta-data is dus data over data. Met de gegevens in deze tabel beschrijven we bomen.

Johnny

Om mijn verhaal verder te kunnen vertellen moet ik je eerst voorstellen aan mijn vriendje Johnny. Johnny houdt van het bos. Hij komt zó vaak in het bos dat zelfs zijn haar begint te lijken op de bladeren van een boom. Nou is dit nog niet zijn meest eigenaardige eigenschap. Johnny is zo erg fan van het bos dat hij alles wat hij meemaakt in het bos nauwkeurig bijhoudt.In een schriftje noteert Johnny de tijd op de seconde nauwkeurig, samen met details over welke bomen hij heeft gezien, aangeraakt of genegeerd. Zo ontstaat ook daar een prachtige tabel met allerlei acties die hij op bepaalde momenten heeft ondernomen.Je zou kunnen stellen dat Johnny uiterst gestructureerd een logboek bijhoudt.

Daarom noemen wij deze data dan ook Log Level Data. De data is op zo’n laag detailniveau (level) dat het een logboek vormt van wat er allemaal gebeurt is.

Nu we kennis hebben gemaakt met deze twee soorten data (meta-data en log level data) kunnen we ons afvragen wat we hier nou mee moeten. Eigenlijk is dat vrij simpel. De log level data bevat data over evenementen. Meta-data bevat data over data. Als we middels een stukje eenvoudige programmeercode deze twee data soorten samen brengen kunnen we van deze data informatie maken. Is het wellicht zo dat een bredere boom meer aandacht krijgt? En verschil dit per uur van de dag?

Waarom zo complex?!

Natuurlijk is dit nog vrij eenvoudig te doen. Dit zouden we met pen en papier ook nog kunnen. Maar stel je nu eens voor dat we niet 1 bos hebben, maar miljoenen. Dat Johnny niet alleen is, maar samen met de hele wereldbevolking. En dat ieder bos niet alleen bomen heeft maar ook allerlei andere flora en fauna. Van ieder onderdeel hebben we log level data en meta-data.

Zo gezegd komen we in een soort gigantisch oerwoud van data terecht. Zeker als deze data niet mooi gestructureerd op 1 plek staat zou ik spreken van een data-jungle. En dan ben ik graag de Ranger die jou wegwijs maakt in de wondere wereld van data analyse, al dan niet via (geautomatiseerde) programma’s die ik voor je heb geschreven. Wanneer mag ik jou verwelkomen in deze geweldige data-jungle?

Analyseren kan je leren

Bij mijn werkgever op de werkvloer hoor je regelmatig ‘…kan je leren!‘ achter woorden eindigend op -eren. Het woord analyseren is daar een van. Vaak zit er weinig waarheid in de kreet ‘kan je leren’ en is deze louter komisch bedoeld. De titel van dit stuk is echter niet gericht op je lachspieren. Analyseren kan je echt leren.

Toen ik met dit artikel aan de slag ging ben ik eerst eens gaan rondneuzen op het web. Mijn eerste zoekactie strandde direct bij een website van een van de vele zelfstudie websites die tegen betaling cursussen aanbiedt. In het artikel op die website werd aangegeven dat je het maken van analyses goed kan leren. In hun ogen moest dit door het leren van een programmeertaal.
Mijn collega’s bij Bannerconnect zijn stuk voor stuk analytisch zeer sterk. Helaas is slechts een gedeelte bekwaam op het vlak van programmeren (in welke taal dan ook). Gezien hun analyses vaak doeltreffend en correct zijn bevonden door zowel internen als externen, valt het te betwijfelen of je leert analyseren door het leren van een programmeertaal.

Tuurlijk, programmeerkennis heeft veel voordelen. Niet alleen op het vlak van data analyse. Zeker in de wereld waarin we nu leven ligt het in de verwachting van velen dat enige logica zoals deze bij programmeertalen wordt gehanteerd algemeen bekende materie is. Toch is dit geen vereiste om een gedegen analyse te kunnen maken. Mits de data is aangeleverd op een manier waarmee jij ermee kan werken is het gebruik van geavanceerde methodes geen vereiste.

Dat is direct de crux waar we vaak tegen aanlopen. Bij het opzetten van innovatieve projecten komen we vaak op een punt dat we data nodig hebben die niet voorhanden is via de ‘standaard’ routes. Dit is vaak het punt waar de programmeerkennis toch om de hoek komt kijken. Bij mijn werkgever hebben we daar iets op gevonden. Zo hebben we een platform waar ik, als Data Analist, stukken software op mag ontwikkelen welke intern beschikbaar worden gesteld. Dit platform noemen we Alfred. Doordat Alfred als een modulair framework is opgezet is het heel eenvoudig om rapportages aan te passen zodat iedereen intern zijn eigen creativiteit en innovativiteit kan uitbuiten.

Door iedereen de toegang te geven tot de data die voor zijn of haar functie van belang is en iedereen hier ongelimiteerd mee te laten stoeien kan iedereen plots gaan analyseren. Hoewel iedereen een eigen manier kiest voor de analyse valt gelijk op; Analyseren kan je leren.