Podstawy przewidywania odejść klientów

Uczenie maszynowe w marketingu w Pythonie

Karolis Urbonas

Head of Analytics & Science, Amazon

Czym jest churn?

  • Odejście klienta (churn) następuje, gdy przestaje on kupować / angażować się
  • Kontekst biznesowy może być kontraktowy lub niekontraktowy
  • Churn bywa klasyfikowany jako dobrowolny lub mimowolny
Uczenie maszynowe w marketingu w Pythonie

Rodzaje churnu

Główna typologia churnu opiera się na dwóch modelach biznesowych:

  • Kontraktowy (abonament telefoniczny, streaming TV)

Zawartość

  • Niekontraktowy (zakupy spożywcze, zakupy online)

Artykuły spożywcze

Uczenie maszynowe w marketingu w Pythonie

Modelowanie różnych typów churnu

Zazwyczaj:

  • Churn niekontraktowy jest trudniejszy do zdefiniowania i modelowania, gdyż brak tu wyraźnej decyzji klienta
  • Będziemy modelować churn kontraktowy w modelu biznesowym telekomunikacji
Uczenie maszynowe w marketingu w Pythonie

Kodowanie churnu

  • Zazwyczaj 1/0, gdzie 1 = Churn, 0 = Brak churnu
  • Może być ciągiem znaków Churn/No Churn lub Yes/No — najlepiej przekształcić do postaci 1 i 0
    set(telcom['Churn'])
    
{0, 1}
Uczenie maszynowe w marketingu w Pythonie

Analiza rozkładu churnu

telcom.groupby(['Churn']).size() / telcom.shape[0] * 100
Churn
0    73.421502
1    26.578498
dtype: float64
Uczenie maszynowe w marketingu w Pythonie

Podział na dane treningowe i testowe

from sklearn.model_selection import train_test_split
train, test = train_test_split(telcom, test_size = .25)
Uczenie maszynowe w marketingu w Pythonie

Separacja cech i zmiennych docelowych

Podział nazw kolumn według typów danych

target  = ['Churn']
custid  = ['customerID']
cols    = [col for col in telcom.columns if col not in custid + target]

Budowanie zbiorów treningowych i testowych

train_X = train[cols]
train_Y = train[target]
test_X  = test[cols]
test_Y  = test[target]
Uczenie maszynowe w marketingu w Pythonie

Czas na ćwiczenia!

Uczenie maszynowe w marketingu w Pythonie

Preparing Video For Download...