Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile

Mõnikord on probleemi lahendamiseks vaja seda lihtsalt teise nurga alt vaadata. Isegi kui viimase 10 aasta jooksul on sarnaseid probleeme erinevate mõjudega samal viisil lahendatud, pole tõsiasi, et see meetod on ainus.

Seal on selline teema nagu klientide churn. Asi on paratamatu, sest iga ettevõtte kliendid võivad mitmel põhjusel tema toodete või teenuste kasutamise lõpetada. Loomulikult on ettevõtte jaoks churn loomulik, kuid mitte kõige ihaldusväärsem tegevus, nii et kõik püüavad seda segadust minimeerida. Veelgi parem, ennustage teatud kasutajakategooria või konkreetse kasutaja jaoks katkestamise tõenäosust ja soovitage mõningaid samme nende säilitamiseks.

Analüüsida ja püüda klienti võimalusel hoida on vaja vähemalt järgmistel põhjustel:

  • uute klientide meelitamine on kallim kui säilitamisprotseduurid. Uute klientide meelitamiseks peate reeglina kulutama natuke raha (reklaamile), samas kui olemasolevaid kliente saab aktiveerida eritingimustega eripakkumisega;
  • Klientide lahkumise põhjuste mõistmine on toodete ja teenuste täiustamise võti.

Sulgemise ennustamiseks on standardseid lähenemisviise. Kuid ühel AI meistrivõistlustel otsustasime proovida selle jaoks Weibulli jaotust. Seda kasutatakse kõige sagedamini ellujäämise analüüsiks, ilmaennustamiseks, loodusõnnetuste analüüsiks, tööstustehnikaks jms. Weibulli jaotus on spetsiaalne jaotusfunktsioon, mille parameetrid on kaks parameetrit Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile и Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile.

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile
Wikipedia

Üldiselt on see huvitav asi, kuid väljavoolu prognoosimiseks ja üldiselt fintechis seda nii sageli ei kasutata. Lõike all räägime teile, kuidas me (Andmekaevandamise labor) seda tegime, võites samal ajal kulla tehisintellekti meistrivõistlustel kategoorias "AI pankades".

Umbes churn üldiselt

Saagem veidi aru, mis on klientide vähenemine ja miks see nii oluline on. Kliendibaas on ettevõtte jaoks oluline. Sellesse baasi tulevad uued kliendid, kes on näiteks reklaamist toote või teenuse kohta teada saanud, elavad mõnda aega (kasutavad tooteid aktiivselt) ja mõne aja pärast lõpetavad selle kasutamise. Seda perioodi nimetatakse "kliendi elutsükliks" – termin, mis kirjeldab etappe, mille klient läbib, kui ta tutvub tootega, teeb ostuotsuse, maksab, kasutab ja muutub lojaalseks tarbijaks ning lõpuks toote kasutamise lõpetab. ühel või teisel põhjusel. Järelikult on churn kliendi elutsükli viimane etapp, mil klient lõpetab teenuste kasutamise ja ettevõtte jaoks tähendab see seda, et klient ei too enam kasumit ega mingit kasu.

Iga pangaklient on konkreetne inimene, kes valib ühe või teise pangakaardi spetsiaalselt oma vajaduste järgi. Kui reisite sageli, tuleb kasuks miilidega kaart. Ostab palju - tere, cashback kaart. Ta ostab palju konkreetsetest kauplustest – ja selleks on juba spetsiaalne partnerplast. Muidugi valitakse mõnikord kaart kriteeriumi “Odavaim teenus” alusel. Üldiselt on siin muutujaid piisavalt.

Ja inimene valib ka panga ise - kas on mõtet valida kaarti pangast, mille filiaalid on ainult Moskvas ja regioonis, kui oled Habarovskist? Isegi kui sellise panga kaart on vähemalt 2 korda tulusam, on pangakontorite olemasolu läheduses siiski oluline kriteerium. Jah, 2019. aasta on juba käes ja digi on meie jaoks kõik, kuid osa pangaga seotud probleeme saab lahendada vaid kontoris. Pluss jällegi usaldab osa elanikkonnast füüsilist panka palju rohkem kui rakendust nutitelefonis, sellega tuleb ka arvestada.

Seetõttu võib inimesel pangatoodetest (või pangast endast) keeldumiseks olla palju põhjuseid. Vahetasin töökohta ja kaardi tariif muutus palgalt "Lihtsurelikule", mis on vähem kasumlik. Kolisin teise linna, kus pangakontoreid pole. Mulle ei meeldinud suhtlemine filiaalis kvalifitseerimata operaatoriga. See tähendab, et konto sulgemiseks võib olla isegi rohkem põhjusi kui toote kasutamisel.

