Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě

Někdy, abyste problém vyřešili, stačí se na něj podívat z jiného úhlu. I když za posledních 10 let byly podobné problémy řešeny stejným způsobem s různými efekty, není pravda, že tato metoda je jediná.

Existuje takové téma, jako je odchod zákazníků. Ta věc je nevyhnutelná, protože zákazníci kterékoli společnosti mohou z mnoha důvodů přestat používat její produkty nebo služby. Samozřejmě, že pro společnost je odchod přirozenou, ale ne nejžádanější akcí, takže se každý snaží tento odchod minimalizovat. Ještě lépe předpovězte pravděpodobnost odchodu pro určitou kategorii uživatelů nebo konkrétního uživatele a navrhněte několik kroků, jak si je udržet.

Je nutné analyzovat a snažit se klienta udržet, pokud je to možné, alespoň z následujících důvodů:

  • přilákání nových zákazníků je dražší než procedury udržení. Chcete-li přilákat nové zákazníky, musíte zpravidla utratit nějaké peníze (reklama), zatímco stávající zákazníci mohou být aktivováni speciální nabídkou se zvláštními podmínkami;
  • Pochopení důvodů, proč zákazníci odcházejí, je klíčem ke zlepšování produktů a služeb.

Existují standardní přístupy k předpovídání odchodu. Ale na jednom z mistrovství AI jsme se rozhodli vyzkoušet distribuci Weibull. Nejčastěji se používá pro analýzu přežití, předpověď počasí, analýzu přírodních katastrof, průmyslové inženýrství a podobně. Weibullovo rozdělení je speciální distribuční funkce parametrizovaná dvěma parametry Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě и Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě.

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě
Wikipedia

Obecně je to zajímavá věc, ale pro předpovídání odlivů a obecně ve fintech se to tak často nepoužívá. Pod sestřihem vám řekneme, jak jsme to udělali (Data Mining Laboratory) a zároveň jsme vyhráli zlato na šampionátu Artificial Intelligence Championship v kategorii „AI in Banks“.

O churnu obecně

Pojďme si trochu porozumět, co je to odchod zákazníků a proč je tak důležitý. Zákaznická základna je pro podnikání důležitá. Noví zákazníci přicházejí na tuto základnu například poté, co se o produktu nebo službě dozvěděli z reklamy, nějakou dobu žijí (aktivně produkty využívají) a po nějaké době je přestanou používat. Toto období se nazývá „Customer Lifecycle“ – termín, který popisuje fáze, kterými zákazník prochází, když se dozví o produktu, učiní rozhodnutí o nákupu, zaplatí, použije a stane se věrným spotřebitelem a nakonec produkt přestane používat. z toho či onoho důvodu. V souladu s tím je churn konečnou fází životního cyklu klienta, kdy klient přestane využívat služby, a pro podnikání to znamená, že klient přestal přinášet zisk nebo jakýkoli užitek.

Každý klient banky je specifická osoba, která si vybírá tu či onu bankovní kartu speciálně pro své potřeby. Pokud často cestujete, bude se vám hodit karta s mílemi. Hodně nakupuje - ahoj, cashback karta. Hodně nakupuje v konkrétních obchodech – a na to už existuje speciální partnerský plast. Samozřejmě, někdy je karta vybrána na základě kritéria „Nejlevnější služba“. Obecně je zde proměnných dostatek.

A banku si člověk vybírá i samotnou - má vůbec smysl vybírat si kartu od banky, jejíž pobočky jsou jen v Moskvě a regionu, když jste z Chabarovsku? I když je karta od takové banky alespoň 2krát ziskovější, přítomnost poboček bank v okolí je stále důležitým kritériem. Ano, rok 2019 už je tady a digitál je pro nás vším, ale řadu problémů s některými bankami lze vyřešit pouze na pobočce. Plus opět nějaká část populace důvěřuje fyzické bance mnohem více než aplikaci v chytrém telefonu, to je také potřeba vzít v úvahu.

