Terug naar het overzicht

Machine learning voor klantsegmentatie: helemaal datagedreven

Er zijn altijd wel verschillende high-level klantsegmenten te benoemen die relevant zijn voor een bedrijf: zo zijn er trouwe klanten, klanten die structureel op jacht zijn naar de beste deals en klanten die een lange tijd niet actief zijn geweest. Hoewel we weten dat deze typen klanten bestaan, weten we niet wie zij zijn op individueel niveau. Wie zijn onze trouwe klanten? En nog belangrijker, hoeveel high-level klantsegmenten bestaan er voor onze business? 

We kunnen deze vragen voorzien van een antwoord door data op een slimme manier te gebruiken. Om iets preciezer te zijn: door een clusteringtechniek te combineren met het RFM-model.

RFM-model

Het RFM-model heeft zijn populariteit te danken aan de simpele en effectieve benadering waarmee segmenten gecreëerd worden op basis van koopgedrag. Er kunnen veel kenmerken worden bekeken, maar aangezien ons doel is om high-level klantsegmenten te creëren, kijken we vooral naar de belangrijkste maatstaf voor de meeste bedrijven: transacties. De transactionele data die gebruikt worden in het model bestaan uit de volgende drie variabelen:

  •      “Recency” – het aantal dagen sinds de laatste aankoop
  •      “Frequency” – het totale aantal aankopen
  •      “Monetary” – de customer life-time value (CLV) (dit kan de totale omzet zijn bijv.)

Deze “ruwe” RFM-waardes maken het moeilijk om segmenten te creëren, omdat er verschillende waarden zijn voor deze drie variabelen. Het is bijvoorbeeld mogelijk dat er klanten zijn die slechts twee dagen geleden iets hebben gekocht, terwijl een andere klant 365 dagen geleden iets heeft gekocht. Dit betekent dat er erg veel unieke klantgroepen onderscheiden kunnen worden op basis van dagen sinds de aankoop als wij de “ruwe” RFM-waardes gebruiken voor de segmentatie.

Daarom is het beter om elke klant een RFM-score toe te wijzen. Dat betekent dat elke klant een ‘Recency’-score tussen 1 en 5 krijgt, waarbij 5 een heel recent kopende klant is en 1 een klant die erg lang geleden iets kocht. Hetzelfde principe wordt toegepast op de overige twee parameters (zie fig. 1). De grens (threshold) die bepaalt wanneer een klant een score van bijvoorbeeld 1 of 2 krijgt, wordt bepaald door middel van een binning algoritme dat ervoor zorgt dat de groepen zo gelijkwaardig mogelijk zijn in aantal klanten. Hoewel we op dit punt de segmentatie al redelijk hebben vereenvoudigd, zijn er alsnog 125 (5x5x5 – RFM) verschillende segmenten. Om het aantal segmenten te reduceren, passen we een clusteringtechniek toe die ervoor zorgt dat er minder segmenten zijn met behulp van een patronen in de data.

Elke klant een passend cluster

Een krachtige, unsupervised machine learning techniek is clustering, waarbij de focus ligt op het maken van natuurlijk voorkomende groepen op basis van vergelijkbare patronen in de data. Het algoritme maakt clusters met klanten die zoveel mogelijk van elkaar verschillen in koopgedrag, terwijl de klanten binnen de clusters zoveel mogelijk op elkaar lijken in hun koopgedrag. Een mens kan namelijk niet bepalen hoeveel segmenten er bestaan als we naar grote datasets kijken, omdat de patronen in de data niet te herkennen zijn met het blote oog. Gelukkig kunnen we dit wel vaststellen op een data-gedreven manier met behulp van de elbow method.

