Data Analytics

RFM Segmentation (RFM 분석) 이란?

cheersHena 2022. 12. 2. 01:06
반응형

RFM Segmentation

 

RFM은 고객 세분화 모형 중 실무에서 자주 사용하는 모형으로

가치있는 고객을 추출해내어 이를 기준으로 고객을 분류하는 분석방법중 하나다.

구매 가능성이 높은 고객을 선정하기 위한 데이터분석방법으로서, 분석과정을 통해 데이터는 의미있는 정보로 전환된다. 

 

  • Recency - 거래의 최근성: 고객이 얼마나 최근에 구입했는가?
  • Frequency - 거래빈도: 고객이 얼마나 빈번하게 우리 상품을 구입했나?
  • Monetary - 거래규모: 고객이 구입했던 총 금액은 어느 정도인가?

 

1. Recency 최근성

> 최근성 관점에서는 2일전 구매한 B고객이 3일전 구매한 A고객보다 가치 있다.  

 

2.Frequency 행동 빈도 

 

 

> 행동빈도 관점에서 정해진 기간동안 3번 구매한 A고객이 1번 구매한 B고객보다 가치 있다.

 

3.Monetary 구매 금액

> 구매금액 관점에서는 특정기간 동안 더 많이 지출한 B고객이 가치있다. 

 

RFM 분석은 RFM 각 항목의 값을 기준으로 고객을 분류하는 방법론이다.

고객을 몇 단계로, 어떤 기준으로 분류하는지 상황에 따라 맞게 기준을 세운다.

 

보통 RFM으로 고객군을 나눌 때에는 우리 서비스에 충성도가 높은그룹과 낲은 그룹을 찾고, 리소스 투입시 비교적 성과가 좋을 것으로 기대되는 그룹과 그렇지 않은 그룹을 찾아서 분류된 고객군의 특성에 맞게 CRM전략을 세운다. 

 

RFM 직접 구해보기 (SQL) 

 

예시기준)

 

R: 6개월 이내 구매기록이 있으면 1점, 이외 0점 (기준일:2023/1/1) 

F: 5회 이상 구매시 1점, 미만 0 점

M: 10만원 이상 구매시 1점, 미만 0점 

 

Q. Recency 점수 계산

SELECT last_order_date
,CASE WHEN last_order_date >= '2022-06-01' THEN 1  --6개월전 날짜 
     ELSE 0 
     END 
     AS recency
FROM customer_order_table

 

Q.  Frequency 점수 계산

SELECT 
 cnt_orders
,IF(cnt_orders >= 5, 1, 0) AS frequency
FROM customer_order_table

 

Q. Recency 점수가 1점인 사용자, 0점인 사용자는 각각 몇 명인가

SELECT 
CASE WHEN last_order_date >= '2022-06-01' THEN 1  
     ELSE 0 
     END 
     AS recency
     ,COUNT(*) AS customers
FROM customer_order_table
GROUP BY recency

Result)

Q. Recency, Frequency 점수와 사용자수 계산 

SELECT 
      IF(last_order_date >= '2022-06-01', 1, 0) AS recency
      ,IF(cnt_orders >= 5, 1, 0) AS frequency
      ,COUNT(*) AS customers
FROM customer_order_table
GROUP BY recency,frequency

Result) 

 

Q.  각 고객의 Recency, Frequency,Monetary 점수 및 각각 몇명인지 계산

SELECT  
  IF(last_order_date >= '2022-06-01' ,1,0) AS recency
  ,IF(cnt_orders >= 5,1,0) AS frequency
  ,IF(sum_sales >= 100000,1,0) AS monetary
  ,COUNT(*) AS customers
FROM customer_order_table
GROUP BY recency,frequency,monetary

Result) 

반응형