본문 바로가기
Study (Data Science)/ML

RFM(Recency, Frequency, Monetary)

by 콜라찡 2022. 12. 14.

RFM(Recency, Frequency, Monetary)분석

가장 최근  
가장 빈번  
가장 많은 금액  
을 구매한 고객   을 기준으로 고객에게 등급을 부여하는 방식

 

데이터 준비

  1.  Sales 데이터 불러오기
  2. 총 log 고객수 : 52672  (unique ID count)
  3. Purchase 고객 (27682명)만 sales_data 변수로 지정

RFM dataframe 생성

  1. 열 생성 : 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
  1. RFM score 생성 
    1. 정규화 : R은 최소값일수록, F,M은 최댓값일수록 높은 값을 가지도록 normalization함
    2. Weight 부과 : 각 R, F, M당 weight를 주어 최종 RFM_Score 계산

등급 나누기

  1. qcut :  1-5등급, 40,25,20,14,1%로 나눔)
  2. 파이그래프 ; 등급별 특징 및 qcut 결과 검사 (등급이 제대로 나누어졌는지 검사)
  3. 시각화 ; 등급별 RFM mean값으로 분포 시각화

VIP 추출하기

  1. Class1 만 VIP로 구분하기
  2. 3차원으로 VIP시각화

전략 수립

 

 

 

728x90

댓글