Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader

Soms, om 'n probleem op te los, moet jy net uit 'n ander hoek daarna kyk. Selfs al is soortgelyke probleme oor die afgelope 10 jaar op dieselfde manier opgelos met verskillende effekte, is dit nie 'n feit dat hierdie metode die enigste is nie.

Daar is so 'n onderwerp soos klante churn. Die ding is onvermydelik, want kliënte van enige maatskappy kan om baie redes ophou om sy produkte of dienste te gebruik. Natuurlik, vir 'n maatskappy, is churn 'n natuurlike, maar nie die mees wenslike aksie nie, so almal probeer om hierdie churn te minimaliseer. Nog beter, voorspel die waarskynlikheid van verlies vir 'n spesifieke kategorie gebruikers, of 'n spesifieke gebruiker, en stel 'n paar stappe voor om hulle te behou.

Dit is nodig om die kliënt te ontleed en te probeer behou, indien moontlik, om ten minste die volgende redes:

  • om nuwe kliënte te lok is duurder as retensieprosedures. Om nuwe kliënte te lok, moet jy as 'n reël geld spandeer (advertensies), terwyl bestaande kliënte geaktiveer kan word met 'n spesiale aanbod met spesiale voorwaardes;
  • Om die redes waarom kliënte vertrek te verstaan, is die sleutel tot die verbetering van produkte en dienste.

Daar is standaardbenaderings om churn te voorspel. Maar by een van die KI-kampioenskappe het ons besluit om die Weibull-verspreiding hiervoor te probeer. Dit word meestal gebruik vir oorlewingsontleding, weervoorspelling, natuurrampontleding, industriële ingenieurswese en dies meer. Weibull-verspreiding is 'n spesiale verspreidingsfunksie wat deur twee parameters geparameteriseer word Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader и Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader.

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader
Wikipedia

Oor die algemeen is dit 'n interessante ding, maar vir die voorspelling van uitvloeie, en in fintech in die algemeen, word dit nie so gereeld gebruik nie. Onder die snit sal ons jou vertel hoe ons (Data Mining Laboratory) dit gedoen het, en terselfdertyd goud by die Kunsmatige Intelligensie-kampioenskap in die "KI in Banke"-kategorie gewen het.

Oor churn in die algemeen

Kom ons verstaan ​​'n bietjie oor wat 'n klantverloop is en hoekom dit so belangrik is. 'n Kliëntebasis is belangrik vir 'n besigheid. Nuwe kliënte kom na hierdie basis, byvoorbeeld nadat hulle van 'n produk of diens van 'n advertensie geleer het, leef vir 'n geruime tyd (gebruik die produkte aktief) en na 'n geruime tyd ophou om dit te gebruik. Hierdie tydperk word die "kliëntlewensiklus" genoem - 'n term wat die stadiums beskryf waardeur 'n klant gaan wanneer hy van 'n produk leer, 'n aankoopbesluit neem, betaal, gebruik en 'n lojale verbruiker word, en uiteindelik ophou om die produk te gebruik. om een ​​of ander rede. Gevolglik is churn die finale stadium van die kliënt se lewensiklus, wanneer die kliënt ophou om die dienste te gebruik, en vir 'n besigheid beteken dit dat die kliënt opgehou het om wins of enige voordeel te bring.

Elke bankkliënt is 'n spesifieke persoon wat een of ander bankkaart spesifiek vir sy behoeftes kies. As jy gereeld reis, sal 'n kaart met myle handig te pas kom. Koop baie - hallo, kontantterugkaart. Hy koop baie in spesifieke winkels – en daar is reeds ’n spesiale vennootplastiek hiervoor. Natuurlik word 'n kaart soms gekies op grond van die "Goedkoopste diens"-kriterium. Oor die algemeen is hier genoeg veranderlikes.

