세미나 광고 이미지
  • 데이터 분석

RFM 고객 세분화 분석이란 무엇일까요

세미나 광고 이미지
세미나 광고 이미지
 
 
안녕하세요! 데이터 분석가 이보민입니다.
인하우스 데이터 분석가로 일을 하다 보면 프로덕트 분석이나 비즈니스 분석을 하는 시간 이외에 여러 부서에서 데이터 요청을 받는데 시간을 많이 쓰기도 합니다. 특히 마케팅 부서와는 긴밀하게 협업하여 일을 하는 경우가 꽤 있는데요. 제가 속한 회사의 경우 마케팅팀에서 푸시, 메일링을 위해 특정 조건의 사용자 리스트를 요청하는 경우가 종종 있습니다. 오늘은 이런 CRM(Customer Relationship Management)을 할 때 사용하는 기법 중 하나인 RFM 고객 세분화 분석에 대해 알아보도록 하겠습니다.
푸시를 보낼 사용자 리스트를 추출하는 방식은 여러 가지가 있을 수 있는데요. 대표적으로 이런 방식들을 사용할 수 있습니다.
 
  • 사용자들의 성별, 나이 등의 인구통계학적 정보로 리스트를 추출하는 방식
  • 사용자의 행동 패턴을 통해 리스트를 추출하는 방식
  • 서비스 내에 정해진 특정 조건에 의해 사용자군을 나누어 리스트를 추출하는 방식 등
 
위에 나열한 방식 이외에도 산업군에 따라 비즈니스의 특성에 따라 또는 푸시, 메일링을 위해 사용하는 툴에 따라서 사용자 타겟팅을 하는 방식은 천차만별일 수 있습니다. 정답이 따로 있는 것은 아니고요. 각각의 비즈니스에 알맞는 방법을 사용하면 되는데요. 오늘은 사용자들의 행동 패턴을 통해 타겟팅을 하는 방식 중 가장 범용적으로 사용할 수 있고, 구매 사용자 분류에 효과적인 RFM 분석 기법에 대해 알아보고 해당 기법을 이용한 사용자 분류(segmentation)를 어떻게 할 수 있는지 이야기해 보겠습니다.
 

RFM 분석이란?

RFM의 개념은 비교적 간단합니다. 아래 세 가지 단어의 약자를 따서 RFM이라고 부르는데요.
 
Recency : 얼마나 최근에 구매했는가 Frequency : 얼마나 자주 구매했는가 Monetary : 얼마나 많은 금액을 지출했는가
 
즉, 사용자별로 얼마나 최근에, 얼마나 자주, 얼마나 많은 금액을 지출했는지에 따라 사용자들의 분포를 확인하거나 사용자 그룹(또는 등급)을 나누어 분류하는 분석 기법입니다. 구매 가능성이 높은 고객을 선정할 때 용이한 데이터 분석방법이라고 알려져 있고, 또 사용자들의 평소 구매 패턴을 기준으로 분류를 진행하기 때문에 각 사용자 그룹의 특성에 따라 차별화된 마케팅 메시지를 전달할 수 있는데요.
예를 들어 볼게요. 쿠팡과 같은 이커머스 플랫폼에서 RFM 고객 세분화 분석을 해본다고 생각을 해보겠습니다. 사용자 A와 B의 구매 기록을 체크해 보았을 때 아래와 같이 표현된다고 할 때, A와 B 중에서 누가 더 해당 서비스에 충성 고객이라고 할 수 있을까요?
 
사용자
최근 구매일
총 구매 횟수
총 구매 금액
A
3개월 전
28
1,280,000
B
2년 전
1
50,000
 
Recency, Frequency, Monetary 중 어느 것을 보더라도 B보다는 A가 해당 서비스에 충성도가 높다고 생각할 수 있을 것 같습니다. 여러분은 RFM의 기본 개념을 완벽히 이해하셨습니다. 참 쉽죠? 사용자들을 이런 식으로 분류할 수 있게 되면 사용자들마다 각각 다르게 리워드를 주면서 서비스를 더 잘 이용할 수 있게 도움을 줄 수가 있는데요.
예를 들어 A 고객은 이미 최근에도 잘 구매를 진행한 사용자이기 때문에 A 사용자는 그냥 두고 B 사용자에게 할인 쿠폰을 보내줄 수도 있고요. 또는 반대로 이미 A 사용자가 서비스를 잘 사용하고 있기 때문에 더 잘 사용하라는 의미에서 VIP 고객을 위한 할인 쿠폰을 보내줄 수도 있겠죠. 이런 식으로 RFM을 사용하면 사용자의 특성별로 각기 다른 정책을 적용하고 서비스를 더 잘 사용하게끔 유도하는 전략을 세워볼 수가 있습니다.
 

