Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi

Včasih, da bi rešili problem, ga morate pogledati z drugega zornega kota. Tudi če so bili v zadnjih 10 letih podobni problemi rešeni na enak način z različnimi učinki, ni dejstvo, da je ta metoda edina.

Obstaja taka tema, kot je odliv strank. Zadeva je neizogibna, saj lahko kupci katerega koli podjetja zaradi številnih razlogov prenehajo uporabljati njegove izdelke ali storitve. Seveda je za podjetje odliv naravno, a ne najbolj zaželeno dejanje, zato se vsi trudijo, da bi ta odliv čim bolj zmanjšali. Še bolje, predvidejte verjetnost odliva za določeno kategorijo uporabnikov ali določenega uporabnika in predlagajte nekaj korakov za njihovo zadržanje.

Stranko je treba analizirati in poskušati obdržati, če je to mogoče, vsaj iz naslednjih razlogov:

  • pridobivanje novih strank je dražje od postopkov zadrževanja. Za privabljanje novih strank je praviloma potrebno nekaj denarja (oglaševanje), obstoječe stranke pa lahko aktivirate s posebno ponudbo s posebnimi pogoji;
  • Razumevanje razlogov, zakaj kupci odhajajo, je ključ do izboljšanja izdelkov in storitev.

Obstajajo standardni pristopi za napovedovanje odliva. Toda na enem od prvenstev AI smo se odločili, da za to preizkusimo Weibullovo distribucijo. Najpogosteje se uporablja za analizo preživetja, vremensko napoved, analizo naravnih nesreč, industrijski inženiring in podobno. Weibullova porazdelitev je posebna porazdelitvena funkcija, parametrizirana z dvema parametroma Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi и Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi.

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi
Wikipedia

Na splošno je zanimiva zadeva, vendar se za napovedovanje odlivov in nasploh v fintechu ne uporablja tako pogosto. Pod rezom vam bomo povedali, kako smo (Laboratorij za podatkovno rudarjenje) to storili, hkrati pa smo osvojili zlato na prvenstvu umetne inteligence v kategoriji "AI v bankah".

O odlivu na splošno

Razumejmo nekaj o tem, kaj je odliv strank in zakaj je tako pomemben. Baza strank je pomembna za podjetje. Nove stranke pridejo v to bazo, na primer, ko so za izdelek ali storitev izvedele iz oglasa, nekaj časa živijo (aktivno uporabljajo izdelke) in čez nekaj časa prenehajo z uporabo. To obdobje se imenuje »življenjski cikel stranke« – izraz, ki opisuje faze, skozi katere gre stranka, ko izve za izdelek, se odloči za nakup, plača, uporablja in postane zvest potrošnik ter na koncu izdelek preneha uporabljati. zaradi enega ali drugega razloga. Skladno s tem je churn zadnja faza naročnikovega življenjskega cikla, ko stranka preneha uporabljati storitve, za podjetje pa to pomeni, da stranka ni več prinašala dobička ali kakršnekoli koristi.

Vsaka bančna stranka je določena oseba, ki izbere eno ali drugo bančno kartico posebej za svoje potrebe. Če pogosto potujete, vam bo kartica z kilometri prišla prav. Veliko kupuje - pozdravljena kartica za vračilo denarja. Veliko kupuje v posebnih trgovinah - in za to že obstaja posebna partnerska plastika. Seveda se včasih kartica izbere na podlagi kriterija »Najcenejša storitev«. Na splošno je tukaj dovolj spremenljivk.

In oseba sama izbere banko - ali je sploh smiselno izbrati kartico banke, katere podružnice so samo v Moskvi in ​​​​regiji, če ste iz Habarovska? Tudi če je kartica takšne banke vsaj 2-krat bolj donosna, je prisotnost bančnih poslovalnic v bližini še vedno pomembno merilo. Ja, leto 2019 je že tu in digitalno je naše vse, a kar nekaj težav pri nekaterih bankah je mogoče rešiti le v poslovalnici. Plus, spet nek del prebivalstva veliko bolj zaupa fizični banki kot aplikaciji na pametnem telefonu, tudi to je treba upoštevati.

Posledično ima lahko oseba veliko razlogov za zavrnitev bančnih produktov (ali banke same). Zamenjal sem službo, kartična tarifa pa se je spremenila iz plačne v »Za navadne smrtnike«, ki je manj donosna. Preselil sem se v drugo mesto, kjer ni bančnih poslovalnic. Interakcija z nekvalificiranim operaterjem v poslovalnici mi ni bila všeč. To pomeni, da je lahko razlogov za zaprtje računa celo več kot za uporabo izdelka.

