RFM(Recency, Frequency, Monetary)분석
가장 최근
가장 빈번
가장 많은 금액
을 구매한 고객 을 기준으로 고객에게 등급을 부여하는 방식
데이터 준비
- Sales 데이터 불러오기
- 총 log 고객수 : 52672 (unique ID count)
- Purchase 고객 (27682명)만 sales_data 변수로 지정
RFM dataframe 생성
- 열 생성 : RFM으로 사용할 columns 생성 후 RFM_data 변수로 지정
RFM_data = sales_data.groupby(['ID']).agg({'Interval':'min','ID': 'count', 'Payment': 'sum'})
- 구매 고객 중 RFM 데이터 사용 가능한 고객수 : 5267명
- R : ID별 오늘 - 접속시간
- F : ID별 로그인 횟수 count
- M : ID별 결제액 sum
- RFM score 생성
- 정규화 : R은 최소값일수록, F,M은 최댓값일수록 높은 값을 가지도록 normalization함
- Weight 부과 : 각 R, F, M당 weight를 주어 최종 RFM_Score 계산
등급 나누기
- qcut : 1-5등급, 40,25,20,14,1%로 나눔)
- 파이그래프 ; 등급별 특징 및 qcut 결과 검사 (등급이 제대로 나누어졌는지 검사)
- 시각화 ; 등급별 RFM mean값으로 분포 시각화
VIP 추출하기
- Class1 만 VIP로 구분하기
- 3차원으로 VIP시각화
전략 수립
728x90
'Study (Data Science) > ML' 카테고리의 다른 글
분류성능평가지표 : F1-score , Accuracy, ROC curve, AUC curve (0) | 2023.02.20 |
---|---|
나이브 베이즈 이론 연습문제 (0) | 2023.02.20 |
EDA 노트 (0) | 2022.12.14 |
이미지처리 Basic (0) | 2022.12.12 |
상관계수, 경사하강법, 손실함수, RMSE, 경사하강법, 선형회귀 (0) | 2022.12.09 |
댓글