RFM segmentation 직접 해봅시다

개념은 간단하게 알아봤으니 예시 데이터를 통해서 한번 직접 RFM을 통한 사용자 분류를 해보도록 하겠습니다. 어느 서비스에서 사용자 구매내역으로 RFM 수치를 확인해 봤더니 아래와 같이 데이터를 확인할 수 있었다고 가정해 봅시다. 이때 구매내역은 기간 제한 없이 서비스가 시작된 이래로 전체 기간 동안의 데이터라고 생각해 볼게요.
 
사용자
최근 구매일
총 구매 횟수
총 구매 금액
1
2020-12-28
12
903
2
2020-12-26
7
462
3
2020-12-14
1
943
4
2020-12-03
2
120
5
2020-11-17
6
623
6
2020-11-08
9
135
7
2020-10-21
2
801
8
2020-10-01
1
13
 
간단하게 사용자군을 분류하기 위해 이렇게 기준을 세워볼게요.
 
  • Recency : 2021-01-01일 기준으로 최근 한 달 이내에 결제되었는가
  • Frequency : 3회 이상 주문하였는가
  • Monetary : 500달러 이상 주문하였는가
 
각 컬럼에는 이렇게 값을 기록합니다.
 
  • Recency : 2021-01-01일 기준으로 한 달 이내에 구매 기록이 있으면 ‘recent’ 이외는 ‘past’
  • Frequency : 3회 이상 구매시 ‘high’, 3회 미만 구매시 ‘low’
  • Monetary : 500달러 이상 구매시 ‘high’, 500달러 미만 구매시 ‘low’
 
사용자
recency
frequency
monetary
1
recent
high
high
2
recent
high
low
3
recent
low
high
4
recent
low
low
5
past
high
high
6
past
high
low
7
past
low
high
8
past
low
low
 
이제 모든 사용자들의 RFM 수치가 간단한 값으로 변환이 되었습니다. 변환된 데이터들을 기준으로 사용자군을 임의로 나눠보면 이런 식으로 분류를 할 수 있겠네요.
 
사용자
recency
frequency
monetary
사용자 분류
1
recent
high
high
서비스 충성도가 높은 고객
2
recent
high
low
3
recent
low
high
4
recent
low
low
최근까지 접속은 있었지만 구매는 많이 없는 고객
5
past
high
high
떠나간 VIP
6
past
high
low
7
past
low
high
8
past
low
low
떠났지만 뼈 아프진 않은 고객
 
지금은 이해가 쉽도록 몇몇 사용자군의 분류만 임의로 작성해 보았습니다만, 이렇게 변환해놓은 RFM 리스트를 이용하면 다양한 시도를 해볼 수 있습니다.
예를 들어, 최근에 서비스에서 구매를 하지 않은 사용자들을 깨우기 위한 마케팅 캠페인을 기획하고 있다고 가정해 볼게요. 최근에 서비스에서 구매를 진행하지 않은 사용자 중 구매 횟수가 높았거나 구매 금액이 높았던 사용자들을 하나의 그룹으로 묶어 할인 쿠폰을 보내고 싶다면 어떤 사용자들을 뽑아서 전달하면 될까요? 맞습니다. 5, 6, 7번 사용자들을 뽑아서 전달하면 되겠죠. 이런 식으로 상황과 목적에 맞게 사용자 그룹을 뽑아서 사용하면 되겠습니다.
 

실제 서비스에 적용해볼까요?

 
사용자
최근 구매일
총 구매 횟수
총 구매 금액
A
3개월 전
28
1,280,000
B
2년 전
1
50,000
 
위에서 이런 데이터를 보았죠. 실제 서비스의 데이터도 이렇게 명료하고 간단하면 좋을 텐데 말이죠. 이렇게 사용자가 몇 명 안되고 눈으로 명확하게 확인이 가능하다면 사용자군을 나누기가 정말 쉽겠습니다. 그럼 이번에는 이 데이터를 한번 함께 볼까요.
 
