Python을 활용한 고객 세분화
Karolis Urbonas
Head of Data Science, Amazon
세 가지 지표에 기반한 고객 행동 세분화:
RFM 값은 여러 방식으로 그룹화할 수 있습니다:
이 강의에서는 백분위수 기반 그룹화를 구현합니다.
백분위수 계산 절차:
8개의 CustomerID와 임의로 계산된 Spend 값이 있는 데이터입니다.
spend_quartiles = pd.qcut(data['Spend'], q=4, labels=range(1,5))data['Spend_Quartile'] = spend_quartilesdata.sort_values('Spend')
# 번호 라벨 생성 r_labels = list(range(4, 0, -1))# 분위수로 그룹 분할 recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels)# 새 열 생성 data['Recency_Quartile'] = recency_quartiles# 최근성 값을 오름차순 정렬 data.sort_values('Recency_Days')
보시다시피, 더 최근일수록 가치가 높으므로 분위수 라벨이 반대로 매겨집니다.
사용 사례에 따라 문자열 등 원하는 값으로 목록을 정의할 수 있습니다.
# 문자열 라벨 생성 r_labels = ['Active', 'Lapsed', 'Inactive', 'Churned']# 분위수로 그룹 분할 recency_quartiles = pd.qcut(data['Recency_Days'], q=4, labels=r_labels) # 새 열 생성 data['Recency_Quartile'] = recency_quartiles # 오름차순 정렬 data.sort_values('Recency_Days')
각 분위수에 사용자 지정 라벨이 할당됨
Python을 활용한 고객 세분화