Churn prediction model | Mňamka #195

Žádná společnost není ráda, když přichází o hodnotné zákazníky. Začínající společnost se typicky soustředí na získávání nových klientů, následně roste tím, že stávajícím klientům nabízí další produkty a nebo se snaží, aby produkty více využívali.

Pokud jde vše dobře, nastane okamžik, kdy už je společnost natolik velká, že musí volit i trochu defenzivnější strategii a soustředit se na udržení stávajících zákazníků. I přes sebelepší user experience bude vždy skupina klientů, kteří spokojeni nebudou a rozhodnou se odejít.

Společnost pak stojí před problémem, jak těmto (dobrovolným) odchodům co nejúčinněji zabránit. A na pomoc přichází, mimo jiné, i churn model.

Co je to churn model?

Jde o prediktivní model, který na úrovni jednotlivých zákazníků odhaduje, jak velký sklon k odchodu mají. Pro každého zákazníka nám v daný moment říká, jak vysoké je riziko, že o něj v budoucnu přijdeme.

Technicky jde o binární klasifikátor, který rozděluje klienty do dvou skupin (tříd) – těch co odejdou, a těch co neodejdou. Kromě přiřazení do jedné ze dvou skupin, nám typicky poskytne i pravděpodobnost, s jakou klient do dané skupiny patří.

Je důležité si uvědomit, že jde o pravděpodobnost příslušnosti do skupiny klientů, kteří odejdou. Tedy o sklon k odchodu a ne o pravděpodobnost odchodu. Je však možné tuto pravděpodobnost díky churn modelu odhadnout.

K čemu je to užitečné?

Díky tomu, že víme, u kterých klientů je riziko odchodu nejvyšší, můžeme naše záchranné snahy lépe cílit. Můžeme tyto klienty například oslovit marketingovou kampaní, připomenou jim, že už u nás dlouho nenakoupili a nebo jim i nabídnout nějaký benefit.

Kromě toho, že víme, na jaké klienty se zaměřit, můžeme churn model použít i k výpočtu maximální ceny benefitu, která se nám ještě vyplatí. Pokud víme, že odhad pravděpodobnosti odchodu konkrétního klienta je například 10 %, jeho roční výnos 1000 Kč, tak očekávaná hodnota budoucích ročních výnosů je 900 Kč. Vím, že nabídka, která typicky sníží pravděpodobnost odchodu na 5 % (očekávaná hodnota výnosu je pak 950 Kč) se mi pro tohoto klienta vyplatí, pokud nebude stát víc než 50 Kč.

Co pro churn model potřebujeme?

Jako každý supervised machine learning model, i churn model potřebuje trénovací data s vysvětlovanou (target) a vysvětlujícími proměnnými (features). Na základě těchto trénovacích dat se model učí co nejlépe zachytit vztah mezi features a targetem.

Typicky jde o historická data, kde víme, kteří klienti nakonec odešli, a kteří ne. Ti, kteří odešli, mají target pozitivní (ano, odešel). Ostatní negativní (ne, neodešel). Features popisují klienty v okamžiku, kdy tento výsledek ještě známý nebyl.

Správně definovaný target je naprosto klíčový. V mnoha případech je to jednoduché (například zrušení posledního produktu), někdy méně (například žádná transakce během posledních 3 měsíců). Je však možné churn model použít jak v případě smluvních (např. banka) i nesmluvních (např. e-shop) vztahů s klienty.

Features obsahují jakákoliv data, která mohou pomoci identifikovat klienty, kteří odejdou. Často jde o socio-demografické údaje, údaje o vlastněných produktech, historických transakcích, interakci mezi klientem a společností, chování v e-shopu a podobně.

Důležité je také dbát na to, jak dlouho dopředu chceme sklon k odchodu odhadovat. Jinými slovy: jak dlouhá doba je mezi dnem, ke kterému se na klienty díváme skrz dostupné features a dnem, kdy dokážeme poznat, zda skutečně odešli. Pokud by tato doba byla příliš krátká, nebudeme mít moc čas na jakoukoliv reakci. Pokud by naopak byla příliš dlouhá, bude model méně přesný a aktuální.

Jak takový model vypadá?

Moderní churn modely často stojí na strojovém učení. Konkrétně na výše zmíněných algoritmech pro binární klasifikaci. Těchto algoritmů je celá řada a je nutné otestovat, který nejlépe sedí na konkrétní situaci (konkrétní trénovací data, jejich množství atp.). Ať již použijete jednoduché modely jako například logistickou regresi, složitější random forest nebo GBM, nebo se pustíte do neuronových sítí, je potřeba věnovat pozornost následujícím dvěma věcem.

Klasifikátory mají celou řadu výkonnostních (performance) metrik. Vzhledem k tomu, že churn je u většiny společností velmi nízký, nestačí dívat se na přesnost churn modelu. Pokud je churn například 10 % a churn model u všech klientů řekne, že neodejdou, bude mít 90% přesnost. Rozhodně ale nebude užitečný. Je proto potřeba, mimo jiné, koukat i na senzitivitu (jak velkou část klientů, kteří skutečně odejdou, model odhalí) a precision (jak velká část klientů identifikovaných modelem skutečně odejde).

Dále je vhodné nepoužívat výsledný model jako black-box, ale pokusit se pochopit, na základě jakých parametrů se rozhoduje. Toto může nejen odhalit nedostatky v modelu či datech, ale také to může být velmi užitečná informace pro produktové a marketingové týmy. Pokud například víme, že absolutní výše slevy má na odchod menší vliv než relativní výše slevy, můžeme to použít při tvorbě nejúčinnějších kampaní.

A co dál?

Jakmile máte churn model hotový, je potřeba jej zapojit do běžného chodu společnosti. S tím souvisí jeho průběžné monitorování, vyhodnocování a aktualizace (ať již jde o pouhé přetrénovaní, nebo i přidání nových features).

Následně se můžete pustit i do automatické detekce událostí, který sklon k odchodu výrazně zvyšují a je na ně nutné reagovat co nejrychleji.

S obojím Vám mohou pomoci externí datoví konzultanti. Ale pozor, pro churn model je naprosto klíčové (ještě více než pro jiné datové projekty) zapojení i lidí se zkušenostmi a citem pro konkrétní situaci v dané společnosti a odvětví.

Máte k článku nějaké otázky nebo připomínky? Klidně mi napište, rádi to s vámi probereme :-)

Adam Votava
Data Scientist
Linkedin