チャーン予測の基礎

Pythonで学ぶマーケティングのための機械学習

Karolis Urbonas

Head of Analytics & Science, Amazon

チャーンとは

  • チャーンは顧客が購入・利用をやめること
  • ビジネス文脈は「契約型」または「非契約型」
  • チャーンは「任意」または「強制」と見ることもある
Pythonで学ぶマーケティングのための機械学習

チャーンの種類

主な分類は2つのビジネスモデルに基づく:

  • 契約型(携帯電話の契約、動画配信のサブスク)

コンテンツ

  • 非契約型(食料品の購入、オンライン購入)

食料品

Pythonで学ぶマーケティングのための機械学習

チャーン種類別のモデリング

一般に:

  • 非契約型は明示的な意思決定がなく、定義・モデル化がより難しい
  • ここでは通信業の契約型チャーンをモデル化する
Pythonで学ぶマーケティングのための機械学習

チャーンのエンコード

  • 通常は 1/0(1=チャーン、0=継続)
  • 文字列 Churn/No ChurnYes/No の場合は 1/0 に変換するのがベストプラクティス
    set(telcom['Churn'])
    
{0, 1}
Pythonで学ぶマーケティングのための機械学習

チャーン分布の確認

telcom.groupby(['Churn']).size() / telcom.shape[0] * 100
Churn
0    73.421502
1    26.578498
dtype: float64
Pythonで学ぶマーケティングのための機械学習

学習用とテスト用に分割

from sklearn.model_selection import train_test_split
train, test = train_test_split(telcom, test_size = .25)
Pythonで学ぶマーケティングのための機械学習

特徴量と目的変数を分離

データ型ごとに列名を分ける

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で学ぶマーケティングのための機械学習

¡Vamos a practicar!

Pythonで学ぶマーケティングのための機械学習

Preparing Video For Download...