-

Zo werkt Machine Learning in de praktijk

Machine Learning en voorspelmodellen heten een belofte te zijn, maar hoe werkt het in de praktijk? Voor veel organisaties lijkt Machine Learning nog een onderwerp dat ver van hen af staat. Complex, specifieke hardware-investeringen? Nee, het is juist heel concreet en direct in te zetten.

Bij Machine Learning laten we een wiskundig model (algoritme) leren van bestaande data uit het verleden, om vervolgens een poging te doen voorspellingen te doen in de toekomst.

Bij de data die we aan het model presenteren, kennen we de uitkomst al. Het algoritme leert welke kenmerken van een dataset (X), leiden tot een bepaald resultaat Y. Dat lerend vermogen noemen we het trainen van een algoritme. Dit proces herhaalt zich een aantal keer, omdat we diverse algoritmes laten rekenen en op die manier kijken welk model de beste resultaten behaalt. Wanneer we een succesvol getraind model hebben, kunnen we gaan voorspellen. En dan wordt het natuurlijk echt interessant.

Toegepaste Machine Learning

Laten we dit onderwerp verder uitdiepen aan de hand van een praktijkvoorbeeld dat voor vrijwel iedereen relevant is, namelijk het onderwerp van retentie. We hebben een onderneming met klanten. Ons streven is zoveel mogelijk klanten te behouden, om ons totale bestand te maximaliseren. En van onze klanten weten we van alles. Zo houden we bij of ze onze nieuwsbrief lezen, of ze klikken op items uit de nieuwsbrief, waar ze wonen, hoe oud ze zijn, hoe lang ze al klant zijn bij onze organisatie, of ze recent een contactmoment hebben gehad met onze klantenservice en of dat moment positief was of niet. Hoe meer kenmerken en gedragingen we vastleggen van onze klanten, des te groter is de kans dat we een goed presterend algoritme kunnen trainen.

In eerste instantie gaan we met onze data aan de slag. We creëren een set van bijvoorbeeld duizend mensen, waarvan het lidmaatschap drie maanden geleden afliep. Van deze duizend klanten, zijn er 800 nog steeds actief klant en 200 helaas niet meer. Zoals gezegd, deze duizend mensen hebben allerlei kenmerken. Die kenmerken, en met name de combinaties van de kenmerken, leiden in veel gevallen tot het resultaat Y. In dit geval is dat resultaat het al dan niet hebben van een actief lidmaatschap (conversie).

We laten een algoritme leren van onze dataset en berekenen welke factoren leiden tot een bepaalde uitkomst. Het getrainde model kan vervolgens met een bepaalde nauwkeurigheid voorspellen wat de uitkomst zal zijn, op basis van de kenmerken. De gewenste mate van nauwkeurigheid bepaal je zelf. Deze hangt doorgaans nauw samen met de verdeling van de populatie. Hoe schever een populatie is verdeeld, des te nauwkeuriger een voorspelling moet zijn. Simpel voorbeeld: Iedereen kan met zeer grote nauwkeurigheid voorspellen dat jij de Staatsloterij nooit zult winnen. Reden daarvoor is dat bijna niemand de Staatsloterij wint. Dat noemen we een scheve verdeling van een populatie.

Terug naar ons voorbeeld: een heel slecht model zou al tachtig procent nauwkeurig kunnen voorspellen wat de uitkomst zal zijn. Immers, van de duizend mensen, zijn er 800 nog actief. Dus wanneer we zouden voorspellen dat iedereen converteert (klant blijft), hebben we in tachtig procent van de gevallen nog gelijk ook. Dat betekent dat we iets ambitieuzer moeten zijn dan dat. Laten we veronderstellen dat we hier een nauwkeurigheid willen behalen van 92 procent.