En 'n persoon kies ook die bank self - wat is die punt daarvan om 'n kaart te kies van 'n bank wie se takke net in Moskou en die streek is, wanneer jy van Khabarovsk is? Selfs as 'n kaart van so 'n bank ten minste 2 keer meer winsgewend is, is die teenwoordigheid van banktakke in die omgewing steeds 'n belangrike maatstaf. Ja, 2019 is reeds hier en digitaal is ons alles, maar 'n aantal probleme met sommige banke kan net in 'n tak opgelos word. Plus, weereens, 'n deel van die bevolking vertrou 'n fisiese bank baie meer as 'n toepassing op 'n slimfoon, dit moet ook in ag geneem word.

As gevolg hiervan kan 'n persoon baie redes hê om bankprodukte (of die bank self) te weier. Ek het van werk verander, en die kaarttarief het verander van salaris na "Vir blote sterflinge", wat minder winsgewend is. Ek het na 'n ander stad getrek waar daar nie banktakke is nie. Ek het nie gehou van die interaksie met die ongekwalifiseerde operateur by die tak nie. Dit wil sê, daar kan selfs meer redes wees om 'n rekening te sluit as om die produk te gebruik.

En die kliënt kan nie net sy voorneme duidelik uitdruk nie - kom na die bank en skryf 'n staat, maar hou eenvoudig op om die produkte te gebruik sonder om die kontrak te beëindig. Daar is besluit om masjienleer en KI te gebruik om sulke probleme te verstaan.