In stranka ne more le jasno izraziti svoje namere - priti v banko in napisati izjavo, ampak preprosto prenehati uporabljati izdelke, ne da bi prekinila pogodbo. Odločeno je bilo, da se za razumevanje takšnih težav uporabi strojno učenje in umetna inteligenca.

Poleg tega lahko do odliva strank pride v kateri koli panogi (telekomunikacije, internetni ponudniki, zavarovalnice na splošno, povsod, kjer obstaja baza strank in periodične transakcije).

Kaj smo naredili

Najprej je bilo treba opisati jasno mejo - od kdaj začnemo šteti, da je stranka odšla. Z vidika banke, ki nam je posredovala podatke za naše delo, je bil status aktivnosti komitenta binarni – ali je aktiven ali ne. V tabeli "Dejavnost" je bila zastavica ACTIVE_FLAG, katere vrednost je lahko bila "0" ali "1" ("Neaktivno" oziroma "Aktivno"). In vse bi bilo v redu, vendar je človek tak, da ga lahko nekaj časa aktivno uporablja, nato pa za en mesec izpade s seznama aktivnih - je zbolel, šel na dopust v drugo državo ali celo testiral kartico druge banke. Ali pa po daljšem obdobju nedejavnosti ponovno začnite uporabljati storitve banke

Zato smo se odločili, da obdobje nedejavnosti imenujemo določeno neprekinjeno časovno obdobje, v katerem je bila zastavica zanj nastavljena na »0«.

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi

Stranke preidejo iz neaktivnih v aktivne po različno dolgih obdobjih nedejavnosti. Imamo možnost izračunati stopnjo empirične vrednosti "zanesljivosti obdobij nedejavnosti" - to je verjetnost, da bo oseba po začasni nedejavnosti znova začela uporabljati bančne produkte.

Ta graf na primer prikazuje nadaljevanje dejavnosti (ACTIVE_FLAG=1) strank po večmesečni nedejavnosti (ACTIVE_FLAG=0).

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi

Tukaj bomo nekoliko razjasnili nabor podatkov, s katerim smo začeli delati. Tako je banka zagotovila agregirane podatke za 19 mesecev v naslednjih tabelah:

  • »Dejavnost« - mesečne transakcije strank (s karticami, v internetnem bančništvu in mobilnem bančništvu), vključno s plačilno listo in podatki o prometu.
  • “Kartice” - podatki o vseh karticah, ki jih ima stranka, s podrobno tarifo.
  • "Pogodbe" - informacije o strankinih pogodbah (tako odprtih kot zaprtih): posojila, depoziti itd., Z navedbo parametrov vsakega.
  • "Stranke" - niz demografskih podatkov (spol in starost) in razpoložljivost kontaktnih podatkov.

Za delo smo potrebovali vse tabele razen »Zemljevida«.

Tu je bila še ena težava - v teh podatkih banka ni navedla, kakšna aktivnost je potekala na karticah. To pomeni, da smo lahko razumeli, ali so bile transakcije ali ne, vendar nismo mogli več določiti njihove vrste. Zato ni bilo jasno, ali je stranka dvigovala gotovino, prejemala plačo ali denar zapravljala za nakupe. Prav tako nismo imeli podatkov o stanju na računih, ki bi bili koristni.

Sam vzorec je bil nepristranski – v tem vzorcu banka v 19 mesecih ni poskušala zadržati komitentov in minimizirati odliva.

Torej o obdobjih nedejavnosti.

Za oblikovanje definicije odliva je treba izbrati obdobje nedejavnosti. Za ustvarjanje napovedi opuščanja v določenem trenutku Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi, morate imeti zgodovino strank vsaj 3 mesece v intervalu Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi. Naša zgodovina je bila omejena na 19 mesecev, zato smo se odločili, da vzamemo obdobje nedejavnosti 6 mesecev, če je na voljo. In za minimalno obdobje za kakovostno napoved smo vzeli 3 mesece. Številke za 3 in 6 mesecev smo vzeli empirično na podlagi analize vedenja podatkov strank.

