Data Driven Growth with Python
Churn Prediction with Xgboost Binary Classification
tato série článků byla navržena tak, aby vysvětlila, jak používat Python zjednodušujícím způsobem k podpoře růstu vaší společnosti použitím prediktivního přístupu ke všem vašim činnostem. Bude to kombinace programování, analýzy dat a strojového učení.
budu pokrývat všechna témata v následujících devíti článcích:
1 – znát své metriky
2 – segmentace zákazníků
3 – predikce celoživotní hodnoty zákazníka
4 – predikce Churn
5 – predikce následujícího dne nákupu
6 – predikce prodeje
7 – modely odezvy trhu
8 – modelování vzestupu
9 – A/B testování designu a provedení
články budou mít své vlastní úryvky kódu, abyste je mohli snadno aplikovat. Pokud jste super nové programování, můžete mít dobrý úvod pro Python a pandy (slavná knihovna, kterou budeme používat na všechno) zde. Ale přesto bez úvodu kódování, můžete se naučit pojmy, jak používat data a začít z nich generovat hodnotu:
někdy musíte běžet, než budete moci chodit-Tony Stark
jako předpoklad se ujistěte, že je v počítači nainstalován Notebook Jupyter a Python. Úryvky kódu poběží pouze na notebooku Jupyter.
dobře, začněme.
v posledních třech částech řady růstu řízených daty jsme objevili sledování základních metrik, segmentaci zákazníků a programové předpovídání hodnoty životnosti. Vzhledem k tomu, že známe naše nejlepší zákazníky segmentací a predikcí celoživotní hodnoty, měli bychom také tvrdě pracovat na jejich udržení. To je to, co dělá retenční rychlost je jedním z nejdůležitějších metrik.
míra retence je známkou toho, jak dobrý je váš produkt na trhu (PMF). Pokud váš PMF není uspokojivý, měli byste vidět své zákazníky chrlit velmi brzy. Jedním z výkonných nástrojů pro zlepšení retenční rychlosti (odtud PMF)je predikce Churn. Pomocí této techniky můžete snadno zjistit, kdo bude pravděpodobně v daném období chrlit. V tomto článku, použijeme datovou sadu Telco a projdeme následující kroky k vývoji modelu predikce Churn:
- průzkumná analýza dat
- Feature engineering
- zkoumání toho, jak vlastnosti ovlivňují retenci pomocí logistické regrese
- vytvoření klasifikačního modelu s XGBoost
exploratorní Analýza dat
začneme kontrolou, jak naše data vypadají, a vizualizujeme, jak interagují s naším štítkem (churned nebo ne?). Začněme importem našich dat a vytiskneme prvních deset řádků:
df_data = pd.read_csv('churn_data.csv')
df_data.head(10)
výstup:
lepší způsob, jak vidět všechny sloupce a jejich datový typ, je použití metody. info ():
vypadá to, že naše data spadají do dvou kategorií:
- kategorické funkce: pohlaví, streamování televize, způsob platby & atd.
- číselné znaky: držba, měsíční poplatky, celkové poplatky
nyní počínaje kategorickými, vrháme světlo na všechny funkce a uvidíme, jak užitečné jsou k identifikaci, zda se zákazník chystá chrlit.
jako vedlejší poznámka, v datovém souboru, který máme, je sloupec Churn řetězec s hodnotami ano/ne. Převádíme ji na celé číslo, abychom ji usnadnili v naší analýze.
df_data.loc = 0
df_data.loc = 1
pohlaví
pomocí kódu bloku níže, jsme snadno představit, jak Churn Rate (1-retence Rate) vypadá pro každou hodnotu:
df_plot = df_data.groupby('gender').Churn.mean().reset_index()
plot_data = ,
y=df_plot,
width = ,
marker=dict(
color=)
)
]plot_layout = go.Layout(
xaxis={"type": "category"},
yaxis={"title": "Churn Rate"},
title='Gender',
plot_bgcolor = 'rgb(243,243,243)',
paper_bgcolor = 'rgb(243,243,243)',
)
fig = go.Figure(data=plot_data, layout=plot_layout)
pyoff.iplot(fig)
výstup:
rozdělení pohlaví pro rychlost churn:
ženy zákazníci jsou více pravděpodobné, že churn vs. mužské zákazníky, ale rozdíl je minimální (~0.8%).
zopakujme to pro všechny kategorické sloupce. Neopakovat to, co jsme udělali pro pohlaví, níže najdete kód potřebný pro všechny:
nyní projdeme funkce, které ukazují nejvýznamnější rozdíl mezi jejich hodnotami:
internetová služba
tento graf ukazuje, že zákazníci, kteří mají optické vlákno jako Internetové služby, s větší pravděpodobností chrlí. Obvykle očekávám, že zákazníci z optických vláken budou méně chrlit, protože používají prémiovější službu. To se však může stát kvůli vysokým cenám, konkurenci, zákaznickému servisu a mnoha dalším důvodům.
smlouva
jak se očekávalo, kratší smlouva znamená vyšší churn sazba.
Technická podpora
zákazníci nepoužívají technickou podporu, jsou spíše jako churn (~25% rozdíl).
způsob platby
automatizace platby zvyšuje pravděpodobnost, že zákazník zůstane ve vaší platformě (~30% rozdíl).
Ostatní