RFM 세그먼트 구축

Python을 활용한 고객 세분화

Karolis Urbonas

Head of Data Science, Amazon

데이터

  • 이전에 생성한 데이터셋
  • 각 열의 사분위수를 계산하고 R, F, M으로 지정합니다.

rfm_data

Python을 활용한 고객 세분화

최근성 사분위수

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

Python을 활용한 고객 세분화

빈도·금액 사분위수

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)

Python을 활용한 고객 세분화

RFM 세그먼트와 점수 만들기

  • RFM 사분위수 값을 이어서 RFM_Segment 생성
  • RFM 사분위수 합으로 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)
Python을 활용한 고객 세분화

최종 결과

rfm_table

Python을 활용한 고객 세분화

RFM 세그먼트 구축 실습

Python을 활용한 고객 세분화

Preparing Video For Download...