V důsledku toho může mít člověk mnoho důvodů pro odmítnutí bankovních produktů (nebo banky samotné). Změnil jsem zaměstnání a tarif karty se změnil z platu na „Pro pouhé smrtelníky“, což je méně ziskové. Přestěhoval jsem se do jiného města, kde nejsou žádné bankovní pobočky. Nelíbila se mi interakce s nekvalifikovaným operátorem na pobočce. To znamená, že pro uzavření účtu může být ještě více důvodů než pro použití produktu.

A klient může nejen jasně vyjádřit svůj záměr – přijít do banky a sepsat prohlášení, ale jednoduše produkty přestat používat bez ukončení smlouvy. K pochopení takových problémů bylo rozhodnuto použít strojové učení a AI.

Navíc k odchodu zákazníků může docházet v jakémkoli odvětví (telekomunikace, poskytovatelé internetu, pojišťovny obecně, všude tam, kde existuje zákaznická základna a pravidelné transakce).

Co jsme udělali

V první řadě bylo potřeba popsat jasnou hranici – od jaké doby začínáme klienta považovat za odešel. Z pohledu banky, která nám poskytla data pro naši práci, byl stav aktivity klienta binární – buď je aktivní, nebo není. V tabulce "Activity" byl příznak ACTIVE_FLAG, jehož hodnota mohla být "0" nebo "1" ("Neaktivní" a "Aktivní"). A všechno by bylo v pořádku, ale člověk je takový, že to může nějakou dobu aktivně používat a pak na měsíc vypadnout z aktivního seznamu - onemocněl, odjel na dovolenou do jiné země nebo dokonce odjel testovat kartou z jiné banky. Nebo možná po dlouhé době nečinnosti začněte znovu využívat služby banky

Proto jsme se rozhodli nazvat období nečinnosti určitý nepřetržitý časový úsek, během kterého byl příznak nastaven na „0“.

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě

Klienti přecházejí z neaktivních do aktivních po různě dlouhých obdobích nečinnosti. Máme možnost vypočítat míru empirické hodnoty „spolehlivost období nečinnosti“ – tedy pravděpodobnost, že člověk po dočasné nečinnosti opět začne používat bankovní produkty.

Tento graf například ukazuje obnovení aktivity (ACTIVE_FLAG=1) klientů po několika měsících nečinnosti (ACTIVE_FLAG=0).

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě

Zde si trochu objasníme datovou sadu, se kterou jsme začali pracovat. Banka tedy poskytla souhrnné informace za 19 měsíců v následujících tabulkách:

  • „Aktivita“ - měsíční zákaznické transakce (kartami, v internetovém bankovnictví a mobilním bankovnictví), včetně mezd a informací o obratu.
  • „Karty“ - údaje o všech kartách, které klient má, s podrobným tarifem.
  • „Smlouvy“ - informace o smlouvách klienta (otevřených i uzavřených): úvěry, vklady atd., s uvedením parametrů každého z nich.
  • „Zákazníci“ – soubor demografických údajů (pohlaví a věk) a dostupnost kontaktních informací.

Pro práci jsme potřebovali všechny stoly kromě „Mapy“.

Zde došlo k dalšímu problému - v těchto údajích banka neuvedla, jaký druh činnosti na kartách probíhal. To znamená, že jsme mohli pochopit, zda tam byly transakce nebo ne, ale už jsme nemohli určit jejich typ. Nebylo tedy jasné, zda klient vybíral hotovost, pobíral mzdu nebo peníze utrácel za nákupy. Neměli jsme ani údaje o zůstatcích na účtech, což by bylo užitečné.

Samotný vzorek byl nestranný – v tomto vzorku se banka po dobu 19 měsíců nijak nesnažila udržet si zákazníky a minimalizovat odliv.

Tedy o obdobích nečinnosti.

Pro formulování definice odchodu je třeba vybrat období nečinnosti. Chcete-li vytvořit předpověď odchodu v určitém okamžiku Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě, musíte mít zákaznickou historii v intervalu alespoň 3 měsíce Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě. Naše historie byla omezena na 19 měsíců, proto jsme se rozhodli využít období nečinnosti 6 měsíců, pokud je k dispozici. A na minimální dobu pro kvalitní předpověď jsme si vzali 3 měsíce. Údaje za 3 a 6 měsíců jsme vzali empiricky na základě analýzy chování zákaznických dat.

