Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe

Niekedy sa na vyriešenie problému stačí pozrieť z iného uhla pohľadu. Aj keď sa za posledných 10 rokov podobné problémy riešili rovnakým spôsobom s rôznymi účinkami, nie je pravda, že táto metóda je jediná.

Existuje taká téma ako odchod zákazníkov. Táto vec je nevyhnutná, pretože zákazníci ktorejkoľvek spoločnosti môžu z mnohých dôvodov prestať používať jej produkty alebo služby. Samozrejme, pre firmu je miznutie prirodzenou, no nie najžiadanejšou akciou, preto sa každý snaží tento miesť minimalizovať. Ešte lepšie je predpovedať pravdepodobnosť odchodu pre konkrétnu kategóriu používateľov alebo konkrétneho používateľa a navrhnúť niekoľko krokov na ich udržanie.

Je potrebné analyzovať a snažiť sa udržať klienta, ak je to možné, minimálne z týchto dôvodov:

  • prilákanie nových zákazníkov je drahšie ako procedúry udržania. Ak chcete prilákať nových zákazníkov, musíte spravidla minúť nejaké peniaze (reklama), zatiaľ čo existujúci zákazníci môžu byť aktivovaní špeciálnou ponukou so špeciálnymi podmienkami;
  • Pochopenie dôvodov, prečo zákazníci odchádzajú, je kľúčom k zlepšovaniu produktov a služieb.

Existujú štandardné prístupy k predpovedaniu miznutia. Ale na jednom z majstrovstiev AI sme sa rozhodli vyskúšať distribúciu Weibull. Najčastejšie sa používa na analýzu prežitia, predpoveď počasia, analýzu prírodných katastrof, priemyselné inžinierstvo a podobne. Weibullovo rozdelenie je špeciálna distribučná funkcia parametrizovaná dvoma parametrami Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe и Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe.

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe
Wikipedia

Vo všeobecnosti je to zaujímavá vec, ale na predpovedanie odlivu a vo všeobecnosti vo fintech sa to tak často nepoužíva. Pod strihom vám povieme, ako sme to (Data Mining Laboratory) urobili, pričom sme súčasne vyhrali zlato na šampionáte umelej inteligencie v kategórii „AI v bankách“.

O churn všeobecne

Poďme trochu pochopiť, čo je to churn zákazníkov a prečo je to také dôležité. Zákaznícka základňa je pre podnikanie dôležitá. Noví zákazníci prichádzajú na túto základňu napríklad tak, že sa o produkte alebo službe dozvedeli z reklamy, nejaký čas žijú (aktívne používajú produkty) a po určitom čase ich prestanú používať. Toto obdobie sa nazýva „Customer Lifecycle“ – termín, ktorý popisuje fázy, ktorými zákazník prechádza, keď sa dozvie o produkte, urobí rozhodnutie o kúpe, zaplatí, použije a stane sa verným spotrebiteľom a nakoniec produkt prestane používať. z jedného alebo druhého dôvodu. V dôsledku toho je churn poslednou fázou životného cyklu klienta, keď klient prestane využívať služby, a pre podnikanie to znamená, že klient prestal prinášať zisk alebo akýkoľvek prospech.

Každý klient banky je konkrétna osoba, ktorá si vyberá jednu alebo druhú bankovú kartu špeciálne pre svoje potreby. Ak často cestujete, karta s míľami sa vám bude hodiť. Veľa nakupuje - ahoj, cashback karta. Veľa nakupuje v konkrétnych obchodoch – a na to už existuje špeciálny partnerský plast. Samozrejme, niekedy sa karta vyberie na základe kritéria „Najlacnejšia služba“. Vo všeobecnosti je tu dosť premenných.

A človek si vyberá aj samotnú banku - má zmysel vyberať si kartu z banky, ktorej pobočky sú len v Moskve a regióne, keď ste z Chabarovska? Aj keď je karta od takejto banky aspoň 2-krát ziskovejšia, prítomnosť pobočiek bánk v blízkosti je stále dôležitým kritériom. Áno, rok 2019 je už tu a digitál je pre nás všetkým, no množstvo problémov s niektorými bankami sa dá vyriešiť len na pobočke. Plus zase nejaká časť populácie dôveruje fyzickej banke oveľa viac ako aplikácii v smartfóne, aj to treba brať do úvahy.