Ja klient ei saa mitte ainult selgelt väljendada oma kavatsust – tulla panka ja kirjutada avaldus, vaid lihtsalt lõpetada toodete kasutamise ilma lepingut lõpetamata. Selliste probleemide mõistmiseks otsustati kasutada masinõpet ja tehisintellekti.

Veelgi enam, klientide vähenemine võib ilmneda igas tööstusharus (telekommunikatsioon, Interneti-teenuse pakkujad, kindlustusseltsid üldiselt, kõikjal, kus on kliendibaas ja perioodilised tehingud).

Mida me oleme teinud

Kõigepealt oli vaja kirjeldada selget piiri – mis ajast hakkame klienti lahkunuks pidama. Meile meie tööks andmed esitanud panga seisukohast oli kliendi aktiivsuse staatus binaarne – ta on kas aktiivne või mitte. Tabelis "Aktiivsus" oli lipp ACTIVE_FLAG, mille väärtus võis olla kas "0" või "1" (vastavalt "mitteaktiivne" ja "aktiivne"). Ja kõik oleks hästi, aga inimene on selline, et saab seda mõnda aega aktiivselt kasutada ja siis kuuks ajaks aktiivsest nimekirjast välja kukkuda - haigestus, läks teise riiki puhkama või isegi testima. kaart teisest pangast. Või hakata pärast pikka passiivsust uuesti pangateenuseid kasutama

Seetõttu otsustasime tegevusetuse perioodiks nimetada teatud pidevat perioodi, mille jooksul selle lipp oli seatud väärtusele "0".

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile

Kliendid liiguvad mitteaktiivsest aktiivseks pärast erineva pikkusega tegevusetusperioode. Meil on võimalus arvutada empiirilise väärtuse “mitteaktiivsusperioodide usaldusväärsus” aste ehk tõenäosus, et inimene hakkab pärast ajutist tegevusetust uuesti kasutama pangatooteid.

Näiteks näitab see graafik klientide tegevuse taastumist (ACTIVE_FLAG=1) pärast mitmekuulist tegevusetust (ACTIVE_FLAG=0).

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile

Siin selgitame veidi andmekogumit, millega alustasime tööd. Seega esitas pank koondteabe 19 kuu kohta järgmistes tabelites:

  • “Tegevus” - igakuised klienditehingud (kaartidega, internetipangas ja mobiilipangas), sealhulgas palgaarvestus ja teave käibe kohta.
  • “Kaardid” - andmed kõigi kliendil olevate kaartide kohta koos üksikasjaliku tariifigraafikuga.
  • "Lepingud" - teave kliendi lepingute kohta (nii avatud kui suletud): laenud, hoiused jne, märkides igaühe parameetrid.
  • "Kliendid" - demograafiliste andmete kogum (sugu ja vanus) ja kontaktteabe kättesaadavus.

Tööks vajasime kõiki tabeleid peale “kaardi”.

Teiseks raskuseks oli siin see, et nendes andmetes ei näidanud pank täpselt, mis tegevus kaartidel toimus. See tähendab, et me saime aru, kas tehinguid oli või mitte, kuid me ei saanud enam nende tüüpi kindlaks teha. Seetõttu jäi ebaselgeks, kas klient võttis sularaha välja, sai palka või kulutas raha ostudele. Meil puudusid ka andmed kontojääkide kohta, millest oleks kasu olnud.

Valim ise oli erapooletu – selles valimis ei teinud pank 19 kuu jooksul ühtegi katset kliente hoida ja väljavoolu minimeerida.

Niisiis, tegevusetuse perioodide kohta.

Punkti definitsiooni sõnastamiseks tuleb valida tegevusetuse periood. Loobumise prognoosi loomiseks teatud ajahetkel Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile, peab teil olema vähemalt 3-kuuline kliendi ajalugu intervalliga Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile. Meie ajalugu piirdus 19 kuuga, seega otsustasime võimaluse korral võtta 6-kuulise tegevusetuse perioodi. Ja kvaliteetse prognoosi minimaalse perioodi jaoks kulus meil 3 kuud. Võtsime 3 ja 6 kuu näitajad empiiriliselt, tuginedes klientide andmete käitumise analüüsile.

