Xây dựng phân khúc RFM

Phân khúc khách hàng bằng Python

Karolis Urbonas

Head of Data Science, Amazon

Dữ liệu

  • Bộ dữ liệu đã tạo trước đó
  • Tính tứ phân vị cho từng cột và đặt tên R, F, M

rfm_data

Phân khúc khách hàng bằng Python

Tứ phân vị Recency

r_labels = range(4, 0, -1)

r_quartiles = pd.qcut(datamart['Recency'], 4, labels = r_labels)
datamart = datamart.assign(R = r_quartiles.values)

r-value

Phân khúc khách hàng bằng Python

Tứ phân vị Frequency và Monetary

f_labels = range(1,5)
m_labels = range(1,5)

f_quartiles = pd.qcut(datamart['Frequency'], 4, labels = f_labels) m_quartiles = pd.qcut(datamart['MonetaryValue'], 4, labels = m_labels)
datamart = datamart.assign(F = f_quartiles.values) datamart = datamart.assign(M = m_quartiles.values)

Phân khúc khách hàng bằng Python

Tạo phân khúc và điểm RFM

  • Nối giá trị tứ phân vị RFM vào RFM_Segment
  • Cộng các tứ phân vị RFM thành RFM_Score
def join_rfm(x): return str(x['R']) + str(x['F']) + str(x['M'])

datamart['RFM_Segment'] = datamart.apply(join_rfm, axis=1)
datamart['RFM_Score'] = datamart[['R','F','M']].sum(axis=1)
Phân khúc khách hàng bằng Python

Kết quả cuối

rfm_table

Phân khúc khách hàng bằng Python

Thực hành xây dựng phân khúc RFM

Phân khúc khách hàng bằng Python

Preparing Video For Download...