이탈 예측 기본

Python으로 배우는 마케팅용 Machine Learning

Karolis Urbonas

Head of Analytics & Science, Amazon

이탈이란?

  • 이탈은 고객이 구매/참여를 중단하는 것
  • 비즈니스 맥락은 계약형 또는 비계약형일 수 있음
  • 이탈은 자발/비자발로도 볼 수 있음
Python으로 배우는 마케팅용 Machine Learning

이탈 유형

주요 이탈 유형은 두 가지 비즈니스 모델에 기반합니다:

  • 계약형(휴대폰/TV 스트리밍 구독)

콘텐츠

  • 비계약형(식료품 구매, 온라인 쇼핑)

식료품

Python으로 배우는 마케팅용 Machine Learning

이탈 유형별 모형화

일반적으로:

  • 비계약형 이탈은 명시적 결정이 없어 정의·모형화가 더 어렵습니다
  • 여기서는 통신 업종의 계약형 이탈을 모형화합니다
Python으로 배우는 마케팅용 Machine Learning

이탈 인코딩

  • 보통 1/0, 1=이탈, 0=유지
  • Churn/No Churn 또는 Yes/No일 수 있음 → 1/0으로 변환 권장
    set(telcom['Churn'])
    
{0, 1}
Python으로 배우는 마케팅용 Machine Learning

이탈 분포 살펴보기

telcom.groupby(['Churn']).size() / telcom.shape[0] * 100
Churn
0    73.421502
1    26.578498
dtype: float64
Python으로 배우는 마케팅용 Machine Learning

학습/테스트 데이터 분할

from sklearn.model_selection import train_test_split
train, test = train_test_split(telcom, test_size = .25)
Python으로 배우는 마케팅용 Machine Learning

피처와 타깃 분리

데이터 유형별로 열 이름 분리

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

학습/테스트 데이터셋 구성

train_X = train[cols]
train_Y = train[target]
test_X  = test[cols]
test_Y  = test[target]
Python으로 배우는 마케팅용 Machine Learning

실습해 봅시다!

Python으로 배우는 마케팅용 Machine Learning

Preparing Video For Download...