V dôsledku toho môže mať človek veľa dôvodov na odmietnutie bankových produktov (alebo samotnej banky). Zmenil som prácu a tarifa karty sa zmenila z platu na „Pre obyčajných smrteľníkov“, čo je menej ziskové. Presťahoval som sa do iného mesta, kde nie sú pobočky bánk. Nepáčila sa mi interakcia s nekvalifikovaným operátorom na pobočke. To znamená, že na zatvorenie účtu môže byť ešte viac dôvodov ako na používanie produktu.

A klient môže nielen jasne vyjadriť svoj zámer – prísť do banky a napísať vyhlásenie, ale jednoducho prestať produkty používať bez vypovedania zmluvy. Na pochopenie takýchto problémov bolo rozhodnuté použiť strojové učenie a AI.

Okrem toho môže dôjsť k odchodu zákazníkov v akomkoľvek odvetví (telekomunikácie, poskytovatelia internetu, poisťovne vo všeobecnosti, všade tam, kde existuje zákaznícka základňa a pravidelné transakcie).

Čo sme urobili

V prvom rade bolo potrebné popísať jasnú hranicu – odkedy začíname klienta považovať za odchádzajúceho. Z pohľadu banky, ktorá nám poskytla údaje pre našu prácu, bol stav aktivity klienta binárny – buď je aktívny, alebo nie. V tabuľke „Activity“ bol príznak ACTIVE_FLAG, ktorého hodnota mohla byť buď „0“ alebo „1“ („Neaktívne“ a „Aktívne“). A všetko by bolo v poriadku, lenže človek je taký, že to môže nejaký čas aktívne využívať a potom na mesiac vypadne z aktívneho zoznamu – ochorel, odišiel na dovolenku do inej krajiny alebo dokonca šiel otestovať kartou z inej banky. Alebo možno po dlhom období nečinnosti začnite znova využívať služby banky

Preto sme sa rozhodli nazvať obdobie nečinnosti určitý nepretržitý časový úsek, počas ktorého bol príznak nastavený na „0“.

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe

Klienti prechádzajú z neaktívnych na aktívnych po obdobiach nečinnosti rôznej dĺžky. Máme možnosť vypočítať mieru empirickej hodnoty „spoľahlivosť období nečinnosti“ – teda pravdepodobnosť, že človek po dočasnej nečinnosti opäť začne využívať bankové produkty.

Napríklad tento graf zobrazuje obnovenie aktivity (ACTIVE_FLAG=1) klientov po niekoľkých mesiacoch nečinnosti (ACTIVE_FLAG=0).

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe

Tu si trochu objasníme dátový súbor, s ktorým sme začali pracovať. Banka teda poskytla súhrnné informácie za 19 mesiacov v nasledujúcich tabuľkách:

  • „Aktivita“ - mesačné zákaznícke transakcie (kartami, v internet bankingu a mobil bankingu), vrátane miezd a informácií o obratoch.
  • „Karty“ - údaje o všetkých kartách, ktoré má klient, s podrobným tarifným plánom.
  • „Dohody“ - informácie o zmluvách klienta (otvorených aj uzavretých): pôžičky, vklady atď., S uvedením parametrov každého z nich.
  • „Zákazníci“ - súbor demografických údajov (pohlavie a vek) a dostupnosť kontaktných informácií.

Na prácu sme potrebovali všetky stoly okrem „Mapy“.

Tu bol ďalší problém - v týchto údajoch banka neuviedla, aký druh činnosti sa na kartách odohral. To znamená, že sme mohli pochopiť, či tam boli transakcie alebo nie, ale už sme nedokázali určiť ich typ. Preto nebolo jasné, či klient vyberal hotovosť, poberal mzdu alebo peniaze míňal na nákupy. Nemali sme ani údaje o zostatkoch na účtoch, čo by bolo užitočné.

Samotná vzorka bola nezaujatá – v tejto časti sa banka počas 19 mesiacov nesnažila udržať si zákazníkov a minimalizovať odlev.

Takže o obdobiach nečinnosti.

Na formulovanie definície churn je potrebné zvoliť obdobie nečinnosti. Na vytvorenie prognózy odchodu v určitom čase Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe, musíte mať zákaznícku históriu aspoň 3 mesiace v intervale Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe. Naša história bola obmedzená na 19 mesiacov, preto sme sa rozhodli použiť obdobie nečinnosti 6 mesiacov, ak je k dispozícii. A na minimálnu dobu pre kvalitnú predpoveď sme si vzali 3 mesiace. Údaje za 3 a 6 mesiacov sme vzali empiricky na základe analýzy správania zákazníckych údajov.