Boonop kan klanteverlies in enige industrie voorkom (telekommunikasie, internetverskaffers, versekeringsmaatskappye, in die algemeen, waar daar ook al 'n kliëntebasis en periodieke transaksies is).

Wat het ons gedoen

Eerstens was dit nodig om 'n duidelike grens te beskryf - vanaf watter tyd begin ons die kliënt as vertrek beskou. Uit die oogpunt van die bank wat die data vir ons werk aan ons verskaf het, was die kliënt se aktiwiteitstatus binêr - hy is óf aktief óf nie. Daar was 'n ACTIVE_FLAG vlag in die "Aktiwiteit" tabel, waarvan die waarde óf "0" of "1" ("Onaktief" en "Aktief" onderskeidelik kon wees). En alles sal goed wees, maar 'n persoon is so dat hy dit vir 'n geruime tyd aktief kan gebruik, en dan vir 'n maand uit die aktiewe lys kan val - hy het siek geword, met vakansie na 'n ander land gegaan, of selfs 'n kaart van 'n ander bank. Of dalk na 'n lang tydperk van onaktiwiteit, begin weer die bank se dienste gebruik

Daarom het ons besluit om 'n tydperk van onaktiwiteit 'n sekere aaneenlopende tydperk te noem waartydens die vlag daarvoor op "0" gestel is.

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader

Kliënte beweeg van onaktief na aktief na periodes van onaktiwiteit van verskillende lengtes. Ons het die geleentheid om die mate van empiriese waarde "betroubaarheid van periodes van onaktiwiteit" te bereken - dit wil sê die waarskynlikheid dat 'n persoon na tydelike onaktiwiteit weer bankprodukte sal begin gebruik.

Byvoorbeeld, hierdie grafiek toon die hervatting van aktiwiteit (ACTIVE_FLAG=1) van kliënte na etlike maande se onaktiwiteit (ACTIVE_FLAG=0).

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader

Hier sal ons die datastel waarmee ons begin werk het, 'n bietjie verduidelik. Dus, die bank het saamgestelde inligting vir 19 maande in die volgende tabelle verskaf:

  • "Aktiwiteit" - maandelikse klanttransaksies (per kaarte, in internetbankdienste en mobiele bankdienste), insluitend betaalstaat en inligting oor omset.
  • "Kaarte" - data oor alle kaarte wat die kliënt het, met 'n gedetailleerde tariefskedule.
  • "Ooreenkomste" - inligting oor die kliënt se ooreenkomste (sowel oop as geslote): lenings, deposito's, ens., wat die parameters van elk aandui.
  • "Kliënte" - 'n stel demografiese data (geslag en ouderdom) en die beskikbaarheid van kontakinligting.

Vir werk het ons al die tabelle nodig behalwe die "Kaart".

Daar was nog 'n probleem hier - in hierdie data het die bank nie aangedui watter soort aktiwiteit op die kaarte plaasgevind het nie. Dit wil sê, ons kon verstaan ​​of daar transaksies was of nie, maar ons kon nie meer die tipe bepaal nie. Daarom was dit onduidelik of die kliënt kontant onttrek, 'n salaris ontvang of die geld op aankope spandeer. Ons het ook nie data oor rekeningsaldo's gehad nie, wat nuttig sou gewees het.

Die steekproef self was onbevooroordeeld - in hierdie steekproef, oor 19 maande, het die bank geen pogings aangewend om kliënte te behou en uitvloei te minimaliseer nie.

Dus, oor periodes van onaktiwiteit.

Om 'n definisie van churn te formuleer, moet 'n tydperk van onaktiwiteit gekies word. Om 'n verliesvoorspelling op 'n tydstip te skep Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader, moet jy 'n kliëntgeskiedenis van ten minste 3 maande met 'n tussenpose hê Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader. Ons geskiedenis was beperk tot 19 maande, so ons het besluit om 'n tydperk van onaktiwiteit van 6 maande te neem, indien beskikbaar. En vir die minimum tydperk vir 'n hoë-gehalte voorspelling, het ons 3 maande geneem. Ons het die syfers vir 3 en 6 maande empiries geneem op grond van 'n ontleding van klantdatagedrag.

Ons het die definisie van churn soos volg geformuleer: maand van klant churn Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader dit is die eerste maand met ACTIVE_FLAG=0, waar daar vanaf hierdie maand ten minste ses opeenvolgende nulle in die ACTIVE_FLAG-veld is, met ander woorde, die maand vanwaar die kliënt vir 6 maande onaktief was.

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader
Aantal kliënte wat vertrek het

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader
Aantal oorblywende kliënte

Hoe word churn bereken?

In sulke kompetisies, en in die praktyk in die algemeen, word uitvloei dikwels op hierdie manier voorspel. Die kliënt gebruik produkte en dienste op verskillende tydperke, data oor interaksie met hom word voorgestel as 'n vektor van kenmerke van 'n vaste lengte n. Dikwels sluit hierdie inligting in:

  • Data wat die gebruiker kenmerk (demografiese data, bemarkingsegment).
  • Geskiedenis van die gebruik van bankprodukte en -dienste (dit is kliëntaksies wat altyd gekoppel is aan 'n spesifieke tyd of tydperk van die interval wat ons benodig).
  • Eksterne data, as dit moontlik was om dit te verkry - byvoorbeeld resensies van sosiale netwerke.

En daarna lei hulle 'n definisie van churn af, verskillend vir elke taak. Dan gebruik hulle 'n masjienleeralgoritme, wat die waarskynlikheid voorspel dat 'n kliënt sal vertrek Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader gebaseer op 'n vektor van faktore Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader. Om die algoritme op te lei, word een van die bekende raamwerke vir die bou van ensembles van besluitnemingsbome gebruik, XGBoost, LigGBM, kat hupstoot of wysigings daarvan.

Die algoritme self is nie sleg nie, maar dit het verskeie ernstige nadele wanneer dit kom by die voorspelling van churn.

  • Hy het nie sogenaamde "geheue" nie. Die inset van die model is 'n gespesifiseerde aantal kenmerke wat ooreenstem met die huidige tydstip. Om inligting oor die geskiedenis van veranderinge in parameters te stoor, is dit nodig om spesiale kenmerke te bereken wat veranderinge in parameters oor tyd kenmerk, byvoorbeeld die aantal of hoeveelheid banktransaksies oor die afgelope 1,2,3, XNUMX, XNUMX maande. Hierdie benadering kan slegs gedeeltelik die aard van tydelike veranderinge weerspieël.
  • Vaste voorspellingshorison. Die model is slegs in staat om klante se stroming vir 'n voorafbepaalde tydperk te voorspel, byvoorbeeld 'n voorspelling een maand vooruit. As 'n voorspelling vir 'n ander tydperk vereis word, byvoorbeeld drie maande, moet jy die opleidingstel herbou en 'n nuwe model heroplei.

Ons benadering

Ons het dadelik besluit dat ons nie standaardbenaderings sal gebruik nie. Benewens ons het nog 497 mense vir die kampioenskap geregistreer, wat elkeen aansienlike ervaring agter die rug het. Om dus in sulke toestande iets volgens 'n standaardskema te probeer doen, is nie 'n goeie idee nie.

En ons het begin om die probleme wat die binêre klassifikasiemodel in die gesig staar, op te los deur die waarskynlikheidsverspreiding van klante se afsettye te voorspel. 'n Soortgelyke benadering kan gesien word hier, dit laat jou toe om churn meer buigsaam te voorspel en meer komplekse hipoteses te toets as in die klassieke benadering. As 'n familie van verdelings wat die uitvloeityd modelleer, het ons die verdeling gekies Weibull vir die wydverspreide gebruik daarvan in oorlewingsanalise. Die kliënt se gedrag kan as 'n soort oorlewing beskou word.

Hier is voorbeelde van Weibull-waarskynlikheidsdigtheidverdelings afhangende van parameters Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader и Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader:

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader

Dit is die waarskynlikheidsdigtheidfunksie van drie verskillende klante wat oor 'n tyd churn. Tyd word in maande aangebied. Met ander woorde, hierdie grafiek wys wanneer 'n kliënt waarskynlik in die volgende twee maande sal kanselleer. Soos jy kan sien, het 'n kliënt met 'n verspreiding 'n groter potensiaal om vroeër te verlaat as kliënte met die Weibull(2, 0.5) en Weibull (3,1) verdelings.

Die resultaat is 'n model wat vir elke kliënt, vir elke
maand voorspel die parameters van die Weibull-verspreiding, wat die voorkoms van die waarskynlikheid van uitvloei oor tyd die beste weerspieël. In meer besonderhede:

  • Die teikenkenmerke op die opleidingstel is die oorblywende tyd tot afloop in 'n spesifieke maand vir 'n spesifieke kliënt.
  • As daar geen afskakelkoers vir 'n kliënt is nie, neem ons aan dat die aflooptyd groter is as die aantal maande vanaf die huidige maand tot die einde van die geskiedenis wat ons het.
  • Model gebruik: herhalende neurale netwerk met LSTM-laag.
  • As 'n verliesfunksie gebruik ons ​​die negatiewe log-waarskynlikheidsfunksie vir die Weibull-verspreiding.

Hier is die voordele van hierdie metode:

  • Waarskynlikheidsverspreiding, benewens die ooglopende moontlikheid van binêre klassifikasie, laat buigsame voorspelling van verskeie gebeure toe, byvoorbeeld of 'n kliënt binne 3 maande sal ophou om die bank se dienste te gebruik. Ook, indien nodig, kan verskeie metrieke oor hierdie verspreiding gemiddeld word.
  • Die LSTM herhalende neurale netwerk het geheue en gebruik effektief die hele beskikbare geskiedenis. Soos die storie uitgebrei of verfyn word, neem akkuraatheid toe.
  • Die benadering kan maklik afgeskaal word wanneer tydperke in kleineres verdeel word (byvoorbeeld wanneer maande in weke verdeel word).

Maar dit is nie genoeg om 'n goeie model te skep nie; jy moet ook die kwaliteit daarvan behoorlik evalueer.

Hoe is kwaliteit beoordeel?

Ons het Lift Curve as die metrieke gekies. Dit word in besigheid vir sulke gevalle gebruik as gevolg van sy duidelike interpretasie, dit is goed beskryf hier и hier. As jy die betekenis van hierdie maatstaf in een sin beskryf, sal dit wees "Hoeveel keer maak die algoritme die beste voorspelling in die eerste Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader% as lukraak."

Opleiding modelle

Die mededingingsvoorwaardes het nie 'n spesifieke kwaliteitsmaatstaf daargestel waarmee verskillende modelle en benaderings vergelyk kan word nie. Boonop kan die definisie van churn anders wees en kan dit afhang van die probleemstelling, wat op sy beurt deur besigheidsdoelwitte bepaal word. Daarom, om te verstaan ​​watter metode beter is, het ons twee modelle opgelei:

  1. 'n Algemeen gebruikte binêre klassifikasiebenadering met behulp van 'n ensemble-besluitboommasjienleeralgoritme (LigGBM);
  2. Weibull-LSTM-model

Die toetsstel het bestaan ​​uit 500 voorafgeselekteerde kliënte wat nie in die opleidingstel was nie. Hiperparameters is vir die model geselekteer met behulp van kruisvalidering, afgebreek volgens kliënt. Dieselfde stelle kenmerke is gebruik om elke model op te lei.

As gevolg van die feit dat die model nie geheue het nie, is spesiale kenmerke daarvoor geneem, wat die verhouding van veranderinge in parameters vir een maand tot die gemiddelde waarde vir parameters oor die afgelope drie maande toon. Wat die tempo van verandering in waardes oor die laaste tydperk van drie maande gekenmerk het. Sonder dit sal die Random Forest-gebaseerde model 'n nadeel wees in vergelyking met Weibull-LSTM.

Waarom LSTM met Weibull-verspreiding beter is as 'n ensemble-besluitboombenadering

Alles is duidelik hier in net 'n paar foto's.

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader
Vergelyking van Lift Curve vir die klassieke algoritme en Weibull-LSTM

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader
Vergelyking van die Lift Curve-metriek per maand vir die klassieke algoritme en Weibull-LSTM

Oor die algemeen is LSTM in byna alle gevalle beter as die klassieke algoritme.

Churn voorspelling

'n Model gebaseer op 'n herhalende neurale netwerk met LSTM-selle met Weibull-verspreiding kan churn vooraf voorspel, byvoorbeeld, voorspel klant churn binne die volgende n maande. Beskou die geval vir n = 3. In hierdie geval, vir elke maand, moet die neurale netwerk korrek bepaal of die kliënt sal vertrek, vanaf die volgende maand en tot die nde maand. Met ander woorde, dit moet korrek bepaal of die kliënt na n maande sal aanbly. Dit kan vooraf as 'n voorspelling beskou word: die voorspelling van die oomblik toe die kliënt net begin dink het om te vertrek.

Kom ons vergelyk opheffingskurwe vir Weibull-LSTM 1, 2 en 3 maande voor die uitvloei:

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader

Ons het reeds hierbo geskryf dat die voorspellings wat gemaak word vir kliënte wat vir 'n geruime tyd nie meer aktief is nie, ook belangrik is. Daarom sal ons hier sulke gevalle by die steekproef voeg wanneer die vertrekte kliënt reeds vir een of twee maande onaktief was, en kontroleer dat Weibull-LSTM sulke gevalle korrek as churn klassifiseer. Aangesien sulke gevalle in die steekproef aanwesig was, verwag ons dat die netwerk dit goed sal hanteer:

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader

Kliënt behoud

Eintlik is dit die belangrikste ding wat gedoen kan word, met inligting in die hand dat sulke en sulke kliënte voorberei om op te hou om die produk te gebruik. Gepraat van die bou van 'n model wat iets nuttigs aan kliënte kan bied om hulle te behou, dit kan nie gedoen word as jy nie 'n geskiedenis van soortgelyke pogings het wat goed sal eindig nie.

Ons het nie so 'n storie gehad nie, so ons het dit so besluit.

  1. Ons bou 'n model wat interessante produkte vir elke kliënt identifiseer.
  2. Elke maand voer ons die klassifiseerder uit en identifiseer potensiële klante wat kan verlaat.
  3. Ons bied aan sommige kliënte die produk, volgens die model vanaf punt 1, en onthou ons optrede.
  4. Na 'n paar maande kyk ons ​​watter van hierdie potensieel verlaat kliënte oor is en watter oorgebly het. So, ons vorm 'n opleiding monster.
  5. Ons oefen die model op deur die geskiedenis wat in stap 4 verkry is, te gebruik.
  6. Opsioneel herhaal ons die prosedure en vervang die model vanaf stap 1 met die model wat in stap 5 verkry is.

'n Toets van die kwaliteit van sulke retensie kan gedoen word deur gereelde A/B-toetse - ons verdeel kliënte wat moontlik vertrek in twee groepe. Ons bied produkte aan die een op grond van ons retensiemodel, en aan die ander bied ons niks nie. Ons het besluit om 'n model op te lei wat nuttig kan wees reeds by punt 1 van ons voorbeeld.

Ons wou die segmentering so interpreteerbaar moontlik maak. Om dit te doen, het ons verskeie kenmerke gekies wat maklik geïnterpreteer kan word: die totale aantal transaksies, lone, totale rekeningomset, ouderdom, geslag. Kenmerke van die “Kaarte”-tabel is nie as oninsiggewend in ag geneem nie, en kenmerke van tabel 3 “Kontrakte” is nie in ag geneem nie as gevolg van die kompleksiteit van verwerking om datalekkasie tussen die valideringstel en die opleidingstel te vermy.

Groepering is uitgevoer met behulp van Gaussiese mengselmodelle. Die Akaike-inligtingskriterium het ons toegelaat om 2 optima te bepaal. Die eerste optimum stem ooreen met 1 tros. Die tweede optimum, minder uitgesproke, stem ooreen met 80 trosse. Op grond van hierdie resultaat kan ons die volgende gevolgtrekking maak: dit is uiters moeilik om data in groepe te verdeel sonder vooraf gegewe inligting. Vir beter groepering het jy data nodig wat elke kliënt in detail beskryf.

Daarom is die probleem van leer onder toesig oorweeg om elke individuele kliënt 'n ander produk te bied. Die volgende produkte is oorweeg: “Term deposito”, “Kredietkaart”, “Oortrekking”, “Verbruikerslening”, “Motorlening”, “Verband”.

Die data het nog een tipe produk ingesluit: "Lopende rekening". Maar ons het dit nie oorweeg nie weens die lae inligtinginhoud daarvan. Vir gebruikers wat bankkliënte is, d.w.s. het nie opgehou om sy produkte te gebruik nie, 'n model is gebou om te voorspel watter produk vir hulle van belang kan wees. Logistieke regressie is as die model gekies, en die Lift-waarde vir die eerste 10 persentiele is as die kwaliteit assesseringsmetriek gebruik.

Die kwaliteit van die model kan in die figuur geassesseer word.

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader
Produkaanbevelingsmodelresultate vir kliënte

Totale

Hierdie benadering het ons die eerste plek in die "KI in Banke"-kategorie by die RAIF-Challenge 2017 KI-kampioenskap besorg.

Hoe ons churn voorspel het deur dit soos 'n natuurramp te benader

Die belangrikste ding was blykbaar om die probleem vanuit 'n onkonvensionele hoek te benader en 'n metode te gebruik wat gewoonlik vir ander situasies gebruik word.

Alhoewel 'n massiewe uitvloei van gebruikers 'n natuurlike ramp vir dienste kan wees.

Hierdie metode kan in ag geneem word vir enige ander area waar dit belangrik is om uitvloei in ag te neem, nie net banke nie. Ons het dit byvoorbeeld gebruik om ons eie uitvloei te bereken – in die Siberiese en St. Petersburg-takke van Rostelecom.

"Data Mining Laboratory" maatskappy "Soek portaal "Sputnik"

Bron: will.com

Voeg 'n opmerking