Definicijo odliva smo oblikovali takole: mesec odliva strank Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi to je prvi mesec z ACTIVE_FLAG=0, kjer je od tega meseca v polju ACTIVE_FLAG najmanj šest zaporednih ničel, torej mesec, od katerega je bila stranka 6 mesecev neaktivna.

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi
Število strank, ki so odšle

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi
Število preostalih strank

Kako se izračuna odliv?

Pri tovrstnih tekmovanjih in nasploh v praksi se odliv pogosto napoveduje na ta način. Stranka uporablja izdelke in storitve v različnih časovnih obdobjih, podatki o interakciji z njo so predstavljeni kot vektor značilnosti fiksne dolžine n. Najpogosteje te informacije vključujejo:

  • Podatki, ki označujejo uporabnika (demografski podatki, tržni segment).
  • Zgodovina uporabe bančnih produktov in storitev (to so dejanja stranke, ki so vedno vezana na določen čas ali obdobje intervala, ki ga potrebujemo).
  • Zunanji podatki, če jih je bilo mogoče pridobiti - na primer ocene iz družbenih omrežij.

In nato izpeljejo definicijo odliva, ki je drugačna za vsako nalogo. Nato uporabijo algoritem strojnega učenja, ki napove verjetnost odhoda stranke Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi temelji na vektorju faktorjev Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi. Za šolanje algoritma se uporablja eden od znanih ogrodij za konstruiranje ansamblov odločitvenih dreves, XGBoost, LightGBM, CatBoost ali njihove spremembe.

Algoritem sam po sebi ni slab, vendar ima več resnih pomanjkljivosti, ko gre za napovedovanje odliva.

  • Nima tako imenovanega "spomina". Vhod modela je določeno število funkcij, ki ustrezajo trenutni točki v času. Za shranjevanje informacij o zgodovini sprememb parametrov je potrebno izračunati posebnosti, ki označujejo spremembe parametrov skozi čas, na primer število ali znesek bančnih transakcij v zadnjih 1,2,3, XNUMX, XNUMX mesecih. Ta pristop lahko le delno odraža naravo začasnih sprememb.
  • Fiksni napovedni horizont. Model lahko napove samo odliv strank za vnaprej določeno časovno obdobje, na primer napoved en mesec vnaprej. Če je napoved potrebna za drugo časovno obdobje, na primer tri mesece, morate znova zgraditi nabor za usposabljanje in ponovno usposobiti nov model.

Naš pristop

Takoj smo se odločili, da ne bomo uporabljali standardnih pristopov. Poleg nas se je na prvenstvo prijavilo še 497 ljudi, od katerih je imel vsak za seboj precej izkušenj. Zato poskušati narediti nekaj po standardni shemi v takšnih razmerah ni dobra ideja.

Težave, s katerimi se sooča model binarne klasifikacije, smo začeli reševati tako, da smo napovedali porazdelitev verjetnosti časov osipa strank. Podoben pristop je mogoče opaziti tukaj, omogoča bolj prilagodljivo napovedovanje odliva in preizkušanje bolj zapletenih hipotez kot pri klasičnem pristopu. Kot družino porazdelitev, ki modelira čas izliva, smo izbrali porazdelitev Weibull za njegovo široko uporabo v analizi preživetja. Klientovo vedenje lahko razumemo kot neke vrste preživetje.

Tukaj so primeri Weibullove porazdelitve gostote verjetnosti glede na parametre Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi и Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi:

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi

To je funkcija gostote verjetnosti odliva treh različnih strank skozi čas. Čas je predstavljen v mesecih. Z drugimi besedami, ta graf prikazuje, kdaj bo stranka najverjetneje odpadla v naslednjih dveh mesecih. Kot lahko vidite, ima stranka z distribucijo večji potencial, da zapusti prej kot stranke z Weibullom (2, 0.5) in Weibullom (3,1) porazdelitve.

Rezultat je model, ki za vsako stranko, za vsako
mesec napoveduje parametre Weibullove porazdelitve, ki najbolje odraža pojav verjetnosti odtoka skozi čas. Podrobneje:

  • Ciljne lastnosti nabora za usposabljanje so preostali čas do odliva v določenem mesecu za določeno stranko.
  • Če za stranko ni stopnje opustitve, predpostavimo, da je čas opustitve večji od števila mesecev od trenutnega meseca do konca zgodovine, ki jo imamo.
  • Uporabljen model: ponavljajoča se nevronska mreža s plastjo LSTM.
  • Kot funkcijo izgube uporabljamo negativno funkcijo log verjetnosti za Weibullovo porazdelitev.

