1. RFM이란?
Recency : 고객별로 얼마나 최근에 구매했는지
Frequency : 고객별로 얼마나 자주 구매했는지
Montary : 고객별로 얼마나 많은 금액을 지출했는지
위의 3가지 조건을 합쳐서 RFM이라 하며, 고객의 분포를 확인하여 그룹(등급)을 나누어 분류하는 기법입니다.
저희는 위의 3가지 조건에 맞는 값들을 찾아내고 계산하여 등급을 나누어 주었습니다.
하지만 저희는 Montary를 계산 하기 위한 가격이 존재하지 않았습니다. 그래서 저희는 고객이 주문한 전체 상품 수로 대체하여 계산해주었습니다.
2. KMeans를 사용하여 점수 기반으로 등급 나누기
우선 KMeans를 몇 개로 나눌 것인지에 대해 실루엣 계수를 사용하여 최적의 클러스터 수를 선택해보았습니다.
그 결과, 4개로 나누는 것이 제일 높은 것으로 확인 되었으나, 4개로 나누기에는 너무나 적은 등급이였기에 다음으로 좋은 수인 6으로 설정해주었습니다.
6개로 나눈 결과 점수의 범위가 설정 되었습니다.
그래서 저희는 각 등급을 (1. VIP, 2. 최우수, 3. 우수, 4. 잠재 우수, 5. 일반 고객, 6. 이탈 위험) 설정해주었습니다.
그리고 각 등급의 비율을 확인 해본 결과 일반 고객 등급이 46%로 제일 많은 것으로 확인 되었습니다. 그리고 이탈 위험 고객들이 20%로 꽤나 많은 고객들이 있는 것으로도 확인 되었습니다.
3. 등급별 데이터 탐색
1. 등급별 가장 많이 주문된 중분류 상품은?
등급별로 가장 많이 주문한 중분류 상품은 공통적으로 Fresh Fruits 상품이 제일 많이 확인 되었습니다. 아마도 식료품의 구매량이 등급에 상관없이 많이 주문 되는 것입니다.
그리고 등급별로 많이 주문된 상품 확인 해본 결과 물품 중 차이점 또한 존재하였습니다.
VIP는 분유 품목 구매가 많이 있으며, 최우수와 우수 등급은 빵 구매 그리고 이탈 위험 등급에만 soft drinks, package produce 물품이 확인 되었습니다.
즉, VIP등급에는 자녀가 있으신 부모세대가 주로 분포하는 것으로 판단되고 이탈 위험 등급은 음료 상품을 대량 구매했거나 행사로 인해 잠깐 사고 나간 것으로 판단됩니다.
하지만, 이런 해석도 정확하지 않는 것이 있었습니다. 물품을 Top10으로만 확인을 하여 이러한 차이점이 보이는 것이지 범위를 더 크게 하면 품목은 공통일 수도 있다는 생각 또한 해보게 되었습니다.
2. 등급별 가장 많이 주문하는 요일과 시간대
이탈 위험 등급을 제외한 나머지 등급은 주로 일요일, 월요일 오전 9시~16시 까지가 가장 활발하지만, 이탈 위험 고객은 토요일 10~16시 까지도 높은 활성화를 보였습니다.
3. 등급별 재구매까지 걸리는 기간
첫 구매 제외 후 이탈 위험 고객의 재구매 빈도는 매우 적은 것으로 확인 되었습니다. 그리고 우수 고객 이상 부터는 확실히 재구매 주기가 짧은 것 또한 확인 되었습니다.
즉, 이탈 위험 고객은 첫 주문 이후로 구매를 안하는 것으로 확인이 되었습니다.
아마 제 생각으로는 이탈 위험 고객을 대상으로 마케팅을 하면 잠깐은 돌아올 수 있으나 또 바로 나갈 것으로 추측됩니다.
그리고 당연하게도 고객의 등급이 높아질 수록 재구매율이 올라가는 것 또한 확인 되었습니다.
4. 등급별 주문 시 평균 장바구니 물품 수
등급 별로 주문 시 담는 물품의 개수가 점점 증가하는 것을 확인하였습니다.
그리고 등급별로 장바구니 순서에 따른 재구매율 또한 확인 해본 결과 모두 비슷하게도 우하향 그래프를 출력하는 것을 확인 할 수 있었습니다.
즉, 모든 등급은 첫 번째로 넣는 상품일 수록 재구매를 할 확률이 올라간다는 것입니다.
4. 아쉬웠던 점...
해당 프로젝트를 하면서 코멘트를 들었습니다. 우선 너무 당연한 값들만 존재한다는 것과 다른 이상치에 대한 값을 찾으라는 것.
-> 하지만 이상치를 찾으려 하였으나 문제는 해당 데이터가 너무 깨끗하다는 것이였습니다.
그리고 날짜 데이터가 존재하지 않아 MAU 계산과 RFM등급이 월별로 변화하는 그래프를 시각화를 하지 못했다는 점들이 매우 아쉬웠습니다.
중요한 Feature를 생성하고 머신러닝을 이용해 재구매 예측을 해보는 작업은 다음 블로그에서 소개하도록 하겠습니다.
이상으로 RFM을 통해 등급을 나누어 분석한 내용을 마치겠습니다.
데이터 출처 : https://www.kaggle.com/datasets/psparks/instacart-market-basket-analysis
'Project > Machine Learning' 카테고리의 다른 글
Project - Instacart 데이터 물품 재구매 예측하기(ML) (0) | 2024.11.20 |
---|---|
Project - Instacart 데이터 물품 재구매 예측하기 (0) | 2024.11.18 |
[Zero-base] 최동원 선수 연봉 예측하기 - 보충 (1) | 2024.10.29 |
[Zero-base] 최동원 선수 연봉 예측하기 - 3 (1) | 2024.10.21 |
[Zero-base] 최동원 선수 연봉 예측하기 - 2 (0) | 2024.10.21 |