본문 바로가기

DATA/Python

RFM 개념

1. RFM ( Recency, Frequency, Monetary ) 데이터 수집

  • Recency: 기준 시점부터 가장 최근 구매일이 며칠 전인지 
  • Frequency: 기준 기간 동안 상품을 구매한 횟수
  • Monetary: 기준 기간 동안 구매한 상품의 총금액

2. 고객을 세그먼트 화

PM이나 마케터는 고객 세그먼트에 따라 서로 다른 고객 관리 전략을 수립하고 적용해 볼 수 있음 

 

3. 등급

등급을 매기는 데에는 크게 세 가지 방법 -

- 각 등급마다 고객의 수가 비슷해지도록 하거나,

- 구간의 길이를 똑같이 나누거나,

- 아니면 임의로 구간을 설정

 

4. 세그먼트

등급을 N등급까지 세웠다면, **3 (RFM 에서 3개 -> 세제곱)을 하면 세그먼트 수가 나옴.

 

5. 전략

해당 세그먼트에 따라 전략 세운다

 

# 가중치

 

세그먼트가 너무 많아지면 오히려 전략 수립 시 무의미할 수 있어

가중치를 두고 고객지표를 체득한 뒤 가중 합을 구해 한번 더 RFM분석을 한다.

 

| 고객지표=wR​R+wF​F+wM​M

 

가중치는 도메인에 따라 RFM 중 다르게설정할 수 있다.(배달앱의 경우 RF를 M보다 높게 설정)

 

| 가중치 조건 

wR​>=0,

wF​>=0,

wM​>=0,

wR​+wF​+wM​=1

 

고객지표범위로 다시 세그먼트 생성 가능!

 

 

 

| 매출 기여도

전체 매출 대비 해당 세그먼트 고객의 매출 비율

가중치 세트를 적용했는데 고객 세그먼트가 뚜렷하게 분류되지 않았다면, 가중치를 조정하고 세그먼트를 재구성하는 게 좋음

 -> 매출 기여도를 통해 뚜렷함을 판단 

 

1. 기본 공식

중요 포인트

  • Recency의 경우 "값이 작을수록 최근에 구매했다"는 뜻이므로, 일반적으로 R을 역수(또는 점수화) 로 변환하여 다룰 때가 많습니다(예: 1~5 범위 등급화).
  • Frequency와 Monetary는 값이 클수록 좋은 방향이므로, 표준화(standardization)나 정규화(min-max scaling) 같은 스케일링 방법을 사용하거나, R과 동일하게 1~5 범위로 등급을 매겨 점수화합니다.
  • 이렇게 전처리된 R′,F′,M′ 값을 가중합(加重合)하여 최종 점수를 구한 뒤, 일정 기준(예: 4개 구간)으로 나누어 VIP, 골드, 실버, 브론즈와 같은 세그먼트로 분류합니다.

 


2. 예시

2.1. 가중치를 균등하게 적용한 경우

문제에서 처음 예시로 나온 “Recency : Frequency : Monetary = 1 : 1 : 1” (즉, 각각 1/3) 상황이라면 아래와 같이 계산합니다.

 

  • 이때 모든 지표를 똑같이 1/3씩 반영하므로, ‘현금 지출(=Monetary)’이 아주 중요한 업종이라면 VIP로 분류된 고객의 실제 매출 기여도가 생각보다 높게 나오지 않을 수도 있습니다.

2.2. Monetary 가중치를 높인 경우

가전제품처럼 한 번 구매 시 결제금액(Monetary)의 영향력이 큰 업종에서는 Monetary에 높은 가중치를 두는 것이 유리할 수 있습니다. 예시에서 “Recency : Frequency : Monetary = 0.2 : 0.2 : 0.6”과 같이 설정했다고 합시다.

  • 실제로 이렇게 계산하면 Monetary가 높은 고객의 최종 점수가 크게 올라가므로, VIP 등급에 해당하는 고객들의 매출 기여도가 눈에 띄게 높아지고, 다른 등급과의 매출 격차가 뚜렷해집니다.
728x90