分析 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...