Tu so prednosti te metode:

  • Porazdelitev verjetnosti poleg očitne možnosti binarne klasifikacije omogoča fleksibilno napovedovanje različnih dogodkov, na primer, ali bo komitent v 3 mesecih prenehal uporabljati storitve banke. Če je potrebno, je mogoče različne metrike povprečiti v tej porazdelitvi.
  • Ponavljajoča se nevronska mreža LSTM ima pomnilnik in učinkovito uporablja celotno razpoložljivo zgodovino. Ko se zgodba razširi ali izpopolni, se poveča natančnost.
  • Pristop lahko enostavno skaliramo, če časovna obdobja razdelimo na manjša (na primer, ko mesece razdelimo na tedne).

Vendar ni dovolj, da ustvarite dober model, morate tudi ustrezno oceniti njegovo kakovost.

Kako je bila ocenjena kakovost?

Za metriko smo izbrali krivuljo dviga. V poslu se uporablja za take primere zaradi jasne razlage, je dobro opisana tukaj и tukaj. Če bi pomen te metrike opisali v enem stavku, bi se glasil: »Kolikokrat algoritem naredi najboljšo napoved v prvem Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi% kot naključno."

Modeli usposabljanja

Natečajni pogoji niso določili posebne metrike kakovosti, po kateri bi lahko primerjali različne modele in pristope. Poleg tega je definicija odliva lahko različna in je lahko odvisna od navedbe problema, ki je po drugi strani določena s poslovnimi cilji. Zato smo, da bi razumeli, katera metoda je boljša, usposobili dva modela:

  1. Pogosto uporabljen pristop binarne klasifikacije z uporabo algoritma strojnega učenja ansambla odločitvenega drevesa (LightGBM);
  2. Model Weibull-LSTM

Testni niz je sestavljalo 500 vnaprej izbranih klientov, ki niso bili v vadbenem nizu. Hiperparametri so bili izbrani za model z uporabo navzkrižne validacije, razčlenjeni po odjemalcu. Za usposabljanje vsakega modela so bili uporabljeni isti nizi funkcij.

Ker model nima pomnilnika, so bile zanj vzete posebne značilnosti, ki prikazujejo razmerje med spremembami parametrov za en mesec in povprečno vrednostjo parametrov v zadnjih treh mesecih. Kaj je značilno za stopnjo spremembe vrednosti v zadnjih treh mesecih. Brez tega bi bil model, ki temelji na naključnem gozdu, v slabšem položaju glede na Weibull-LSTM.

Zakaj je LSTM z Weibullovo distribucijo boljši od pristopa ansambelskega odločitvenega drevesa

Tukaj je vse jasno v samo nekaj slikah.

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi
Primerjava krivulje dviga za klasični algoritem in Weibull-LSTM

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi
Primerjava metrike krivulje dviga po mesecih za klasični algoritem in Weibull-LSTM

Na splošno je LSTM boljši od klasičnega algoritma v skoraj vseh primerih.

Napoved opuščanja

Model, ki temelji na ponavljajočem se nevronskem omrežju s celicami LSTM z Weibullovo porazdelitvijo, lahko vnaprej napove odliv, na primer predvidi odliv strank v naslednjih n mesecih. Razmislite o primeru za n = 3. V tem primeru mora nevronska mreža za vsak mesec pravilno določiti, ali bo stranka odšla, od naslednjega meseca do n-tega meseca. Z drugimi besedami, mora pravilno ugotoviti, ali bo stranka ostala po n mesecih. To lahko štejemo za napoved vnaprej: predvidevanje trenutka, ko je stranka šele začela razmišljati o odhodu.

Primerjajmo krivuljo dviga za Weibull-LSTM 1, 2 in 3 mesece pred odtokom:

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi

Zgoraj smo že zapisali, da so pomembne tudi napovedi za stranke, ki že nekaj časa niso več aktivne. Zato bomo tukaj v vzorec dodali primere, ko je stranka, ki je odšla, že en ali dva meseca neaktivna, in preverili, ali Weibull-LSTM takšne primere pravilno klasificira kot odliv. Ker so bili takšni primeri v vzorcu prisotni, pričakujemo, da jih bo omrežje dobro obravnavalo:

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi

Zadrževanje strank

