Analyse af kundeafgang
Kort oversigt over analyse og forudsigelse af kundeafgang med beslutningstræklassificator.
Kundeafgang er et af de vigtigste og mest udfordrende problemer for virksomheder som f.eks. kreditkortselskaber, kabeltjenesteudbydere, SASS og teleselskaber verden over. Selv om det ikke er det sjoveste at se på, kan kundeafgangsmålinger hjælpe virksomheder med at forbedre kundefastholdelsen.
Når vi ser på den statistiske indsigt, ser vi, at gennemsnitsalderen for vores kunder er 39 år, den gennemsnitlige måned, kunden har været medlem, er 5, og den anslåede gennemsnitsløn er 100.000.
Når vi ser på køn og geografisk fordeling af den estimerede løn, ser vi, at mandlige kunders estimerede gennemsnitsløn er højere end kvindelige kunder i Frankrig og Spanien, men i Tyskland er kvindelige kunders estimerede gennemsnitsløn højere.
Når vi ser på forholdet mellem alder og kreditvurdering, er det lineære forhold meget svagt for at kunne definere en klar korrelation.
Baseret på vores grundlæggende eksplorative analyse kan vi definere de vigtige kundeattributter, som kan give os den bedste indsigt med henblik på at forudsige, hvilken type kunder der kan churnere. Vi kan fortsætte denne analyse for at besvare nogle grundlæggende spørgsmål såsom: “Øger lavere anslået løn churn?” Eller “Øger lavere kreditvurdering churn?” og så videre. Vi kan gruppere og sammenfatte datasættet på forskellige måder for at få mere indsigt i kundeattributter. Vi vil dykke ned i flere af disse i det næste datasæt. Lad os nu begynde at tænke på at forudsige, hvilke kunder der vil churn.
I dette tilfælde kan vi mærke vores målvariabel (responsvariabel), som er churn. Det betyder, at vi kan oprette en klassifikationsmodel og udføre forskellige algoritmemetoder såsom Decision Tree, Random Forest, Logistic Regression eller Support Vector Machines. Når det drejer sig om maskinlæringsmodeller, søger vi to hovedbetingelser; 1- Normal fordeling af funktionssættet, 2- Samme skala for funktionssættet.
I dette datasæt kan vi vælge kreditvurdering, geografi, køn, alder, ansættelsestid og estimeret lønattributter som funktionssæt og churn som målvariabel.
Vi skal sørge for at opdatere de kategoriske variabler til numeriske variabler, da de maskinlæringsteknikker, vi vil anvende, kræver, at alle kundernes attributter er numeriske.
Vi kan yderligere opdele vores datasæt tilfældigt i et trænings- og et testdatasæt for at tilpasse vores model med træningsdatasættet og teste forudsigelserne med testdatasættet. Ideen er at træne modellen med træningsdatasættet og teste forudsigelsen med testdatasættet. Hvis vi ikke brugte trænings- og testdatasættene og i stedet brugte hele datasættet, vil algoritmen kun lave nøjagtige forudsigelser med vores datasæt og vil fejle med alle nye data, som den får tilført.
I dette datasæt skal vi bruge DecisionTreeClassifier og RandomForestClassifier til at oprette vores model og forudsigelse og yderligere evaluere dem begge for at se, hvilken af dem der er bedst.
Based on the metrics evaluations, ville 73 % af forudsigelserne være nøjagtige med beslutningsklassificeringsmodellen, mens 82 % af forudsigelserne ville være nøjagtige med RandomForestClassifier-modellen. Vi ville foretrække at bruge Random Forest i dette tilfælde.
Når vi ser på fordelingen af de kunder, der churn vs. ikke churn, kan vi se, at dataene er upartiske. Det betyder, at vi ikke kun kan stole på nøjagtighedsmetriske scoringer for forudsigelsesmodellerne. Lad os se på det andet kundedatasæt for at se, om vi kan lave bedre analyser og forudsigelsesmodeller.
Denne gang ser vi på et teleselskab og dets eksisterende kundeattributter som f.eks. deres nuværende abonnement, gebyrer, placering i form af stat, mængden af kundeserviceopkald, kontolængde og churn.
Der er ingen manglende data i datasættet, og datatyperne er korrekte. Lad os se på de kategoriske værdier og deres unikke værdier.
Når vi ser på staten og churn ser vi, at Californien og New Jersey er top til stater med den højeste churn rate.
Vi ser også, at churnraten er højere hos kunderne med internationalt abonnement og lavere hos de kunder, der har voice mail abonnement.
Der er langt flere kunder, der bliver hos selskabet, end der forlader selskabet som kunde. Hvis man husker den tidligere analyse med kreditkortselskabet, betyder dette ubalancer i dataene og har en indvirkning på udviklingen af forudsigelsesmodellen. (Et vigtigt aspekt, som vi ikke har nævnt tidligere, er, at vi ikke har brug for unikke identifikatorer som f.eks. telefonnummer, kunde-id eller kontonummer til udvælgelse af funktioner.)
Dårlig kundeservice er en af de velkendte årsager til kundeflugt. I vores tilfælde kan vi se en stærk positiv lineær sammenhæng med mængden af kundeserviceopkald og churn rate.
Med dette datasæt kan vi udvikle flere forskellige modeller og evaluere dem for at se, hvilken model der passer bedst til at løse vores forretningsproblem med kundeafgang.
I lighed med det tidligere datasæt for kreditkortkunder skal vi udføre forbehandling og opdatere de kategoriske variabler til numeriske variabler for at kunne oprette vores model.
Nu er vi klar til at opdele datasættet til træning/test og oprette vores modeller. Lad os starte med Random Forest.
Vores nøjagtighedsscore for Random Forest-modellen, som vi har skabt til at forudsige teleselskabets kunders churn, er 0.89. Vi bør dog se analysere dette yderligere, da dataene er upartiske.
Vi kan gennemgå yderligere evalueringsmetrikker, såsom krydsvalideringsmatrix, som vil give os mængden af sande positive, falske positive, sande og falske negative, præcision, tilbagekaldelse og f1-score. Vi kan også se, hvad vi kan gøre for at forbedre modellen ved at se på, hvilke funktioner der bidrager mest til forudsigelsen.
Modellen forudsiger 560 True Negatives, 13 False Positives, 54 False Negatives, 40 True Positives.
Når vi evaluerer modellen med Random Forest Classifier, ser vi, at:
Præcisionsscore er 0.729
Recall-score er 0,372
ROC-kurven er følgende:
AUC-score (arealet under roc-kurven) er 0.83 og f1 score er 0,49.
Vi finder også ud af, at for at få den bedste præstation fra modellen skal vi sætte n estimatoren til 30. (I øjeblikket bruger vores model 100)
Vi kan yderligere se på funktionernes betydning for at se, hvilke funktioner der har størst betydning for forudsigelsen.
Best på feature vigtighed, kan vi helt sikkert fjerne state fra vores model.
Lad os oprette en anden model ved hjælp af Support Vector Machine.
Når vi opretter modellen og kigger på nøjagtigheden, kan vi allerede se, at nøjagtighedsscoren for Support Vector Machine er lavere end Random Forest Classification.
Når vi opretter modellen og kigger på nøjagtigheden, kan vi allerede se, at nøjagtighedsscoren for Support Vector Machine er lavere end Random Forest Classification.
Modellen forudsiger 567 True Negatives, 6 False Positives, 83 False Negatives, 11 True Positives. Selv om antallet af falske positive tal er faldet en smule, er de sande positive tal betydeligt mindre sammenlignet med RandomForestClassifier.
Både præcisionsscoren(0,647) og recall-scoren(0,11) er meget lavere end RandomForestClassifier. Arealet under roc-kurven (auc) er 0,83, hvilket er det samme som for Random Forest Classifier. Den bedste mulighed for Support Vector Machine-grad er 1. (som i øjeblikket er indstillet som standardværdien 3).
Baseret på de to prædiktive modeller, vi har oprettet, ville den første, vi oprettede med Random Forest Classifier, være et bedre valg. Vi kan også indstille denne model og forbedre den ved at opdatere n_estimator og fjerne tilstandsvariable fra funktionssættet for bedre forudsigelse.
Med den eksisterende forbrugerindsigt gennem data kan virksomheder forudsige kundernes mulige behov og problemer, definere passende strategier og løsninger i forhold til dem, opfylde deres forventninger og fastholde deres forretning. På baggrund af den prædiktive analyse og modellering kan virksomhederne fokusere deres opmærksomhed med en målrettet tilgang ved at segmentere og tilbyde dem skræddersyede løsninger. Ved at analysere, hvordan og hvornår der sker en afvandring i kundernes livscyklus med tjenesterne, kan virksomheden komme med mere forebyggende foranstaltninger.