Definici churn jsme formulovali následovně: měsíc odchodu zákazníků Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě jedná se o první měsíc s ACTIVE_FLAG=0, kde od tohoto měsíce je v poli ACTIVE_FLAG minimálně šest po sobě jdoucích nul, jinými slovy měsíc, od kterého byl klient 6 měsíců neaktivní.

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě
Počet klientů, kteří odešli

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě
Počet zbývajících klientů

Jak se počítá churn?

V takových soutěžích a v praxi obecně se často takto předpovídá odliv. Klient využívá produkty a služby v různých časových obdobích, údaje o interakci s ním jsou reprezentovány jako vektor vlastností pevné délky n. Nejčastěji tyto informace zahrnují:

  • Údaje charakterizující uživatele (demografické údaje, marketingový segment).
  • Historie využívání bankovních produktů a služeb (jedná se o akce zákazníků, které jsou vždy vázány na konkrétní čas nebo období intervalu, který potřebujeme).
  • Externí data, pokud je bylo možné získat – například recenze ze sociálních sítí.

A poté odvodí definici churn, odlišnou pro každý úkol. Poté použijí algoritmus strojového učení, který předpovídá pravděpodobnost, že klient odejde Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě na základě vektoru faktorů Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě. K trénování algoritmu se používá jeden ze známých rámců pro konstrukci souborů rozhodovacích stromů, XGBoost, LightGBM, CatBoost nebo jejich modifikací.

Algoritmus sám o sobě není špatný, ale má několik vážných nevýhod, pokud jde o předpovídání churn.

  • Nemá takzvanou „paměť“. Vstupem modelu je zadaný počet prvků, které odpovídají aktuálnímu časovému bodu. Aby bylo možné ukládat informace o historii změn parametrů, je nutné vypočítat speciální vlastnosti, které charakterizují změny parametrů v čase, například počet nebo množství bankovních transakcí za poslední 1,2,3, XNUMX, XNUMX měsíce. Tento přístup může pouze částečně odrážet povahu dočasných změn.
  • Pevný horizont předpovědi. Model je schopen předpovídat odchod zákazníků pouze na předem definované časové období, například předpověď na měsíc dopředu. Pokud je vyžadována předpověď na jiné časové období, například tři měsíce, musíte přestavět tréninkovou sadu a přeškolit na nový model.

Náš přístup

Hned jsme se rozhodli, že nebudeme používat standardní přístupy. Kromě nás se do šampionátu přihlásilo ještě 497 lidí, z nichž každý měl za sebou nemalé zkušenosti. Takže snažit se v takových podmínkách něco dělat podle standardního schématu není dobrý nápad.

A začali jsme řešit problémy, kterým čelí binární klasifikační model, předpovídáním rozdělení pravděpodobnosti doby odchodu zákazníků. Je vidět podobný přístup zde, umožňuje předvídat churn pružněji a testovat složitější hypotézy než v klasickém přístupu. Jako rodinu distribucí modelujících dobu odtoku jsme zvolili distribuci Weibull pro jeho široké použití v analýze přežití. Chování klienta lze vnímat jako určitý druh přežití.

Zde jsou příklady Weibullova rozdělení hustoty pravděpodobnosti v závislosti na parametrech Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě и Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě:

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě

Jedná se o funkci hustoty pravděpodobnosti tří různých zákazníků, kteří se v průběhu času vystřídají. Čas je uveden v měsících. Jinými slovy, tento graf ukazuje, kdy je největší pravděpodobnost odchodu klienta v příštích dvou měsících. Jak můžete vidět, klient s distribucí má větší potenciál odejít dříve než klienti s Weibull(2, 0.5) a Weibull (3,1) distribuce.

Výsledkem je model, který pro každého klienta, pro každého
měsíc předpovídá parametry Weibullova rozdělení, které nejlépe odráží výskyt pravděpodobnosti odtoku v čase. Podrobněji:

  • Cílové vlastnosti na tréninkové sadě jsou čas zbývající do ukončení v konkrétním měsíci pro konkrétního klienta.
  • Pokud u zákazníka neexistuje míra odchodu, předpokládáme, že doba odchodu je větší než počet měsíců od aktuálního měsíce do konce historie, kterou máme.
  • Použitý model: rekurentní neuronová síť s vrstvou LSTM.
  • Jako ztrátovou funkci používáme negativní logaritmickou pravděpodobnostní funkci pro Weibullovo rozdělení.

