Definiëren wat je bedoelt wanneer je het hebt over data kan lastig zijn. Vooral wanneer er een filosoof in de kamer is. Daarom gebruik ik de volgende werkdefinitie van data in een business context:
Data komt tot bloei wanneer een software applicatie de signalen vastlegt en opslaat die de uitvoering van een business proces genereert.
Nu kunnen we deze data gebruiken om te analyseren wat er gaande is in de business. We kunnen definiëren welke cijfers relevant zijn om op te volgen voor onze business strategie. We kunnen meetpunten definiëren in het proces om deze cijfers te krijgen. We kunnen de evolutie van deze goed gekozen cijfers plotten in intuïtieve dashboards. Gebaseerd op deze dashboards kunnen we acties ondernemen om het business proces en de onderliggende software applicatie te verfijnen. Om de impact op de cijfers van deze veranderingen te zien.
Enzovoort. Totdat we een high performing business hebben die zijn doelen haalt, zijn strategie realiseert en zijn missie vervult.
Maar eerst moeten we mensen aan boord krijgen van deze ambitieuze visie. We moeten mensen op dezelfde lijn krijgen. We hebben een manier nodig om hierover te praten.
Daarom ontwikkelde ik een data maturity assessment. Wanneer ik met mensen praat is het duidelijk dat ze zeer verschillende ideeën, aspiraties en angsten hebben over data projecten. Stereotypisch zou je kunnen zeggen dat de IT guys zich focussen op tooling en security. De sales guy wil iets flashy. De HR mensen iets simpels. De CFO geeft om total cost of ownership. En de CEO vreest de kansen te missen die meer geavanceerde data analytics brengen.
Het assessment rond 3 onderwerpen meet de maturiteit rond 3 onderwerpen: data culture, data strategy en data architecture. Als je wilt kun je het hier nemen. Hier focus ik op de data engineering die in het spel komt bij het verwerken van de resultaten. Alle software applicaties en databases die ik hieronder noem zijn opensource. Ze zijn allemaal self-hosted op Hetzner cloud servers met Ubuntu 20.04 besturingssysteem.
1. Het business proces in dit geval is het assessment van de data maturity. Het hoofddoel is om een discussie rond data te starten. Ik wilde het kort en simpel houden en niet noodzakelijk een statistisch verantwoorde vragenlijst ontwerpen. Als software applicatie die dit proces ondersteunt gebruikte ik LimeSurvey.
2. De meetpunten zijn de waarden van de antwoorden die ik achter de schermen in LimeSurvey configureerde van 0 tot 4. Om later inzichten te genereren moest ik me houden aan bepaalde vraagtypen in LimeSurvey die assessment waarde ondersteunen. In ons geval een array.
3. De database van LimeSurvey is zeer geschikt voor surveys, maar niet voor analytics. Daarom ontwierp ik een paar views in de MySQL database van LimeSurvey om de data te denormaliseren. Ik moest een paar tussenliggende views bouwen voordat ik alle data in het formaat kon krijgen dat ik wilde in één tabel. Deze stap kostte me de meeste tijd in het hele project.
4. Nu kunnen we Metabase verbinden met de database en de view gebruiken die we daar creëerden om de data te visualiseren. Toen we dit deden merkten we dat de answer_value een string was dus pasten we onze view aan om het als een integer te casten. Nu konden we de answer_value gebruiken in aggregaties, zoals het gemiddelde antwoord per onderwerp.
5. Metabase stelt in staat om de verschillende visualisaties te filteren gebaseerd op een van de velden in de data. We kunnen ook zien hoe CEO's of CFO's van organisaties tussen 2 en 10 werknemers denken over de data maturity. Maar dit stelt ons in staat om snel feedback te geven aan de deelnemers van de survey door te filteren op hun naam.
Als meer collega's van dezelfde organisatie de survey nemen, kunnen we hier filteren op de verschillende afdelingen. Dit faciliteert een discussie over mogelijke verschillen in maturity tussen afdelingen.