Data Driven Growth with Python
Churn Prediction with Xgboost Binary Classification
ta seria artykułów została zaprojektowana, aby wyjaśnić, jak używać Pythona w uproszczony sposób, aby napędzać rozwój Twojej firmy poprzez zastosowanie podejścia predykcyjnego do wszystkich twoich działań. Będzie to połączenie programowania, analizy danych i uczenia maszynowego.
omówię wszystkie tematy w następujących dziewięciu artykułach:
1 – Poznaj swoje metryki
2 – segmentacja klientów
3 – Przewidywanie wartości klienta w okresie życia
4 – Przewidywanie rezygnacji
5 – przewidywanie następnego dnia zakupu
6 – Przewidywanie Sprzedaży
7 – modele reakcji rynku
8 – Modelowanie podnoszenia
9 – Projektowanie i wykonanie testów A/B
artykuły będą miały własne fragmenty kodu, które ułatwią ich stosowanie. Jeśli jesteś nowy w programowaniu, możesz mieć dobre wprowadzenie do Pythona i pandy (słynnej biblioteki, której będziemy używać na wszystkim) tutaj. Ale wciąż bez wprowadzenia do kodowania możesz nauczyć się pojęć, jak korzystać z danych i zacząć generować z nich wartość:
czasami musisz uruchomić, zanim będziesz mógł chodzić — Tony Stark
jako warunek wstępny upewnij się, że na twoim komputerze zainstalowano Notebook Jupyter i Python. Fragmenty kodu będą uruchamiane tylko na notebooku Jupyter.
dobra, zaczynajmy.
w ostatnich trzech sekcjach serii Data Driven Growth odkryliśmy, że śledzimy istotne metryki, segmentację klientów i programowo przewidujemy wartość całego życia. Ponieważ znamy naszych najlepszych klientów poprzez segmentację i przewidywanie wartości na całe życie, powinniśmy również ciężko pracować nad ich utrzymaniem. To właśnie sprawia, że wskaźnik retencji jest jednym z najważniejszych wskaźników.
wskaźnik retencji jest wskaźnikiem tego, jak dobry jest twój produkt Market fit (PMF). Jeśli twój PMF nie jest zadowalający, powinieneś zobaczyć swoich klientów ubijających się bardzo szybko. Jednym z potężnych narzędzi do poprawy stopy retencji (stąd PMF) jest przewidywanie Churn. Korzystając z tej techniki, możesz łatwo dowiedzieć się, kto może odejść w danym okresie. W tym artykule wykorzystamy zbiór danych Telco i omówimy następujące kroki w celu opracowania modelu przewidywania rezygnacji:
- eksploracyjna analiza danych
- Inżynieria funkcji
- badanie wpływu funkcji na retencję za pomocą regresji logistycznej
- budowanie modelu klasyfikacji za pomocą XGBoost
eksploracyjna Analiza danych
zaczynamy od sprawdzenia, jak wyglądają nasze dane i wizualizacji interakcji z naszą etykietą (czy nie?). Zacznijmy od zaimportowania naszych danych i wydrukowania pierwszych dziesięciu wierszy:
df_data = pd.read_csv('churn_data.csv')
df_data.head(10)
:
lepszym sposobem, aby zobaczyć wszystkie kolumny i ich typ danych jest użycie metody. info() :
wygląda na to, że nasze dane należą do dwóch kategorii:
- cechy kategoryczne: płeć, streaming tv, metoda płatności & itp.
- cechy liczbowe: etat, Opłaty miesięczne, opłaty całkowite
teraz zaczynając od tych kategorycznych, rzucimy światło na wszystkie funkcje i zobaczymy, jak pomocne są w identyfikacji, czy klient zamierza odejść.
na marginesie, w zbiorze danych mamy kolumnę Churn z wartościami tak / nie. Konwertujemy go na liczbę całkowitą, aby ułatwić korzystanie z naszej analizy.
df_data.loc = 0
df_data.loc = 1
płeć
korzystając z poniższego bloku kodu, z łatwością wizualizujemy, jak wygląda Współczynnik Churn (1-Retention Rate) dla każdej wartości:
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)
wyjście:
podział według płci dla wskaźnika churn:
klienci płci żeńskiej są bardziej skłonni do odejścia niż klienci płci męskiej, ale różnica jest minimalna (~0,8%).
powtórzmy to dla wszystkich kolumn kategorycznych. Aby nie powtarzać tego, co zrobiliśmy dla płci, poniżej znajdziesz kod potrzebny do wszystkich:
teraz przejdźmy do funkcji, które pokazują najbardziej znaczącą różnicę w ich wartościach:
serwis internetowy
ten wykres pokazuje, że klienci, którzy mają Światłowody jako Usługi internetowe, są bardziej skłonni do rezygnacji. Zwykle oczekuję, że klienci Światłowodowi będą mniej rezygnować, ponieważ korzystają z bardziej premium usługi. Ale może się to zdarzyć z powodu wysokich cen, konkurencji, obsługi klienta i wielu innych powodów.
kontrakt
zgodnie z oczekiwaniami, krótszy kontrakt oznacza wyższy wskaźnik churn.
wsparcie techniczne
klienci nie korzystają z pomocy technicznej są bardziej skłonni do churn (~25% różnicy).
metoda płatności
Automatyzacja płatności sprawia, że klient jest bardziej skłonny do zatrzymania się na twojej platformie (~30% różnicy).
Pozostałe