RFMセグメントの分析

Pythonで学ぶカスタマーセグメンテーション

Karolis Urbonas

Head of Data Science, Amazon

最大のRFMセグメント

datamart.groupby('RFM_Segment').size().sort_values(ascending=False)[:10]

top_rfm_segments

Pythonで学ぶカスタマーセグメンテーション

RFMセグメントでのフィルタリング

  • 最下位のRFMセグメント「111」を選び、先頭5行を表示
datamart[datamart['RFM_Segment']=='111'][:5]

top-111-segments

Pythonで学ぶカスタマーセグメンテーション

RFMスコア別の要約指標

datamart.groupby('RFM_Score').agg({
    'Recency': 'mean',
    'Frequency': 'mean',
    'MonetaryValue': ['mean', 'count'] })/
    .round(1)

Pythonで学ぶカスタマーセグメンテーション

名前付きセグメントへの分類

RFMスコアで顧客をGoldSilverBronzeに分類します。

def segment_me(df):
    if df['RFM_Score'] >= 9:
        return 'Gold'
    elif (df['RFM_Score'] >= 5) and (df['RFM_Score'] < 9):
        return 'Silver'
    else:
        return 'Bronze'

datamart['General_Segment'] = datamart.apply(segment_me, axis=1)
datamart.groupby('General_Segment').agg({ 'Recency': 'mean', 'Frequency': 'mean', 'MonetaryValue': ['mean', 'count']}).round(1)
Pythonで学ぶカスタマーセグメンテーション

新しいセグメントとその価値

Pythonで学ぶカスタマーセグメンテーション

カスタムセグメントを作成して練習

Pythonで学ぶカスタマーセグメンテーション

Preparing Video For Download...