Op het MIE geeft David Macro, hoofd data-science van DataIM, een masterclass met als titel: ‘Marktonderzoek met R en Shiny in vogelvlucht’. R en Shiny zijn twee tools die tezamen een framework bieden voor statistische analyses en datavisualisatie. Daily Data Bytes sprak erover met Gijs van Blokland, algemeen directeur van DataIM.
Eerst even over DataIM. Wat doen jullie?
‘DataIM is een bedrijf dat gespecialiseerd is in de uitvoer van en rapportage over onderzoek uitgevoerd via online surveys. Wij zijn gespecialiseerd in dataverzameling, informatiebeveiliging en technische oplossingen en we geven inzicht en advies.
Kun je iets vertellen over R en Shiny?
‘R is uniek vinden wij, omdat het zowel een statistisch softwarepakket is als een volwaardige programmeertaal. Van eenvoudige berekeningen tot complexe analyses, R heeft het allemaal. Shiny is een framework voor interactieve dashboards en applicaties, ontwikkeld voor R. Shiny maakt het mogelijk om R-analyses moeiteloos te transformeren naar interactieve dashboards of krachtige data-analyse-applicaties, zonder dat je expert hoeft te zijn op het gebied van webdesign.’
Wat willen jullie overbrengen in de masterclass op het MIE?
‘De masterclass bestaat uit twee aansluitende sessies van elk 45 minuten. Het begint met een korte introductie en daarna gaan we in op de voornaamste verschillen met statistische pakketten zoals SPSS en Stata, met rapportage-tools zoals PowerBI en Tableau en met general-purpose tools zoals spreadsheets en andere programmeertalen (zoals Python). Vervolgens demonstreren we via twee realistische casussen hoe wij R en Shiny in de dagelijkse onderzoekspraktijk inzetten.’
Welke twee casussen zijn dat?
‘De eerste casus toont hoe we R en Shiny inzetten als rapportage-tool. De inhoudelijke vraag gaat over het inzichtelijk maken van trends in churn-motieven bij verschillende doelgroepen. We beginnen met enkele eenvoudige descriptieve analyses in R, van waaruit we vervolgens een dashboard opzetten met filtermogelijkheden. Als voorbeeld van een inzicht kunnen we kijken naar onze telecom-churns. Gedurende de periode van snel toenemende inflatie in 2022/2023 zagen we een verschuiving van churn-motieven. In toenemende mate werd de prijs van het abonnement genoemd als een reden om over te stappen – elders anders kon men wat goedkopers krijgen. In dezelfde periode zagen we dat er meer gekozen werd voor contracten met een kortere looptijd, dus er was meer flexibiliteit om over te stappen. De inzichten werden duidelijk doordat we verschillende informatiebronnen op overzichtelijke wijze hadden gecombineerd in een online dashboard.’
En de tweede casus?
‘Die toont hoe we R en Shiny inzetten als tool bij het uitvoeren van complexe tekstmininganalyses. We beginnen met een (bestaand) script in R, dat we omzetten naar een interactieve analyseapplicatie. Denk ter illustratie aan een groot bedrijf waarvoor meertalige surveys lopen t.b.v. het meten van de klanttevredenheid van een net aangeschaft product. Het gaat om een product voor ouders van jonge kinderen, en het bedrijf is gespecialiseerd in dit specifieke product dat men verkoopt in diverse Europese en Aziatische markten. De surveys leveren antwoorden op in verschillende talen en de aard van het onderzoek (veel talen) en het volume (veel respons per taal) maken de verwerking van open antwoorden op zichzelf al een complexe excercitie.’
Hoe pasten jullie tekstmining toe in de praktijk?
‘Doel van de tekstmining is om punten van tevredenheid – in onze terminologie zogeheten ‘aanbevelingsmotieven’ – en punten van afkeur te detecteren. En hierin ook trends over de tijd uit te halen. In de aanloopfase van het project hebben we verschillende technieken geprobeerd, variërend van eenvoudige woorddetectiemethoden tot (zelf) getrainde modellen. Uiteindelijk bleek dat we het meeste inzicht uit de data konden halen door de open antwoorden eerst geautomatiseerd te vertalen naar één doeltaal (Engels) en vervolgens de vertaalde antwoorden te scoren met embeddingscores (OpenAI) en ten slotte zelfontwikkelde clusterdetectie-modellen te gebruiken voor het classificeren van de data.’
Een van de mogelijkheden van R en Shiny is co-creatie. Kun je uitleggen wat je dan doet?
‘Een van onze grootste klanten zet onze dashboards in bij de uitvoer van zogeheten medewerkersmonitoren in onderzoeks- en onderwijsinstellingen in de publieke sector. Kenmerkend voor die sector is dat de eindafnemer (een universiteit of academisch ziekenhuis) vaak strenge eisen stelt aan de methodologie van onderzoek en de statistische verwerking. Onze directe klant is expert op dit vlak en verlangt in de projectuitvoer volledig inzicht in de dataverwerkings- en rapportageprocedures en werkt in deze fase van het onderzoek graag met ons samen.
In eerste instantie leverden wij voor deze klant een standaardproduct (onze legacy dashboardomgeving), maar dat kon eigenlijk niet meer voldoen aan de snel veranderende eisen die vanuit de eindafnemer bij onze klant werden neergelegd. Eind 2022 zijn we daarom overgestapt naar een volledige R/Shiny-oplossing, met als bijzonderheid dat onze directe klant toegang heeft tot de broncode en hier zelf ook aan bijdraagt. Dit vergde in het begin enige afbakening en korte lijnen met onze systeembeheerafdeling, maar inmiddels werken we met deze klant al ruim een jaar op deze wijze en met succes. De klant kan zelf eenvoudige tekstuele aanpassingen doen aan het dashboard, direct in de broncode. Ook kan de klant updates aan de onderliggende dataset zelfstandig doorvoeren (een van de belangrijkste eisen). En mocht de klant een fout maken, dan hebben we een procedure ingeregeld waardoor we binnen zeer korte tijd het dashboard en de onderliggende broncode kunnen herstellen naar een werkende versie.
De klant kan zelf veel doen. Geef je je kennis zo niet weg? Als je er met een traditionele bril naar kijkt, ‘schendt’ deze wijze van co-creatie eigenlijk alle principes van hoe je voor een klant softwareproducten maakt. Inderdaad, geef je niet al je kennis prijs als je broncode deelt met de klant? In dit geval bleek de samenwerking dusdanig gunstig dat we hier niet bang voor hoefden te zijn: doordat de klant zelf kan ‘spelen’ met onze software was men in staat veel sneller veel grotere opdrachten bij eindafnemers binnen te halen. Uiteindelijk was dat een enorm voordeel voor beide partijen.’
Masterclass
David Macro van DataIM geeft op het MIE, op donderdag 14 maart om 11.15 uur en om 12.10 uur een masterclass (‘Marktonderzoek met R en Shiny in vogelvlucht’).
David Macro is hoofd data-science bij DataIM. Zijn achtergrond ligt in organisatiesociologie. Hij heeft bij DataIM een team opgezet dat zich heeft gespecialiseerd in o.a. data-analyse en tekstmining met AI in R en het visualiseren van resultaten in Shiny-dashboards.