MarleenKookt
Voorkomen van klantverlies
Bij MarleenKookt streeft men naar een persoonlijke aanpak in hun contact met klanten. Er is een grote hoeveelheid aan orderdata beschikbaar waarmee meer inzicht gecreëerd kan worden in het bestelgedrag van individuele klanten. De wens vanuit MarleenKookt is dat er een “churn alert” model wordt gebouwd dat voor elke klant aan de hand van verschillende factoren voorspelt of deze actief zal blijven. In het geval dat het model voorspelt dat een klant verloren zal gaan kan er dan contact met hem of haar worden opgenomen om de klantrelatie weer te verbeteren.
PROBLEEM
OPLOSSING
Door middel van een uitgebreide, handmatige analyse van de beschikbare dataset in Python zijn factoren geïdentificeerd die mogelijk gerelateerd zijn aan het wel of niet actief blijven van een klant. Binnen de data science is het een verstandige werkwijze om te beginnen bij een simpel model en daarna indien nodig meer gecompliceerde technieken in te zetten. Om deze reden werden de geïdentificeerde factoren allereerst verwerkt in een logistische regressie model. Dit model bleek al zeer goed te functioneren! Voor 75% van de klanten in de testdataset voorspelde het model correct of de klant actief zou blijven of niet. In de afrondingsfase van het model zijn er nog enkele nieuwe factoren aan het model toegevoegd en verschillende andere voorspelalgoritmen getest. Uiteindelijk bleek het gradient boosting algoritme de meest accurate voorspellingen te maken.
Het model is in productie gebracht op Azure, het cloud platform van Microsoft, met behulp van de ‘Azure Functions’ tool. Azure Functions is zeer schaalbaar en goedkoop en in het geval van MarleenKookt is het gebruik ervan zelfs gratis omdat ze niet boven de “free tier” limiet zullen uitstijgen! Met Azure Functions kun je, onder andere, kleine Python scripts laten draaien op een computer van Microsoft op het moment dat dit script geactiveerd wordt door een bepaalde trigger. De trigger die het script in dit geval doet draaien is een upload van nieuwe klantendata naar een opslagaccount op Azure. Wanneer dit gebeurt wordt het model automatisch opnieuw getraind, waarna er op basis van de nieuwste data ook meteen churnvoorspellingen voor alle klanten worden gemaakt. De trainingsscores van het model en de nieuwe voorspellingen worden geëxporteerd naar Excelbestanden die via de Azure opslagaccount te downloaden zijn. Hiernaast wordt ook nog een Excelbestand gegenereerd dat alleen de klant ID’s laat zien van klanten wiens voorspelling sinds de vorige voorspellingsronde is veranderd van ‘blijft actief’ naar ‘gaat verlopen’. Deze klanten zijn volgens het model het meest relevant om op dat moment te benaderen, dus aan de hand van dit bestand kan MarleenKookt zo efficiënt mogelijk contact gaan opnemen met hun klanten.
Het gefinaliseerde model voorspelt in 80% (± 2%, ROC AUC score: 88% ± 2%) van de gevallen correct of een klant actief zal blijven. Met beschikking over dit model kan MarleenKookt bijvoorbeeld elke week of maand voor al hun klanten nieuwe voorspellingen genereren. Aan de hand hiervan kunnen ze contact opnemen met klanten die ze lijken te gaan verliezen om hun klantretentie te verhogen.
RESULTAAT