Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp

Soms, om in probleem op te lossen, moatte jo it gewoan út in oare hoeke sjen. Sels as oer de ôfrûne 10 jier ferlykbere problemen binne oplost op deselde wize mei ferskillende effekten, it is net in feit dat dizze metoade is de ienige.

Der is sa'n ûnderwerp as klant churn. It ding is ûnûntkomber, om't klanten fan elk bedriuw om in protte redenen kinne stopje mei it brûken fan har produkten of tsjinsten. Fansels, foar in bedriuw is churn in natuerlike, mar net de meast winsklike aksje, dus elkenien besiket dizze churn te minimalisearjen. Noch better, foarsizze de kâns op churn foar in bepaalde kategory brûkers, as in spesifike brûker, en suggerearje wat stappen om se te behâlden.

It is needsaaklik om te analysearjen en besykje te behâlden de klant, as mooglik, om op syn minst de folgjende redenen:

  • it oanlûken fan nije klanten is djoerder dan behâld prosedueres. Om nije klanten te lûken, moatte jo yn 'e regel wat jild útjaan (reklame), wylst besteande klanten kinne wurde aktivearre mei in spesjale oanbieding mei spesjale betingsten;
  • Begripe fan 'e redenen wêrom't klanten ferlitte is de kaai foar it ferbetterjen fan produkten en tsjinsten.

D'r binne standert oanpak foar it foarsizzen fan churn. Mar by ien fan 'e AI-kampioenskippen hawwe wy besletten om de Weibull-distribúsje hjirfoar te besykjen. It wurdt meast brûkt foar survivability-analyze, waarfoarsizzing, natuerrampanalyse, yndustriële technyk en sa. Weibull-distribúsje is in spesjale distribúsjefunksje parameterisearre troch twa parameters Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp и Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp.

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp
Wikipedia

Yn 't algemien is it in nijsgjirrich ding, mar foar it foarsizzen fan útstreamen, en yn fintech yn' t algemien, wurdt it net sa faak brûkt. Under de besuniging sille wy jo fertelle hoe't wy (Data Mining Laboratory) dit dien hawwe, tagelyk goud wûn op it Artificial Intelligence Championship yn 'e kategory "AI in Banks".

Oer churn yn it algemien

Litte wy in bytsje begripe oer wat klant churn is en wêrom it sa wichtich is. In klantbasis is wichtich foar in bedriuw. Nije klanten komme nei dizze basis, bygelyks nei't se leard hawwe oer in produkt of tsjinst fan in advertinsje, libje in skoft (brûke de produkten aktyf) en stopje nei in skoft mei it brûken. Dizze perioade wurdt de "Customer Lifecycle" neamd - in term dy't de stadia beskriuwt dy't in klant trochgiet as hy leart oer in produkt, makket in oankeapbeslút, betellet, brûkt en wurdt in trouwe konsumint, en úteinlik stopet mei it brûken fan it produkt. om ien of oare reden. Dêrnjonken is churn de lêste faze fan 'e libbenssyklus fan' e klant, as de klant ophâldt mei it brûken fan 'e tsjinsten, en foar in bedriuw betsjut dit dat de klant is ophâlden om winst of ienich foardiel te bringen.

Elke bankkliïnt is in spesifike persoan dy't ien of oare bankkaart spesifyk foar syn behoeften kiest. As jo ​​​​faak reizgje, komt in kaart mei kilometers goed fan pas. Keapet in protte - hallo, cashbackkaart. Hy keapet in soad yn spesifike winkels - en dêr is al in spesjale partner plestik foar. Fansels wurdt soms in kaart selektearre op basis fan it kritearium "goedkeapste tsjinst". Yn 't algemien binne hjir genôch fariabelen.