Definíciu odchodu zákazníkov sme sformulovali takto: mesiac odchodu zákazníkov Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe ide o prvý mesiac s ACTIVE_FLAG=0, kde od tohto mesiaca je v poli ACTIVE_FLAG minimálne šesť po sebe nasledujúcich núl, teda mesiac, od ktorého bol klient 6 mesiacov neaktívny.

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe
Počet klientov, ktorí odišli

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe
Počet zostávajúcich klientov

Ako sa počíta churn?

V takýchto súťažiach a v praxi všeobecne sa často takto predpovedá odliv. Klient využíva produkty a služby v rôznych časových obdobiach, údaje o interakcii s ním sú reprezentované ako vektor znakov pevnej dĺžky n. Najčastejšie tieto informácie zahŕňajú:

  • Údaje charakterizujúce používateľa (demografické údaje, marketingový segment).
  • História využívania bankových produktov a služieb (sú to akcie zákazníkov, ktoré sú vždy viazané na konkrétny čas alebo obdobie intervalu, ktorý potrebujeme).
  • Externé údaje, ak ich bolo možné získať – napríklad recenzie zo sociálnych sietí.

A potom odvodia definíciu churn, odlišnú pre každú úlohu. Potom použijú algoritmus strojového učenia, ktorý predpovedá pravdepodobnosť odchodu klienta Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe na základe vektora faktorov Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe. Na trénovanie algoritmu sa používa jeden zo známych rámcov na vytváranie súborov rozhodovacích stromov, XGBoost, LightGBM, CatBoost alebo ich modifikácie.

Algoritmus sám o sebe nie je zlý, ale má niekoľko vážnych nevýhod, pokiaľ ide o predpovedanie miznutia.

  • Nemá takzvanú „pamäť“. Vstupom modelu je určený počet funkcií, ktoré zodpovedajú aktuálnemu časovému bodu. Na ukladanie informácií o histórii zmien parametrov je potrebné vypočítať špeciálne vlastnosti, ktoré charakterizujú zmeny parametrov v čase, napríklad počet alebo množstvo bankových transakcií za posledné 1,2,3, XNUMX, XNUMX mesiace. Tento prístup môže len čiastočne odrážať povahu dočasných zmien.
  • Pevný predpovedný horizont. Model je schopný predpovedať odchod zákazníkov iba na vopred definované časové obdobie, napríklad predpoveď na mesiac vopred. Ak sa vyžaduje predpoveď na iné časové obdobie, napríklad tri mesiace, potom musíte prestavať tréningovú súpravu a preškoliť nový model.

Náš prístup

Hneď sme sa rozhodli, že nebudeme používať štandardné prístupy. Okrem nás sa na šampionát prihlásilo ešte 497 ľudí, z ktorých každý mal za sebou nemalé skúsenosti. Takže snažiť sa v takýchto podmienkach robiť niečo podľa štandardnej schémy nie je dobrý nápad.

A začali sme riešiť problémy, ktorým čelí model binárnej klasifikácie, predpovedaním pravdepodobnostného rozdelenia času odchodu zákazníkov. Je možné vidieť podobný prístup tu, umožňuje flexibilnejšie predpovedať churn a testovať zložitejšie hypotézy ako pri klasickom prístupe. Ako rodinu distribúcií modelujúcich čas odtoku sme zvolili distribúciu Weibull pre jeho široké využitie pri analýze prežitia. Správanie klienta možno považovať za istý druh prežitia.

Tu sú príklady Weibullovho rozdelenia hustoty pravdepodobnosti v závislosti od parametrov Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe и Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe:

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe

Toto je funkcia hustoty pravdepodobnosti troch rôznych zákazníkov, ktorí sa v priebehu času menia. Čas je uvedený v mesiacoch. Inými slovami, tento graf ukazuje, kedy je najpravdepodobnejšie, že klient odíde v najbližších dvoch mesiacoch. Ako vidíte, klient s distribúciou má väčší potenciál odísť skôr ako klienti s Weibull (2, 0.5) a Weibull (3,1) distribúcie.

Výsledkom je model, ktorý pre každého klienta, pre každého
mesiac predpovedá parametre Weibullovho rozdelenia, ktoré najlepšie odráža výskyt pravdepodobnosti odtoku v čase. Podrobnejšie:

  • Cieľové funkcie na tréningovej sade sú čas zostávajúci do ukončenia práce v konkrétnom mesiaci pre konkrétneho klienta.
  • Ak pre zákazníka neexistuje miera odchodu, predpokladáme, že čas odchodu je väčší ako počet mesiacov od aktuálneho mesiaca do konca histórie, ktorú máme.
  • Použitý model: rekurentná neurónová sieť s vrstvou LSTM.
  • Ako stratovú funkciu používame funkciu zápornej logaritmickej pravdepodobnosti pre Weibullovo rozdelenie.