Deze methode brengt in kaart wat het verschil is tussen de clusters in koopgedrag (zie blauwe lijn in fig. 2) en wat het verschil is binnen deze clusters in koopgedrag (zie rode lijn fig. 2). Het ideale aantal clusters bevindt zich op het punt dat de rode lijn het laagst is en de blauwe lijn het hoogst. Dat betekent dat de clusters erg verschillend van elkaar zijn (de klantsegmenten zijn erg verschillend) en de mensen in elk cluster lijken heel erg op elkaar (de klanten van elk segment hebben vergelijkbaar koopgedrag). Met deze grafiek is het mogelijk om het ideale aantal clusters te selecteren. In dit geval hebben we zeven clusters geselecteerd als het ideale aantal, aangezien de blauwe lijn hoog is en de rode lijn laag. Tot slot kunnen we door het toepassen van het k-means algoritme de zeven definitieve clusters creëren en elke individuele klant een passend clusternummer geven.

Gedetailleerde clusteranalyse

Nu de zeven clusters zijn gecreëerd, is het van belang dat we definiëren welk type klant bij welk clusternummer hoort. Om de klantsegmenten te definiëren is het nodig om het volgende te combineren: je business kennis, de segmenten waarvan jij denkt dat ze mogelijk bestaan en de interpretatie van de data. We moeten als eerst begrijpen wat de grootte van elke cluster is. Die informatie is makkelijk te verkrijgen via de grafiek hieronder (fig. 3).

De tweede stap is om de gemiddelde RFM-scores van elk cluster te raadplegen en vast te stellen of er karakteristieken in het koopgedrag zijn die herkenbaar zijn voor de segmenten waarvan je weet dat ze bestaan in jouw branche. Bijvoorbeeld, cluster 4 zijn klanten die recentelijk iets hebben aangeschaft, frequent iets aanschaffen, en een hoge CLV hebben. Dit zijn dus overduidelijk trouwe klanten. Klanten in cluster 7 daarentegen schaffen ook recentelijk iets aan en kopen frequent producten, maar hebben een negatieve CLV. Dit zijn de zogeheten wardrobers: ze retourneren producten vaak, vandaar de lage CLV. Elk clusternummer wordt op deze manier geïnterpreteerd. Daarbij wordt een overkoepelende marketingactie gedefinieerd die correspondeert met elk klantsegment dat geïntegreerd wordt in de totale marketing strategie (clusterstrategie). Bekijk figuur 4 voor een voorbeeld van de output van de klantsegmenten.

Persoonlijke klantbenadering

Een “slapende” klant kan natuurlijk een loyale koper worden zodra hij door jouw campagnes getriggerd wordt om weer iets te kopen. Deze verandering in koopgedrag heeft directe invloed op het segment waarin de klant is ingedeeld, wat betekent dat dat klantsegment een update nodig heeft. Met andere woorden: nieuwe aankopen van bestaande klanten, en nieuwe klanten over het algemeen, moeten een nieuw klantsegment toegewezen krijgen. Deze stap is cruciaal, aangezien het de segmenten die je voor je marketingstrategie gebruikt up-to-date houdt. We beheren dit proces door alle nieuwe transacties in het CRM wekelijks op te halen en te controleren of iedere individuele klant het juiste klantsegment toegewezen heeft gekregen. Hiervoor wordt een classification tree gebruikt waarmee bepaald kan worden in welk klantsegment een klant valt met zijn RFM-scores. Als al het nieuwe koopgedrag is verwerkt, worden alle maillijsten in de advertentieplatformen geüpdatet door middel van de beschikbare API’s. Zo beperk je handmatige werkzaamheden.

Hoewel dit misschien een beetje complex klinkt, is het proces relatief gezien makkelijk en handhaafbaar zodra het is opgezet. Bovendien zijn je marketingactiviteiten gepersonaliseerd en veel preciezer. Met een druk op de knop selecteer je alle trouwe klanten in bijvoorbeeld Facebook of AdWords om ze verder te segmenteren en de klanten te voorzien van nog persoonlijkere content en berichten. Het is alsof de verkoper achter de toonbank opeens digitaal is geworden, je complete klantenbestand kent en daarnaar handelt!

Meer informatie

Heb je vragen of ben je  nieuwsgierig? Vraag het Job!

Job Deibel, Analytics consultant
Stel je vraag!