Pravzaprav je to glavna stvar, ki jo je mogoče storiti, če imamo v rokah informacije, da se takšne in drugačne stranke pripravljajo na prenehanje uporabe izdelka. Ko že govorimo o izgradnji modela, ki bi strankam lahko ponudil nekaj uporabnega, da bi jih obdržali, tega ni mogoče narediti, če nimate zgodovine podobnih poskusov, ki bi se dobro končali.

Nismo imeli takšne zgodbe, zato smo se odločili tako.

  1. Gradimo model, ki identificira zanimive izdelke za vsako stranko.
  2. Vsak mesec izvajamo klasifikator in identificiramo potencialne odhajajoče stranke.
  3. Nekaterim strankam ponudimo izdelek, po modelu iz točke 1, in si zapomnimo naša dejanja.
  4. Po nekaj mesecih pogledamo, katera od teh potencialno odhajajočih strank je odšla in katera je ostala. Tako oblikujemo učni vzorec.
  5. Model urimo z uporabo zgodovine, pridobljene v 4. koraku.
  6. Opcijsko ponovimo postopek, pri čemer model iz 1. koraka zamenjamo z modelom, pridobljenim v 5. koraku.

Preizkus kakovosti takega zadrževanja lahko opravimo z rednim A/B testiranjem – stranke, ki potencialno odhajajo, delimo v dve skupini. Enemu ponujamo izdelke na podlagi našega modela zadrževanja, drugemu pa ne ponujamo ničesar. Odločili smo se, da usposobimo model, ki bi lahko bil uporaben že pri 1. točki našega primera.

Želeli smo narediti segmentacijo čim bolj razumljivo. Da bi to naredili, smo izbrali več značilnosti, ki jih je mogoče enostavno interpretirati: skupno število transakcij, plače, skupni promet na računu, starost, spol. Značilnosti iz tabele »Maps« niso bile upoštevane kot neinformativne, lastnosti iz tabele 3 »Contracts« pa niso bile upoštevane zaradi kompleksnosti obdelave, da bi se izognili uhajanju podatkov med validacijskim in učnim nizom.

Grozdenje je bilo izvedeno z uporabo Gaussovih mešanih modelov. Informacijski kriterij Akaike nam je omogočil določitev 2 optimumov. Prvi optimum ustreza 1 grozdu. Drugi optimum, manj izrazit, ustreza 80 grozdom. Na podlagi tega rezultata lahko potegnemo naslednji sklep: izjemno težko je razdeliti podatke v skupine brez vnaprej podanih informacij. Za boljše združevanje v gruče potrebujete podatke, ki podrobno opisujejo vsako stranko.

Zato smo obravnavali problem nadzorovanega učenja, da bi vsaki posamezni stranki ponudili drugačen produkt. Upoštevani so bili naslednji produkti: »Oročen depozit«, »Kreditna kartica«, »Prekoračitev«, »Potrošniško posojilo«, »Avtoposojilo«, »Hipoteka«.

Podatki so vključevali še eno vrsto produkta: »Tekoči račun«. Vendar ga nismo upoštevali zaradi nizke vsebnosti informacij. Za uporabnike, ki so komitenti banke, tj. niso prenehali uporabljati njegovih izdelkov, je bil izdelan model za napovedovanje, kateri izdelek bi jih lahko zanimal. Za model je bila izbrana logistična regresija, kot metrika ocene kakovosti pa je bila uporabljena vrednost dviga za prvih 10 percentilov.

Kakovost modela je mogoče oceniti na sliki.

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi
Rezultati modela priporočila izdelkov za stranke

Skupaj

Ta pristop nam je prinesel prvo mesto v kategoriji »AI in Banks« na prvenstvu AI Championship RAIF-Challenge 2017.

Kako smo predvideli odliv tako, da smo se mu približali kot naravni katastrofi

Očitno je bilo glavno pristopiti k problemu z nekonvencionalnega zornega kota in uporabiti metodo, ki se običajno uporablja za druge situacije.

Čeprav je ogromen odliv uporabnikov lahko naravna katastrofa za storitve.

Ta način se lahko upošteva tudi za katero koli drugo področje, kjer je pomembno upoštevati odliv, ne le za banke. Z njim smo na primer izračunali lasten odliv - v sibirski in peterburški podružnici Rostelecoma.

Podjetje "Laboratorij za rudarjenje podatkov" "Iskalni portal "Sputnik"

Vir: www.habr.com

Dodaj komentar