Churn Prediction

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:

wskaźnik Churn według płci

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

wskaźnik Churn według usług internetowych

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

wskaźnik Churn według umowy

zgodnie z oczekiwaniami, krótszy kontrakt oznacza wyższy wskaźnik churn.

wsparcie techniczne

wskaźnik Churn według wsparcia technicznego

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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.