Tu sú výhody tejto metódy:

  • Rozdelenie pravdepodobnosti, okrem samozrejmej možnosti binárnej klasifikácie, umožňuje flexibilné predpovedanie rôznych udalostí, napríklad či klient prestane využívať služby banky do 3 mesiacov. Ak je to potrebné, z tohto rozdelenia možno spriemerovať rôzne metriky.
  • Rekurentná neurónová sieť LSTM má pamäť a efektívne využíva celú dostupnú históriu. Ako sa príbeh rozširuje alebo zdokonaľuje, presnosť sa zvyšuje.
  • Prístup je možné jednoducho škálovať pri delení časových úsekov na menšie (napríklad pri delení mesiacov na týždne).

Nestačí však vytvoriť dobrý model, musíte tiež správne vyhodnotiť jeho kvalitu.

Ako sa hodnotila kvalita?

Ako metriku sme zvolili krivku zdvihu. V biznise sa pre takéto prípady používa kvôli jasnému výkladu, je dobre popísaný tu и tu. Ak opíšete význam tejto metriky jednou vetou, bolo by to „Koľkokrát algoritmus urobí najlepšiu predpoveď v prvom Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe% ako náhodne."

Tréningové modely

Súťažné podmienky nestanovili konkrétnu metriku kvality, pomocou ktorej by sa dali porovnávať rôzne modely a prístupy. Okrem toho definícia churn môže byť odlišná a môže závisieť od vyhlásenia o probléme, ktoré je zase určené obchodnými cieľmi. Preto, aby sme pochopili, ktorá metóda je lepšia, trénovali sme dva modely:

  1. Bežne používaný prístup binárnej klasifikácie využívajúci algoritmus strojového učenia súboru rozhodovacieho stromu (LightGBM);
  2. Model Weibull-LSTM

Testovací súbor pozostával z 500 vopred vybraných klientov, ktorí neboli v tréningovom súbore. Hyperparametre boli vybrané pre model pomocou krížovej validácie, rozdelené podľa klienta. Na trénovanie každého modelu boli použité rovnaké sady funkcií.

Vzhľadom na to, že model nemá pamäť, boli preň prijaté špeciálne funkcie, ktoré ukazujú pomer zmien parametrov za jeden mesiac k priemernej hodnote parametrov za posledné tri mesiace. Čo charakterizovalo rýchlosť zmeny hodnôt za posledné obdobie troch mesiacov. Bez toho by bol model založený na Random Forest v porovnaní s Weibull-LSTM v nevýhode.

Prečo je LSTM s Weibullovou distribúciou lepší ako prístup pomocou súboru rozhodovacieho stromu

Všetko je tu jasné len na pár obrázkoch.

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe
Porovnanie krivky zdvihu pre klasický algoritmus a Weibull-LSTM

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe
Porovnanie metriky Lift Curve podľa mesiaca pre klasický algoritmus a Weibull-LSTM

Vo všeobecnosti je LSTM takmer vo všetkých prípadoch lepší ako klasický algoritmus.

Predpoveď otrasov

Model založený na rekurentnej neurónovej sieti s bunkami LSTM s Weibullovou distribúciou dokáže predpovedať odchod zákazníkov vopred, napríklad predpovedať odchod zákazníkov v priebehu nasledujúcich n mesiacov. Zvážte prípad pre n = 3. V tomto prípade musí neurónová sieť pre každý mesiac správne určiť, či klient odíde, počnúc nasledujúcim mesiacom až do n-tého mesiaca. Inými slovami, musí správne určiť, či zákazník zostane aj po n mesiacoch. To možno považovať za predpoveď vopred: predpovedanie momentu, keď klient práve začínal uvažovať o odchode.

Porovnajme Lift Curve pre Weibull-LSTM 1, 2 a 3 mesiace pred odtokom:

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe

Už vyššie sme písali, že dôležité sú aj prognózy pre klientov, ktorí už nejaký čas nie sú aktívni. Preto tu do vzorky doplníme prípady, keď je odchádzajúci zákazník už jeden alebo dva mesiace neaktívny a skontrolujeme, či Weibull-LSTM správne klasifikuje takéto prípady ako churn. Keďže takéto prípady boli vo vzorke prítomné, očakávame, že ich sieť zvládne dobre:

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe

Udržanie zákazníkov