En in persoan kiest ek de bank sels - is d'r gjin punt om in kaart te kiezen fan in bank waans filialen allinich yn Moskou en de regio binne, as jo fan Khabarovsk binne? Sels as in kaart fan sa'n bank op syn minst 2 kear rendabeler is, is de oanwêzigens fan bankfilialen tichtby noch in wichtich kritearium. Ja, 2019 is der al en digitaal is ús alles, mar in oantal problemen mei guon banken kinne allinich yn in filiaal oplost wurde. Plus, wer, in part fan de befolking fertrout in fysike bank folle mear as in applikaasje op in smartphone, dêr moat ek rekken mei hâlden wurde.

As gefolch kin in persoan in protte redenen hawwe om bankprodukten (as de bank sels) te wegerjen. Ik feroare baan, en it kaarttarief feroare fan salaris nei "Foar gewoane stjerliken", wat minder rendabel is. Ik ferhuze nei in oare stêd dêr't der binne gjin bank filialen. Ik mocht net graach de ynteraksje mei de net kwalifisearre operator by de filiaal. Dat is, d'r kinne noch mear redenen wêze foar it sluten fan in akkount dan foar it brûken fan it produkt.

En de klant kin net allinnich dúdlik útdrukke syn bedoeling - kom nei de bank en skriuw in ferklearring, mar gewoan stopje mei it brûken fan de produkten sûnder beëiniging fan it kontrakt. It waard besletten om masine learen en AI te brûken om sokke problemen te begripen.

Boppedat kin klant churn foarkomme yn elke yndustry (telekom, ynternetproviders, fersekeringsbedriuwen, yn 't algemien, oeral wêr't in klantbasis is en periodike transaksjes).

Wat hawwe wy dien

Alderearst wie it nedich om in dúdlike grins te beskriuwen - fan hokker tiid wy begjinne te beskôgjen as de klant is ferlitten. Ut it eachpunt fan 'e bank dy't ús de gegevens foar ús wurk levere, wie de aktiviteitstatus fan' e kliïnt binêr - hy is aktyf of net. D'r wie in ACTIVE_FLAG-flagge yn 'e "Aktiviteit"-tabel, wêrfan de wearde "0" of "1" koe wêze ("Ynaktyf" en "Aktyf" respektivelik). En alles soe goed wêze, mar in persoan is sa dat hy it in skoft aktyf kin brûke, en dan in moanne út 'e aktive list falle - hy waard siik, gie nei in oar lân op fakânsje, of gie sels in test kaart fan in oare bank. Of miskien nei in lange perioade fan ynaktiviteit, begjin opnij mei de tsjinsten fan 'e bank

Dêrom hawwe wy besletten om in perioade fan ynaktiviteit te neamen in bepaalde trochgeande perioade wêryn't de flagge dêrfoar op "0" ynsteld waard.

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp

Klanten ferhúzje fan ynaktyf nei aktyf nei perioaden fan ynaktiviteit fan ferskate lingten. Wy hawwe de mooglikheid om te berekkenjen de mjitte fan empiryske wearde "betrouberens fan perioaden fan ynaktiviteit" - dat is, de kâns dat in persoan sil begjinne te brûken bank produkten wer nei tydlike ynaktiviteit.

Bygelyks, dizze grafyk toant de werhelling fan aktiviteit (ACTIVE_FLAG = 1) fan kliïnten nei ferskate moannen fan ynaktiviteit (ACTIVE_FLAG = 0).

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp

Hjir sille wy in bytsje ferdúdlikje de gegevens set dêr't wy begûn te wurkjen. Dat, de bank levere aggregearre ynformaasje foar 19 moannen yn 'e folgjende tabellen:

  • "Aktiviteit" - moanlikse klanttransaksjes (mei kaarten, yn ynternetbankieren en mobylbankieren), ynklusyf lean en ynformaasje oer omset.
  • "Kaarten" - gegevens op alle kaarten dy't de klant hat, mei in detaillearre taryfskema.
  • "Oerienkomsten" - ynformaasje oer de oerienkomsten fan 'e kliïnt (sawol iepen as sluten): lieningen, boarch, ensfh., mei oanjûn de parameters fan elk.
  • "Klanten" - in set fan demografyske gegevens (geslacht en leeftyd) en de beskikberens fan kontakt ynformaasje.