사용자
최근 구매일
총 구매 횟수
총 구매 금액
C
1개월 전
1
50,000
D
6개월 전
300
3,000,000
E
3년 전
2
5,000,000
 
C, D, E 사용자 중에서 서비스에 가장 충성도가 있는 사용자 또는 비즈니스 입장에서 가치가 있는 사용자는 누구일까요? 이제 조금 어려우실 수도 있을 겁니다.
C 사용자는 가장 최근에 구매가 일어났지만 구매 횟수는 1회 밖에 되지 않습니다. D 사용자는 최근 6개월 동안은 구매가 없었지만 그전에 구매했던 내역을 보면 300회나 구매한 내역이 있습니다. 다만 전체 구매금액은 300만 원으로 1회당 구매 금액으로는 그렇게 높지 않네요. 마지막으로 E 사용자는 3년 동안이나 구매가 없었고 구매 횟수도 2회밖에 되지 않지만 전체 구매액이 500만 원으로 1회당 구매 금액이 매우 높았던 사용자라고 할 수 있겠습니다.
그렇다면 이 사용자들은 어떻게 분류하면 잘 분류했다고 말할 수 있을까요?
 

실전에서 RFM 적용 시 고려할 점

사실 RFM 고객 세분화 분석에서 ‘반드시 이렇게 해야 한다’고 정해진 것은 아무것도 없습니다. 비즈니스의 성격에 따라, 상황에 따라 알맞은 기준을 세우면 됩니다. 대표적으로 서비스마다 다르게 적용이 가능한 요소들은 아래와 같습니다,
 
  • Recency, Frequency, Monetary를 각각 몇 단계로 나눌 것인가
  • Frequency, Monetary를 집계하는 기간을 어떻게 설정할 것인가
 
분석하는 서비스에 따라 위와 같은 항목에서 설정되는 값이 모두 다를 수 있기 때문에 똑같이 RFM 기법을 적용한다고 하더라도 어느 서비스에서는 사용자 그룹을 3개로, 어느 곳에서는 사용자 그룹을 5개로 분류할 수가 있는 겁니다.
예를 들어, 쿠팡같이 생필품을 판매하는 플랫폼의 경우 한 달 이내 구매가 없을 때 이미 Recency 가 떨어지는 고객으로 분류할 수 있지만 29cm같이 고급화 전략을 쓰고 있는 플랫폼에서는 Recency 구분 기준을 한 달으로 세우면 너무 타이트한 기준이 될 수 있습니다.
 

더 생각해 보기

RFM은 단순하게 생각하면 서비스 내에서 구매를 한 사용자들을 분류하는 기법이지만, 조금 더 넓게 생각해 보면 사용자를 간편하게 분류하기 위한 대표적인 아이디어이기도 합니다. ‘Recency, Frequency, Monetary를 기준으로 분류한다’는 것 이외에는 정해진 것이 아무것도 없기 때문에 막상 실제 서비스에 적용하려고 하면 난감하기도 한데요. 거꾸로 생각해 보면 그만큼 우리 마음대로 이런저런 분석을 해볼 수도 있는 기법이기도 합니다.
분석을 할 때 필요하다면 Recency, Frequency, Monetary를 기본으로 하고 회원가입 일시 데이터까지 추가로 함께 확인할 수도 있고요. 콘텐츠 소비 데이터를 Recency(얼마나 최근에 콘텐츠를 봤는지), Frequency(얼마나 많이 봤는지), Duration(얼마나 오래 봤는지)으로 나누어 비슷하게 사용자들의 등급을 분류해 볼 수도 있습니다.
이렇게 RFM 고객 세분화 분석은 그 요소와 방식을 자유롭게 변형하여 분석에 적용하는 것이 얼마든지 가능합니다. 추가적으로 각각의 그룹에 해당하는 사용자들의 특성을 분석하여 서비스에 충성도가 높은 사용자가 특별히 많이 방문한 페이지, 많이 사용한 기능을 찾아내어 그 페이지 또는 기능을 일반 사용자들이 많이 사용하도록 유도하는 등의 작업을 해볼 수도 있겠습니다.
 

참고자료

이보민데이터 분석가

채용 플랫폼 잡플래닛에서 데이터 분석가로 일했습니다. 지금은 데이터리안에서 마케터 겸 데이터 분석가로 일하고 있습니다.

함께 읽어보면 좋은 글

주식회사 데이터리안