V skutočnosti je to to hlavné, čo sa dá urobiť, mať po ruke informáciu, že takí a takí klienti sa chystajú prestať produkt používať. Keď už hovoríme o budovaní modelu, ktorý by mohol ponúknuť niečo užitočné pre zákazníkov, aby si ich udržal, to sa nedá urobiť, ak nemáte v minulosti podobné pokusy, ktoré by skončili dobre.

My sme takýto príbeh nemali, tak sme sa rozhodli takto.

  1. Vytvárame model, ktorý identifikuje zaujímavé produkty pre každého klienta.
  2. Každý mesiac spúšťame klasifikátor a identifikujeme potenciálne odchádzajúcich zákazníkov.
  3. Niektorým klientom ponúkame produkt podľa vzoru z bodu 1 a pamätáme si naše akcie.
  4. Po niekoľkých mesiacoch sa pozrieme na to, ktorí z týchto potenciálne odchádzajúcich klientov odišli a ktorí zostali. Takto tvoríme tréningovú vzorku.
  5. Trénujeme model pomocou histórie získanej v kroku 4.
  6. Voliteľne postup zopakujeme a nahradíme model z kroku 1 modelom získaným v kroku 5.

Test kvality takejto retencie je možné urobiť pravidelným A/B testovaním – zákazníkov, ktorí potenciálne odchádzajú, rozdeľujeme do dvoch skupín. Jednému ponúkame produkty na základe nášho retenčného modelu a druhému neponúkame nič. Už v bode 1 nášho príkladu sme sa rozhodli natrénovať model, ktorý by mohol byť užitočný.

Chceli sme, aby bola segmentácia čo najlepšie interpretovateľná. Na tento účel sme vybrali niekoľko funkcií, ktoré sa dali ľahko interpretovať: celkový počet transakcií, mzdy, celkový obrat na účte, vek, pohlavie. Funkcie z tabuľky „Mapy“ neboli brané do úvahy ako neinformatívne a vlastnosti z tabuľky 3 „Zmluvy“ neboli brané do úvahy z dôvodu zložitosti spracovania, aby sa predišlo úniku údajov medzi validačnou sadou a tréningovou sadou.

Klastrovanie sa uskutočnilo pomocou gaussovských modelov zmesi. Informačné kritérium Akaike nám umožnilo určiť 2 optimá. Prvé optimum zodpovedá 1 zhluku. Druhé optimum, menej výrazné, zodpovedá 80 zhlukom. Na základe tohto výsledku môžeme vyvodiť nasledujúci záver: je mimoriadne ťažké rozdeliť dáta do zhlukov bez a priori uvedených informácií. Pre lepšie klastrovanie potrebujete údaje, ktoré podrobne popisujú každého klienta.

Preto sa uvažovalo o probléme učenia pod dohľadom s cieľom ponúknuť každému jednotlivému klientovi iný produkt. Posudzované boli tieto produkty: „Termínovaný vklad“, „Kreditná karta“, „Kontokorent“, „Spotrebný úver“, „Úver na auto“, „Hypotéka“.

Údaje zahŕňali ešte jeden typ produktu: „Bežný účet“. Ale neuvažovali sme o ňom pre nízky informačný obsah. Pre používateľov, ktorí sú klientmi bánk, t.j. neprestali používať svoje produkty, bol vytvorený model na predpovedanie, ktorý produkt by ich mohol zaujímať. Ako model bola zvolená logistická regresia a ako metrika hodnotenia kvality bola použitá hodnota Lift pre prvých 10 percentilov.

Kvalitu modelu je možné posúdiť na obrázku.

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe
Výsledky modelov odporúčaní produktov pre zákazníkov

Celkový

Tento prístup nám priniesol prvé miesto v kategórii „AI v bankách“ na RAIF-Challenge 2017 AI Championship.

Ako sme predpovedali miznutie tým, že sme sa k tomu priblížili ako k prírodnej katastrofe

Zrejme išlo hlavne o to, pristúpiť k problému z netradičného uhla pohľadu a použiť metódu, ktorá sa bežne používa na iné situácie.

Aj keď masívny odliv používateľov môže byť pre služby prírodnou katastrofou.

Túto metódu možno brať do úvahy pre akúkoľvek inú oblasť, kde je dôležité brať do úvahy odliv, nielen banky. Použili sme ho napríklad na výpočet vlastného odtoku – v sibírskej a petrohradskej pobočke Rostelecomu.

Spoločnosť "Laboratórium dolovania údajov" "Vyhľadávací portál "Sputnik"

Zdroj: hab.com

Pridať komentár