Foar wurk hiene wy ​​alle tabellen nedich útsein de "Kaart".

D'r wie hjir in oare swierrichheid - yn dizze gegevens hat de bank net oanjûn hokker soarte aktiviteit op 'e kaarten plakfûn. Dat is, wy koenen begripe oft der wiene transaksjes of net, mar wy koenen net mear bepale harren type. Dêrom wie it ûndúdlik oft de klant jild ophelle, in salaris krige, of it jild útjûn oan oankeapen. Wy hiene ek gjin gegevens oer rekkensaldo's, wat nuttich west hie.

De stekproef sels wie unbiased - yn dizze stekproef, mear as 19 moannen, hat de bank gjin pogingen dien om klanten te behâlden en útstream te minimalisearjen.

Dus, oer perioaden fan ynaktiviteit.

Om in definysje fan churn te formulearjen, moat in perioade fan ynaktiviteit selektearre wurde. Om in churn-prognose te meitsjen op in punt yn 'e tiid Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp, Jo moatte hawwe in klant skiednis fan op syn minst 3 moannen yn in ynterval Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp. Us skiednis wie beheind ta 19 moannen, dus besleaten wy in perioade fan ynaktiviteit fan 6 moannen te nimmen, as beskikber. En foar de minimale perioade foar in prognose fan hege kwaliteit namen wy 3 moannen. Wy namen de sifers foar 3 en 6 moannen empirysk basearre op in analyze fan klantgegevensgedrach.

Wy formulearre de definysje fan churn as folget: moanne fan klant churn Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp dit is de earste moanne mei ACTIVE_FLAG = 0, wêrfan dizze moanne op syn minst seis opfolgjende nullen binne yn it ACTIVE_FLAG-fjild, mei oare wurden, de moanne wêrfan de kliïnt 6 moannen ynaktyf wie.

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp
Oantal kliïnten dy't ferlieten

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp
Oantal oerbleaune kliïnten

Hoe wurdt churn berekkene?

