이 글은 데이터리안 웹사이트에서도 보실 수 있습니다.
안녕하세요! 데이터 분석가 이보민입니다.
인하우스 데이터 분석가로 일을 하다보면 프로덕트 분석이나 비즈니스 분석을 하는 시간 이외에 여러 부서에서 데이터 요청을 받는데 시간을 많이 쓰기도 합니다. 특히 마케팅 부서와는 긴밀하게 협업하여 일을 하는 경우가 꽤 있는데요. 제가 속한 회사의 경우 마케팅팀에서 푸시, 메일링을 위해 특정 조건의 유저 리스트를 요청하는 경우가 종종 있습니다. 오늘은 이런 CRM(Customer Relationship Management)을 할 때 사용하는 기법 중 하나인 RFM 분석에 대해 알아보도록 하겠습니다.
푸시를 보낼 유저 리스트를 추출하는 방식은 여러가지가 있을 수 있는데요. 대표적으로 이런 방식들을 사용할 수 있습니다.
위에 나열한 방식 이외에도 산업군에 따라 비즈니스의 특성에 따라 또는 푸시, 메일링을 위해 사용하는 툴에 따라서 유저 타겟팅을 하는 방식은 천차만별일 수 있습니다. 정답이 따로 있는 것은 아니고요. 각각의 비즈니스에 알맞는 방법을 사용하면 되는데요. 오늘은 유저들의 행동 패턴을 통해 타겟팅을 하는 방식 중 가장 범용적으로 사용할 수 있고, 구매 유저 분류에 효과적인 RFM 분석 기법에 대해 알아보고 해당 기법을 이용한 유저군 분류(segmentation)를 어떻게 할 수 있는지 이야기 해보겠습니다.
이미지 출처: RFM analysis for Customer Segmentation
RFM의 개념은 간단합니다. 아래 세가지 단어의 약자를 따서 RFM이라고 부르는데요.
즉, 유저별로 얼마나 최근에, 얼마나 자주, 얼마나 많은 금액을 지출했는지에 따라 유저들의 분포를 확인 하거나 유저 그룹(또는 등급)을 나누어 분류 하는 분석 기법입니다. 구매 가능성이 높은 고객을 선정할 때 용이한 데이터 분석방법이라고 알려져 있고, 또 유저들의 평소 구매 패턴을 기준으로 분류를 진행하기 때문에 각 유저 그룹의 특성에 따라 차별화된 마케팅 메세지를 전달할 수 있는데요.
예를 들어 볼게요. 쿠팡과 같은 이커머스 플랫폼에서 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을 통한 유저 분류를 해보도록 하겠습니다. 어느 서비스에서 유저 구매내역으로 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 |
간단하게 유저군을 분류하기 위해 이렇게 기준을 세워볼게요.
위 기준을 적용하여 각 항목의 기준에 적합한 데이터는 1으로 표시하고 맞지 않는 데이터는 0이라고 표시해보도록 하겠습니다.
사용자 | 최근 구매일 | 총 구매 횟수 | 총 구매 금액(달러) |
---|---|---|---|
1 | 1 | 1 | 1 |
2 | 1 | 1 | 0 |
3 | 1 | 0 | 1 |
4 | 1 | 0 | 0 |
5 | 0 | 1 | 1 |
6 | 0 | 1 | 0 |
7 | 0 | 0 | 1 |
8 | 0 | 0 | 0 |
이제 모든 사용자들의 RFM 수치가 간단한 등급 값으로 변환이 되었습니다. 변환된 데이터들을 기준으로 사용자군을 임의로 나눠보면 이런식으로 분류를 할 수 있겠네요.
사용자 | 최근 구매일 | 총 구매 횟수 | 총 구매 금액(달러) | 사용자 분류 |
---|---|---|---|---|
1 | 1 | 1 | 1 | 서비스 충성도가 높은 고객 |
2 | 1 | 1 | 0 | |
3 | 1 | 0 | 1 | |
4 | 1 | 0 | 0 | 최근까지 접속은 있었지만, 구매는 많이 없는 고객 |
5 | 0 | 1 | 1 | 떠나간 VIP |
6 | 0 | 1 | 0 | |
7 | 0 | 0 | 1 | |
8 | 0 | 0 | 0 | 떠났지만 뼈아프진 않은 고객 |
지금은 이해가 쉽도록 몇몇 사용자군의 분류만 임의로 작성 해보았습니다만, 이렇게 변환 해놓은 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 기법을 적용한다고 하더라도 어느 서비스에서는 사용자 그룹을 3개로, 어느 곳에서는 사용자 그룹을 5개로 분류 할 수가 있는 겁니다.
예를 들어, 쿠팡 같이 생필품을 판매하는 플랫폼의 경우 한 달 이내 구매가 없을 때 이미 Recency 가 떨어지는 고객으로 분류할 수 있지만 29cm 같이 고급화 전략을 쓰고 있는 플랫폼에서는 Recency 만점 기준을 한 달으로 세우면 너무 타이트한 기준이 될 수 있습니다.
RFM은 단순하게 생각하면 서비스 내에서 구매를 한 사용자들을 분류하는 기법이지만, 조금 더 넓게 생각해보면 사용자를 간편하게 분류하기 위한 대표적인 아이디어이기도 합니다. ‘Recency, Frequency, Monetary를 기준으로 분류한다’는 것 이외에는 정해진 것이 아무것도 없기 때문에 막상 실제 서비스에 적용하려고 하면 난감하기도 한데요. 거꾸로 생각해보면 그만큼 우리 마음대로 이런저런 분석을 해볼 수도 있는 기법이기도 합니다.
분석을 할 때 필요하다면 Recency, Frequency, Monetary를 기본으로 하고 회원가입 일시 데이터까지 추가로 함께 확인 할 수도 있고요. 컨텐츠 소비 데이터를 Recency(얼마나 최근에 컨텐츠를 봤는지), Frequency(얼마나 많이 봤는지), Duration(얼마나 오래 봤는지)으로 나누어 비슷하게 사용자들의 등급을 분류해볼 수도 있습니다.
이렇게 RFM 분석 기법은 그 요소와 방식을 자유롭게 변형하여 분석에 적용하는 것이 얼마든지 가능하며, 추가적으로 각각의 그룹에 해당하는 사용자들의 특성을 분석하여 서비스에 충성도가 높은 사용자와 낮은 사용자들의 특성을 찾아내어 부스팅 전략을 세우는 등의 작업을 해볼 수도 있겠습니다.
Great! Thanks for your tips! mahjong