Zde jsou výhody této metody:

  • Distribuce pravděpodobnosti, kromě zřejmé možnosti binární klasifikace, umožňuje flexibilní predikci různých událostí, například zda klient do 3 měsíců přestane využívat služby banky. V případě potřeby lze z této distribuce také zprůměrovat různé metriky.
  • Rekurentní neuronová síť LSTM má paměť a efektivně využívá celou dostupnou historii. Jak se příběh rozšiřuje nebo zpřesňuje, přesnost se zvyšuje.
  • Přístup lze snadno škálovat při rozdělování časových úseků na menší (například při dělení měsíců na týdny).

Nestačí však vytvořit dobrý model, musíte také správně vyhodnotit jeho kvalitu.

Jak byla hodnocena kvalita?

Jako metriku jsme zvolili Lift Curve. V obchodě se pro takové případy používá pro svůj jasný výklad, je dobře popsán zde и zde. Pokud popíšete význam této metriky jednou větou, bylo by to „Kolikrát algoritmus provede nejlepší předpověď v prvním Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě% než náhodně."

Tréninkové modely

Soutěžní podmínky nestanovily konkrétní metriku kvality, pomocí které by bylo možné porovnávat různé modely a přístupy. Kromě toho může být definice odchodu odlišná a může záviset na prohlášení o problému, které je zase určeno obchodními cíli. Proto, abychom pochopili, která metoda je lepší, jsme trénovali dva modely:

  1. Běžně používaný přístup binární klasifikace využívající algoritmus strojového učení souborového rozhodovacího stromu (LightGBM);
  2. Model Weibull-LSTM

Testovací soubor tvořilo 500 předem vybraných klientů, kteří nebyli v tréninkovém souboru. Hyper-parametry byly vybrány pro model pomocí křížové validace, rozdělené podle klienta. Ke trénování každého modelu byly použity stejné sady funkcí.

Vzhledem k tomu, že model nemá paměť, byly pro něj přijaty speciální funkce, které ukazují poměr změn parametrů za jeden měsíc k průměrné hodnotě parametrů za poslední tři měsíce. Co charakterizovalo rychlost změny hodnot za poslední období tří měsíců. Bez toho by byl model založený na Random Forest oproti Weibull-LSTM v nevýhodě.

Proč je LSTM s Weibullovou distribucí lepší než souborový rozhodovací strom

Vše je zde jasné na několika obrázcích.

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě
Porovnání Lift Curve pro klasický algoritmus a Weibull-LSTM

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě
Porovnání metriky Lift Curve po měsících pro klasický algoritmus a Weibull-LSTM

Obecně je LSTM téměř ve všech případech lepší než klasický algoritmus.

Předpověď churn

Model založený na rekurentní neuronové síti s buňkami LSTM s Weibullovou distribucí může předem předvídat odchod zákazníků, například předpovídat odchod zákazníků během následujících n měsíců. Uvažujme případ pro n = 3. V tomto případě musí neuronová síť pro každý měsíc správně určit, zda klient odejde, počínaje dalším měsícem až do n-tého měsíce. Jinými slovy, musí správně určit, zda zákazník zůstane po n měsících. To lze považovat za předpověď předem: předpovídání okamžiku, kdy klient o odchodu teprve začínal uvažovat.

Porovnejme Lift Curve pro Weibull-LSTM 1, 2 a 3 měsíce před odtokem:

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě

Již výše jsme psali, že důležité jsou i prognózy pro klienty, kteří již nejsou nějakou dobu aktivní. Proto zde do vzorku přidáme případy, kdy je odcházející zákazník již jeden nebo dva měsíce neaktivní a zkontrolujeme, zda Weibull-LSTM takové případy správně klasifikuje jako churn. Protože takové případy byly ve vzorku přítomny, očekáváme, že je síť zvládne dobře:

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě

Udržení zákazníků