Yn sokke kompetysjes, en yn 'e praktyk yn it algemien, wurdt faak op dizze manier útstream foarsein. De klant brûkt produkten en tsjinsten yn ferskate perioaden fan tiid, gegevens oer ynteraksje mei him wurdt fertsjintwurdige as in vector fan funksjes fan in fêste lingte n. Meast faak omfettet dizze ynformaasje:

  • Gegevens dy't de brûker karakterisearje (demografyske gegevens, marketingsegment).
  • Skiednis fan it brûken fan bankprodukten en tsjinsten (dit binne klantaksjes dy't altyd bûn binne oan in spesifike tiid of perioade fan it ynterval dat wy nedich binne).
  • Eksterne gegevens, as it mooglik wie om it te krijen - bygelyks resinsjes fan sosjale netwurken.

En dêrnei ûntliene se in definysje fan churn, oars foar elke taak. Dan brûke se in masine-learalgoritme, dy't de kâns foarsizze dat in klant fuortgiet Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp basearre op in vector fan faktoaren Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp. Om it algoritme te trenen, wurdt ien fan 'e bekende kaders foar it bouwen fan ensembles fan beslútbeammen brûkt, XGBoost, LightGBM, CatBoost of oanpassings dêrfan.

It algoritme sels is net min, mar it hat ferskate serieuze neidielen as it giet om it foarsizzen fan churn.

  • Hy hat gjin saneamde "ûnthâld". De ynfier fan it model is in spesifisearre oantal funksjes dy't oerienkomme mei it hjoeddeistige punt yn 'e tiid. Om ynformaasje te bewarjen oer de skiednis fan feroarings yn parameters, is it nedich om spesjale funksjes te berekkenjen dy't feroaringen yn parameters oer de tiid karakterisearje, bygelyks it oantal of it bedrach fan banktransaksjes oer de lêste 1,2,3, XNUMX, XNUMX moannen. Dizze oanpak kin de aard fan tydlike feroaringen mar foar in part reflektearje.
  • Fêste prognosehoarizon. It model is allinnich by steat om te foarsizze klant churn foar in foarbeskaaide perioade fan tiid, Bygelyks, in foarsizzing ien moanne foarôf. As in prognose foar in oare perioade nedich is, bygelyks trije moannen, dan moatte jo de trainingsset opnij opbouwe en in nij model opnij traine.

Ús oanpak

Wy besletten daliks dat wy gjin standert oanpak soene brûke. Neist ús hawwe der noch 497 minsken ynskreaun foar it kampioenskip, elk fan harren hie flinke ûnderfining efter harren. Dus besykje wat te dwaan neffens in standert skema yn sokke omstannichheden is gjin goed idee.

En wy begûnen de problemen op te lossen foar it binêre klassifikaasjemodel troch it foarsizzen fan 'e kânsferdieling fan klanttiiden. In fergelykbere oanpak kin sjoen wurde hjir, It lit jo churn fleksibeler foarsizze en mear komplekse hypotezen testen as yn 'e klassike oanpak. As famylje fan distribúsjes dy't de útstreamtiid modellearje, hawwe wy de distribúsje keazen Weibull foar syn wiidferspraat gebrûk yn survival analyze. It gedrach fan de kliïnt kin sjoen wurde as in soarte fan survival.

Hjir binne foarbylden fan distribúsjes fan Weibull-probabiliteitstichtens ôfhinklik fan parameters Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp и Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp:

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp

Dit is de kâns tichtens funksje fan trije ferskillende klanten churn oer tiid. Tiid wurdt presintearre yn moannen. Mei oare wurden, dizze grafyk lit sjen wannear't in kliïnt it meast wierskynlik yn 'e kommende twa moannen sil churn. Sa't jo sjen kinne, hat in kliïnt mei in distribúsje in grutter potinsjeel om earder te ferlitten as kliïnten mei de Weibull(2, 0.5) en Weibull (3,1) distribúsjes.

It resultaat is in model dat, foar elke klant, foar elke
moanne foarseit de parameters fan de Weibull distribúsje, dy't bêste wjerspegelet it foarkommen fan de kâns fan útstream oer tiid. Yn mear detail:

  • De doelfunksjes op 'e trainingsset binne de tiid dy't oerbliuwt oant churn yn in spesifike moanne foar in spesifike klant.
  • As der gjin churn taryf foar in klant, wy oannimme dat de churn tiid is grutter as it oantal moannen fan de hjoeddeiske moanne oant it ein fan 'e skiednis wy hawwe.
  • Model brûkt: weromkommend neural netwurk mei LSTM-laach.
  • As ferliesfunksje brûke wy de negative log-likelihood-funksje foar de Weibull-distribúsje.

Hjir binne de foardielen fan dizze metoade:

  • Wierskynlikensferdieling, neist de fanselssprekkende mooglikheid fan binêre klassifikaasje, makket fleksibele foarsizzing fan ferskate eveneminten mooglik, bygelyks oft in kliïnt ophâldt mei it brûken fan de tsjinsten fan 'e bank binnen 3 moannen. Ek, as it nedich is, kinne ferskate metriken wurde gemiddeld oer dizze ferdieling.
  • It LSTM weromkommende neuronale netwurk hat ûnthâld en brûkt effektyf de heule beskikbere skiednis. As it ferhaal wurdt útwreide of ferfine, nimt de krektens ta.
  • De oanpak kin maklik wurde skalearre by it ferdielen fan tiidperioaden yn lytsere (bygelyks by it dielen fan moannen yn wiken).

Mar it is net genôch om in goed model te meitsjen; jo moatte ek de kwaliteit goed evaluearje.

Hoe waard kwaliteit beoardiele?

Wy hawwe Lift Curve keazen as de metryske. It wurdt brûkt yn it bedriuwslibben foar sokke gefallen fanwege syn dúdlike ynterpretaasje, it is goed beskreaun hjir и hjir. As jo ​​de betsjutting fan dizze metrik yn ien sin beskriuwe, soe it wêze "Hoefolle kearen makket it algoritme de bêste foarsizzing yn 'e earste Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp% dan willekeurich."

Training modellen

De konkurrinsjebetingsten hawwe gjin spesifike kwaliteitsmetrik fêststeld wêrmei ferskate modellen en oanpak kinne wurde fergelike. Boppedat kin de definysje fan churn oars wêze en kin ôfhinklik wêze fan 'e probleemstelling, dy't op syn beurt wurdt bepaald troch bedriuwsdoelen. Dêrom, om te begripen hokker metoade better is, hawwe wy twa modellen oplaat:

  1. In algemien brûkte oanpak foar binêre klassifikaasje mei in ensemble-beslútbeam-masine-learalgoritme (LightGBM);
  2. Weibull-LSTM model

De testset bestie út 500 foarselekteare kliïnten dy't net yn 'e trainingsset sieten. Hyper-parameters waarden selektearre foar it model mei help fan cross-validation, ferdield troch kliïnt. Deselde sets fan funksjes waarden brûkt om elk model te trenen.

Fanwegen it feit dat it model gjin ûnthâld hat, waarden dêr spesjale funksjes foar nommen, dy't de ferhâlding fan feroaringen yn parameters foar ien moanne sjen litte nei de gemiddelde wearde foar parameters yn 'e lêste trije moannen. Wat karakterisearre it taryf fan feroaring yn wearden oer de lêste perioade fan trije moannen. Sûnder dit soe it Random Forest-basearre model yn in neidiel wêze relatyf oan Weibull-LSTM.

Wêrom LSTM mei Weibull distribúsje is better as in ensemble beslút beam oanpak

Alles is hjir dúdlik yn mar in pear foto's.

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp
Fergeliking fan Lift Curve foar it klassike algoritme en Weibull-LSTM

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp
Fergeliking fan 'e Lift Curve-metrik per moanne foar it klassike algoritme en Weibull-LSTM

Yn 't algemien is LSTM yn hast alle gefallen superieur oan it klassike algoritme.

Churn foarsizzing

In model basearre op in weromkommend neural netwurk mei LSTM sellen mei Weibull distribúsje kin foarsizze churn fan tefoaren, Bygelyks, foarsizze klant churn binnen de folgjende n moannen. Beskôgje it gefal foar n = 3. Yn dit gefal, foar elke moanne, moat it neurale netwurk korrekt bepale oft de kliïnt sil ferlitte, fanôf de folgjende moanne en oant de n-de moanne. Mei oare wurden, it moat goed bepale oft de klant sil bliuwe nei n moannen. Dit kin wurde beskôge as in foarsizzing fan tefoaren: it foarsizzen fan it momint dat de klant krekt begûn te tinken oer it ferlitten.

Litte wy Lift Curve fergelykje foar Weibull-LSTM 1, 2 en 3 moannen foar de útstream:

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp

Wy hawwe hjirboppe al skreaun dat de prognoazes makke foar kliïnten dy't in skoft net mear aktyf binne ek wichtich binne. Dêrom, hjir sille wy tafoegje oan it stekproef sokke gefallen doe't de departed klant hat al west ynaktyf foar ien of twa moannen, en kontrolearje dat Weibull-LSTM korrekt klassifisearret sokke gefallen as churn. Sûnt sokke gefallen wiene oanwêzich yn 'e stekproef, ferwachtsje wy dat it netwurk se goed sil behannelje:

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp

Klantbehâld

Eins is dit it wichtichste ding dat kin wurde dien, mei ynformaasje yn 'e hân dat sokke en sokke kliïnten har tariede om te stopjen mei it brûken fan it produkt. Sprekend oer it bouwen fan in model dat wat nuttich kin biede oan klanten om se te behâlden, dit kin net dien wurde as jo gjin skiednis hawwe fan ferlykbere besykjen dy't goed soe einigje.

Sa'n ferhaal hiene wy ​​net, dat wy besletten it sa.

  1. Wy bouwe in model dat ynteressante produkten identifisearret foar elke klant.
  2. Elke moanne rinne wy ​​de klassifikaasje en identifisearje potensjeel ferlitten klanten.
  3. Wy biede guon kliïnten it produkt, neffens it model fan punt 1, en ûnthâlde ús aksjes.
  4. Nei in pear moannen sjogge wy hokker fan dizze mooglik ferlittende kliïnten oerbleaun binne en hokker oerbleaun binne. Sa foarmje wy in training sample.
  5. Wy traine it model mei de skiednis krigen yn stap 4.
  6. Opsjoneel werhelje wy de proseduere, en ferfange it model fan stap 1 troch it model krigen yn stap 5.

In test fan 'e kwaliteit fan sa'n behâld kin dien wurde troch reguliere A / B-testen - wy ferdiele klanten dy't mooglik ferlitte yn twa groepen. Wy biede produkten oan ien basearre op ús retinsjemodel, en oan 'e oare biede wy neat. Wy besletten om in model te trainen dat al nuttich wêze koe op punt 1 fan ús foarbyld.

Wy woenen de segmintaasje sa ynterpretabel mooglik meitsje. Om dit te dwaan, hawwe wy ferskate funksjes keazen dy't maklik kinne wurde ynterpretearre: it totale oantal transaksjes, lean, totale akkountomset, leeftyd, geslacht. Funksjes fan 'e tabel "Kaarten" waarden net beskôge as ûnynformatyf, en funksjes fan tabel 3 "Kontrakten" waarden net yn rekken brocht fanwegen de kompleksiteit fan ferwurking om gegevenslekkage te foarkommen tusken de falidaasjeset en de trainingset.

Clustering waard útfierd mei Gaussyske mingmodellen. It Akaike-ynformaasjekritearium lit ús 2 optima bepale. It earste optimum komt oerien mei 1 kluster. It twadde optimum, minder útsprutsen, komt oerien mei 80 klusters. Op grûn fan dit resultaat kinne wy ​​de folgjende konklúzje lûke: it is ekstreem lestich om gegevens yn klusters te ferdielen sûnder a priori opjûne ynformaasje. Foar bettere klustering hawwe jo gegevens nedich dy't elke klant yn detail beskriuwt.

Dêrom waard it probleem fan begeliede learen beskôge om elke yndividuele klant in oar produkt oan te bieden. De folgjende produkten waarden beskôge: "Term boarch", "Kredytkaart", "Overdraft", "Konsumerliening", "Autoliening", "Hypotheek".

De gegevens omfette noch ien type produkt: "Aktuele akkount". Mar wy hawwe it net beskôge fanwegen syn lege ynformaasjeynhâld. Foar brûkers dy't bankkliïnten binne, d.w.s. net ophâlde mei it brûken fan har produkten, waard in model boud om te foarsizzen hokker produkt foar har ynteressearje koe. Logistyske regression waard keazen as model, en de Lift-wearde foar de earste 10 percentiles waard brûkt as de kwaliteitsbeoardielingsmetrik.

De kwaliteit fan it model kin wurde beoardiele yn 'e figuer.

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp
Produkt oanbefelling model resultaten foar klanten

It resultaat

Dizze oanpak brocht ús it earste plak yn 'e kategory "AI in Banks" by it RAIF-Challenge 2017 AI Championship.

Hoe't wy churn foarsizze troch it te benaderjen as in natuerramp

Blykber wie it wichtichste om it probleem út in unkonvinsjonele hoeke te benaderjen en in metoade te brûken dy't normaal brûkt wurdt foar oare situaasjes.

Hoewol in massive útstream fan brûkers kin wol in natuerramp wêze foar tsjinsten.

Dizze metoade kin rekken holden wurde foar elk oar gebiet dêr't it wichtich is om rekken te hâlden mei útstream, net allinich banken. Wy brûkten it bygelyks om ús eigen útstream te berekkenjen - yn 'e Sibearyske en Sint-Petersburchske tûken fan Rostelecom.

"Data Mining Laboratory" bedriuw "Sykje portal "Sputnik"

Boarne: www.habr.com

Add a comment