Sõnastasime churn'i definitsiooni järgmiselt: kliendi katkestamise kuu Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile see on esimene kuu ACTIVE_FLAG=0-ga, kus alates sellest kuust on väljal ACTIVE_FLAG vähemalt kuus järjestikust nulli ehk teisisõnu kuu, millest alates klient oli 6 kuud passiivne.

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile
Lahkunud klientide arv

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile
Järelejäänud klientide arv

Kuidas jaotust arvutatakse?

Sellistel võistlustel ja praktikas üldiselt ennustatakse nii sageli väljavoolu. Klient kasutab tooteid ja teenuseid erinevatel ajavahemikel, andmed temaga suhtlemise kohta on esitatud kindla pikkusega n tunnuste vektorina. Enamasti sisaldab see teave järgmist:

  • Kasutajat iseloomustavad andmed (demograafilised andmed, turundussegment).
  • Pangatoodete ja -teenuste kasutamise ajalugu (need on klienditoimingud, mis on alati seotud konkreetse aja või perioodiga, mida vajame).
  • Välised andmed, kui neid oli võimalik hankida - näiteks ülevaated sotsiaalvõrgustikest.

Ja pärast seda tuletavad nad churni määratluse, mis on iga ülesande jaoks erinev. Seejärel kasutavad nad masinõppe algoritmi, mis ennustab kliendi lahkumise tõenäosust Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile tegurite vektori põhjal Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile. Algoritmi treenimiseks kasutatakse üht tuntud raamistikku otsustuspuude ansamblite koostamiseks, XGBoost, LightGBM, CatBoost või selle modifikatsioonid.

Algoritm iseenesest pole halb, kuid sellel on mitu tõsist puudust, mis puudutab churnumi ennustamist.

  • Tal pole niinimetatud "mälu". Mudeli sisendiks on määratud arv funktsioone, mis vastavad praegusele ajahetkele. Selleks, et salvestada teavet parameetrite muutuste ajaloo kohta, on vaja välja arvutada eritunnused, mis iseloomustavad parameetrite muutusi ajas, näiteks pangatehingute arv või summa viimase 1,2,3, XNUMX, XNUMX kuu jooksul. Selline lähenemine võib vaid osaliselt kajastada ajutiste muutuste olemust.
  • Fikseeritud prognoosihorisont. Mudel suudab prognoosida klientide vähenemist ainult etteantud ajavahemikuks, näiteks prognoosi ühe kuu ette. Kui prognoosi on vaja teistsuguseks perioodiks, näiteks kolmeks kuuks, peate koolituskomplekti ümber ehitama ja uue mudeli ümber koolitama.

Meie lähenemine

Otsustasime kohe, et me ei kasuta standardseid lähenemisviise. Lisaks meile registreerus meistrivõistlustele veel 497 inimest, kellest igaühel oli seljataga arvestatav kogemus. Nii et proovida midagi standardskeemi järgi sellistes tingimustes teha ei ole hea mõte.

Ja me hakkasime lahendama binaarse klassifikatsioonimudeli ees seisvaid probleeme, ennustades klientide lahutusaegade tõenäosusjaotust. Sarnast lähenemist võib näha siin, võimaldab see sulgumist paindlikumalt ennustada ja keerulisemaid hüpoteese testida kui klassikalise lähenemise korral. Väljavooluaega modelleerivate jaotuste perekonnana valisime jaotuse Weibull selle laialdaseks kasutamiseks ellujäämise analüüsis. Kliendi käitumist võib vaadelda kui omamoodi ellujäämist.

Siin on näited Weibulli tõenäosustiheduse jaotusest sõltuvalt parameetritest Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile и Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile:

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile

See on tõenäosuse tiheduse funktsioon kolme erineva kliendi aja jooksul vähenemise korral. Aeg esitatakse kuudes. Teisisõnu näitab see graafik, millal klient järgmise kahe kuu jooksul kõige tõenäolisemalt loobub. Nagu näete, on distributsiooniga kliendil suurem potentsiaal varem lahkuda kui klientidel, kellel on Weibull(2, 0.5) ja Weibull (3,1) jaotused.

Tulemuseks on mudel, mis sobib igale kliendile
kuu ennustab Weibulli jaotuse parameetreid, mis peegeldab kõige paremini väljavoolu tõenäosuse esinemist aja jooksul. Täpsemalt:

  • Koolituskomplekti sihtfunktsioonid on konkreetse kliendi jaoks konkreetse kuu koolituse katkestamiseni jäänud aeg.
  • Kui kliendile loobumise määr puudub, eeldame, et loobumisaeg on suurem kui kuude arv jooksvast kuust meie ajaloo lõpuni.
  • Kasutatud mudel: korduv närvivõrk LSTM kihiga.
  • Kaofunktsioonina kasutame Weibulli jaotuse jaoks negatiivse log-tõenäolisuse funktsiooni.