To je vlastně to hlavní, co lze udělat, mít v ruce informaci, že se ti a tito klienti chystají produkt přestat používat. Když už mluvíme o budování modelu, který by mohl nabídnout něco užitečného zákazníkům, aby si je udržel, nelze to udělat, pokud nemáte historii podobných pokusů, které by skončily dobře.

My jsme takový příběh neměli, tak jsme to rozhodli takto.

  1. Budujeme model, který pro každého klienta identifikuje zajímavé produkty.
  2. Každý měsíc spouštíme klasifikátor a identifikujeme potenciálně odcházející zákazníky.
  3. Některým klientům nabízíme produkt podle vzoru z bodu 1 a pamatujeme si naše jednání.
  4. Po pár měsících se podíváme, kteří z těchto potenciálně odcházejících klientů odešli a kteří zůstali. Tak tvoříme tréninkový vzorek.
  5. Trénujeme model pomocí historie získané v kroku 4.
  6. Případně postup zopakujeme a nahradíme model z kroku 1 modelem získaným v kroku 5.

Test kvality takové retence lze provést pravidelným A/B testováním – zákazníky, kteří potenciálně odejdou, rozdělujeme do dvou skupin. Jednomu nabízíme produkty na základě našeho retenčního modelu a druhému nic. Již v bodě 1 našeho příkladu jsme se rozhodli natrénovat model, který by mohl být užitečný.

Chtěli jsme, aby segmentace byla co nejlépe interpretovatelná. K tomu jsme vybrali několik funkcí, které lze snadno interpretovat: celkový počet transakcí, mzdy, celkový obrat na účtu, věk, pohlaví. Prvky z tabulky „Mapy“ nebyly zohledněny jako neinformativní a prvky z tabulky 3 „Smlouvy“ nebyly zohledněny z důvodu složitosti zpracování, aby se zabránilo úniku dat mezi ověřovací sadou a trénovací sadou.

Shlukování bylo provedeno pomocí gaussovských směsných modelů. Informační kritérium Akaike nám umožnilo určit 2 optima. První optimum odpovídá 1 shluku. Druhé optimum, méně výrazné, odpovídá 80 shlukům. Na základě tohoto výsledku můžeme vyvodit následující závěr: je extrémně obtížné rozdělit data do shluků bez apriori dané informace. Pro lepší shlukování potřebujete data, která podrobně popisují každého klienta.

Proto byl zvažován problém řízeného učení s cílem nabídnout každému jednotlivému klientovi jiný produkt. Posuzovány byly tyto produkty: „Termínovaný vklad“, „Kreditní karta“, „Kontokorent“, „Spotřebitelský úvěr“, „Úvěr na auto“, „Hypotéka“.

Údaje zahrnovaly ještě jeden typ produktu: „Běžný účet“. S tím jsme ale neuvažovali kvůli nízkému informačnímu obsahu. Pro uživatele, kteří jsou klienty bank, tzn. nepřestali používat své produkty, byl vytvořen model, který předpovídá, který produkt by je mohl zajímat. Jako model byla zvolena logistická regrese a jako metrika hodnocení kvality byla použita hodnota Lift pro prvních 10 percentilů.

Kvalitu modelu lze posoudit na obrázku.

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě
Výsledky modelu doporučení produktů pro zákazníky

Celkový

Tento přístup nám přinesl první místo v kategorii „AI v bankách“ na RAIF-Challenge 2017 AI Championship.

Jak jsme předpovídali chrlení tím, že jsme se k němu přiblížili jako k přírodní katastrofě

Zřejmě šlo hlavně o to přistoupit k problému z netradičního úhlu a použít metodu, která se běžně používá pro jiné situace.

I když masivní odliv uživatelů může být pro služby přírodní katastrofou.

Tento způsob lze vzít v úvahu pro jakoukoli jinou oblast, kde je důležité počítat s odlivem, nejen pro banky. Použili jsme ho například k výpočtu vlastního odtoku – v sibiřské a petrohradské pobočce Rostelecomu.

Společnost "Data Mining Laboratory" "Vyhledávací portál "Sputnik"

Zdroj: www.habr.com

Přidat komentář