Diverse wiskundige modellen gaan aan de slag met de dataset en geven een nauwkeurigheidspercentage. Misschien vraag je je af hoe een model tot een nauwkeurigheidspercentage komt, terwijl we van deze duizend klanten de werkelijke uitkomst al kennen? Dan zou je toch honderd procent kunnen halen? Ons doel is natuurlijk om een model te creëren dat goed generaliseert naar de werkelijkheid. Om die reden splitsen we onze set van duizend mensen in een trainingsgroep en een testgroep. Bij de trainingsgroep leert het model van de kenmerken en de bijbehorende uitkomst.

Bij de testset “doet het model net alsof” de uitkomst niet bekend is. Op die manier kun je tijdens het leerproces al werkelijk voorspellingen doen op een subset. De splitsing van trainingsdata en testdata gebeurt in werkelijkheid niet een keer, maar meerdere keren. Op die manier voorkom je dat een scheiding van de data toevallig leidt tot verkeerde conclusies. We hebben diverse modellen getraind en getest en komen tot de conclusie dat we een model hebben dat naar behoren presteert. Onze inspanningen worden beloond en nu kan het leuke deel beginnen. We gaan de toekomst voorspellen.

Glazen bol

Het doen van voorspellingen heeft iets magisch. Natuurlijk, het is meer toegepaste wiskunde dan magie, maar met name mensen die weinig met het onderwerp te maken hebben gehad, zullen versteld staan van de resultaten die je kunt behalen. Een punt waarop art en science samenkomen. Dit keer nemen we een dataset van wederom 1.000 klanten, met dezelfde variabelen/kenmerken als de eerste set van duizend. Maar in dit geval loopt hun lidmaatschap volgende maand af. Vanzelfsprekend weten we vooraf niet of zij hun lidmaatschap zullen verlengen, dat is juist hetgeen we zullen trachten te voorspellen. Ook hier weten we van alles van onze klanten. Denk terug aan de eerder genoemde items als opt-in, leeftijd etcetera. Ons getrainde model kan nu per klant gaan voorspellen of hij/zij zal converteren of niet. Sterker nog, het model kan daarbij een waarschijnlijkheid benoemen. En die informatie is ontzettend waardevol.

En de uitkomst?

De uitkomst van onze voorspellingen biedt houvast bij onze retentie activiteiten. Er zijn natuurlijk verschillende tactieken denkbaar. Je kunt je voorstellen dat er een groep mensen is, waarvan het model heeft berekend dat zij vrijwel zeker zullen converteren. Dan zou je kunnen stellen dat er geen retentie effort nodig is om hen te behouden. Andersom zal er ook een groep zijn van mensen, waarbij het model heeft berekend dat het vrijwel uitgesloten is dat zij zullen verlengen. In die gevallen kunnen we ons de moeite (en het geld) van de retentie activiteiten beter besparen. We zullen er niet in slagen deze klanten te overtuigen. De laatste en meest belangrijke groep is hier de middengroep. Hier kunnen we gerichte retentieacties vormgeven in een retentiecampagne. Op die manier kan een Machine Learning algoritme jouw organisatie dus helpen betere retentie resultaten te behalen, ofwel dezelfde resultaten mogelijk te maken met minder middelen.

Concreet en dichtbij huis

Het is jammer dat veel organisaties het beeld hebben dat voorspelmodellen erg complex zijn en veel software- en hardware-investeringen met zich meebrengen. In de praktijk valt dat enorm mee. Zo kun je de open source (gratis) Python libraries gebruiken om een classificatiemodel, zoals hierboven beschreven, in te richten. Natuurlijk is er kennis nodig om deze zaken toe te passen, maar er is veel trainingsmateriaal beschikbaar. Op die manier kun je een afweging maken om Machine Learning intern uit te voeren, of deels uit te besteden. Uiteindelijk bepaalt de slimme inzet van data steeds vaker of organisaties de strijd met hun concurrenten zijn winnen.

Deel dit bericht

Plaats een reactie

Uw e-mailadres wordt niet op de site getoond