Siin on selle meetodi eelised:

  • Tõenäosuste jaotus võimaldab lisaks ilmselgele binaarse klassifikatsiooni võimalusele ennustada erinevaid sündmusi, näiteks seda, kas klient lõpetab 3 kuu jooksul pangateenuste kasutamise. Samuti saab selle jaotuse alusel vajadusel keskmistada erinevaid mõõdikuid.
  • LSTM-i korduvnärvivõrgul on mälu ja see kasutab tõhusalt kogu saadaolevat ajalugu. Kui lugu laiendatakse või täpsustatakse, suureneb täpsus.
  • Ajavahemike väiksemateks jagamisel (näiteks kuude nädalateks jagamisel) on lähenemist lihtne skaleerida.

Kuid hea mudeli loomisest ei piisa, peate ka selle kvaliteeti õigesti hindama.

Kuidas kvaliteeti hinnati?

Valisime mõõdikuks edenduse kõvera. Seda kasutatakse äris sellistel juhtudel selle selge tõlgendamise tõttu, see on hästi kirjeldatud siin и siin. Kui kirjeldaksite selle mõõdiku tähendust ühe lausega, oleks see järgmine: "Mitu korda teeb algoritm esimeses etapis parima prognoosi Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile% kui juhuslikult."

Treeningmudelid

Konkreetset kvaliteedimõõdikut, mille alusel saaks võrrelda erinevaid mudeleid ja lähenemisi, konkurentsitingimustega ei kehtestatud. Lisaks võib churn'i definitsioon olla erinev ja sõltuda probleemi püstitusest, mis omakorda on määratud ärieesmärkidega. Seetõttu koolitasime välja kaks mudelit, et mõista, milline meetod on parem:

  1. Tavaliselt kasutatav binaarne klassifitseerimise lähenemisviis, mis kasutab ansambli otsustuspuu masinõppe algoritmi (LightGBM);
  2. Weibull-LSTM mudel

Testikomplekt koosnes 500 eelvalitud kliendist, kes koolituskomplektis ei olnud. Hüperparameetrid valiti mudeli jaoks ristvalideerimise abil, jaotatuna klientide kaupa. Iga mudeli koolitamiseks kasutati samu funktsioonide komplekte.

Kuna mudelil pole mälu, võeti selle jaoks spetsiaalsed funktsioonid, mis näitavad ühe kuu parameetrite muutuste suhet parameetrite keskmise väärtusega viimase kolme kuu jooksul. Mis iseloomustas väärtuste muutumise kiirust viimase kolme kuu jooksul. Ilma selleta oleks Random Forestil põhinev mudel Weibull-LSTM-iga võrreldes ebasoodsamas olukorras.

Miks on Weibulli jaotusega LSTM parem kui ansambli otsustuspuu lähenemisviis?

Siin on kõik selge vaid paaril pildil.

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile
Klassikalise algoritmi ja Weibull-LSTM-i tõstekõvera võrdlus

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile
Klassikalise algoritmi ja Weibull-LSTM-i tõusukõvera mõõdiku võrdlus kuude lõikes

Üldiselt on LSTM peaaegu kõigil juhtudel parem kui klassikaline algoritm.

Sulgemise ennustus

Mudel, mis põhineb korduval närvivõrgul koos Weibulli jaotusega LSTM-i rakkudega, võib ennustada katkemist ette, näiteks ennustada kliendi katkemist järgmise n kuu jooksul. Mõelge juhtumile n = 3. Sel juhul peab närvivõrk iga kuu kohta õigesti kindlaks määrama, kas klient lahkub, alates järgmisest kuust kuni n-nda kuuni. Teisisõnu peab see õigesti määrama, kas klient jääb alles n kuu pärast. Seda võib pidada etteennustuseks: ennustada hetke, mil klient alles hakkas lahkumisele mõtlema.

Võrdleme Weibull-LSTM-i tõstekõverat 1, 2 ja 3 kuud enne väljavoolu:

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile

Eelpool juba kirjutasime, et olulised on ka prognoosid, mis tehakse klientidele, kes mõnda aega enam ei tegutse. Seetõttu lisame siinkohal näidisesse sellised juhud, kui lahkunud klient on juba üks-kaks kuud passiivne olnud ja kontrollime, et Weibull-LSTM liigitaks sellised juhtumid korrektselt churniks. Kuna selliseid juhtumeid oli valimis, eeldame, et võrk käsitleb neid hästi:

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile

Klientide hoidmine

Tegelikult on see peamine, mida teha saab, kui käes on info, et sellised ja sellised kliendid valmistuvad toote kasutamisest loobuma. Rääkides mudeli ehitamisest, mis võiks klientidele midagi kasulikku pakkuda, et neid säilitada, siis seda ei saa teha, kui teil pole varem olnud sarnaseid katseid, mis lõppeksid hästi.

Meil sellist lugu ei olnud, nii et otsustasime nii.

  1. Ehitame mudeli, mis tuvastab iga kliendi jaoks huvitavad tooted.
  2. Iga kuu käitame klassifikaatorit ja tuvastame potentsiaalselt lahkuvad kliendid.
  3. Pakume mõnele kliendile toodet vastavalt punktist 1 toodud mudelile ja jätame oma tegevused meelde.
  4. Mõne kuu pärast vaatame, millised neist potentsiaalselt lahkuvatest klientidest lahkusid ja kes jäid. Seega moodustame koolitusvalimi.
  5. Koolitame mudelit 4. etapis saadud ajaloo abil.
  6. Valikuliselt kordame protseduuri, asendades 1. sammu mudeli 5. sammus saadud mudeliga.

Sellise säilitamise kvaliteedi testi saab teha regulaarse A/B testimisega – potentsiaalselt lahkuvad kliendid jagame kahte rühma. Ühele pakume tooteid oma säilitusmudeli alusel ja teisele ei paku me midagi. Otsustasime juba meie näite punktis 1 välja õpetada mudeli, mis võiks olla kasulik.

Tahtsime muuta segmenteerimise võimalikult tõlgendatavaks. Selleks valisime mitu lihtsalt tõlgendatavat tunnust: tehingute koguarv, töötasu, konto kogukäive, vanus, sugu. Tabeli "Kaardid" funktsioone ei võetud arvesse kui ebainformatiivseid ja tabelis 3 "Lepingud" olevaid funktsioone ei võetud arvesse töötlemise keerukuse tõttu, et vältida andmete lekkimist valideerimiskomplekti ja koolituskomplekti vahel.

Klasterdamine viidi läbi Gaussi segumudelite abil. Akaike teabekriteerium võimaldas meil määrata 2 optimi. Esimene optimum vastab 1 klastrile. Teine optimum, vähem väljendunud, vastab 80 klastrile. Selle tulemuse põhjal võime teha järgmise järelduse: ilma a priori antud teabeta on äärmiselt keeruline andmeid klastriteks jagada. Parema rühmitamise jaoks vajate andmeid, mis kirjeldavad üksikasjalikult iga klienti.

Seetõttu kaaluti juhendatud õppe probleemi, et pakkuda igale kliendile erinevat toodet. Arvesse võeti järgmisi tooteid: “Tähtajaline hoius”, “Krediitkaart”, “Arvelduskrediit”, “Tarbimislaen”, “Autolaen”, “Hüpoteek”.

Andmed sisaldasid veel üht tüüpi toodet: “Arvelduskonto”. Kuid me ei võtnud seda arvesse selle vähese teabesisalduse tõttu. Kasutajatele, kes on pangakliendid, s.o. ei lõpetanud oma toodete kasutamist, ehitati mudel, mis ennustaks, milline toode võib neile huvi pakkuda. Mudeliks valiti logistiline regressioon ja kvaliteedi hindamise mõõdikuna kasutati esimese 10 protsentiili tõusu väärtust.

Mudeli kvaliteeti saab hinnata joonisel.

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile
Tootesoovitusmudeli tulemused klientidele

Summaarne

Selline lähenemine tõi meile RAIF-Challenge 2017 AI meistrivõistlustel kategoorias “AI in Banks” esikoha.

Kuidas me ennustasime segadust, lähenedes sellele nagu looduskatastroofile

Ilmselt oli peamine läheneda probleemile ebatavalise nurga alt ja kasutada meetodit, mida tavaliselt muudes olukordades kasutatakse.

Kuigi kasutajate massiline väljavool võib olla teenuste jaoks looduskatastroof.

Seda meetodit saab arvesse võtta mis tahes muu valdkonna puhul, kus on oluline arvestada väljavooluga, mitte ainult pankade puhul. Näiteks kasutasime seda oma väljavoolu arvutamiseks - Rostelecomi Siberi ja Peterburi filiaalides.

"Andmekaevandamise labor" firma "Otsinguportaal "Sputnik"

Allikas: www.habr.com

Lisa kommentaar