[kaggle] 이커머스 고객 행동 로그 분석 part 1. (분석 목표 : 전환 과정의 pain-point 탐색 및 개선)
0. 분석 데이터 설명
해당 이커머스 데이터 분석은 kaggle 의 'eCommerce behavior data from multi category store' 데이터를 활용,
월 평균 285만 명의 Unique User 가 방문하는 미국 대형 이커머스에서 수집된 User_event_log (view, cart, purchase) 데이터를 분석하였습니다.
제공 데이터는, 2019년 10월 ~ 2020년 4월까지 총 7개월의 데이터 중 10월 데이터만을 활용,
MySQL, Python 을 활용하여,약 300만명의 개별 방문 고객의, 4500만건의 이벤트 로그를 분석하였습니다.
분석목표로는, (유입 ⮕ 탐색 ⮕ 구매) 로 이어지는 구매 패턴을 파악하고, 전환률 향상을 위한 액션 인사이트를 제안하는 것 을 목표로 두었습니다.
eCommerce behavior data from multi category store
eCommerce behavior data from multi category store
This dataset contains 285 million users' events from eCommerce website
www.kaggle.com
-
event_time : 이벤트 발생 시점 (UTC)
-
Event type : 유저 이벤트 로그 (view, cart, purchase)
-
Product ID : 상품 ID
-
category Code : 카테고리 코드 ('apperal.kid.shoes' 와 같이 최대 4단계 카테고리 체계 존재)
-
Brand : 상품 판매 브랜드 명 (samsung, apple, oppo, huawai, ... NULL (14%))
-
Product price : 해당 상품 가격 ($)
- user ID : 유저 고유 id 값
- User session ID : 유저 세션 고유 id 값
분석 기간은 약 1개월이며 (2024.10.24 ~ 현재) 분석 진행 과정은 아래와 같습니다.
분석 목표 :
(유입 ⮕ 탐색 ⮕ 구매) 로 이어지는 구매 패턴을 탐색해고 전환률을 높이기 위한 액션을 제안함.
분석 과정 :
1. 이커머스 EDA : 카테고리별 매출액 분석, 구매 퍼널 전환률 분석, 첫 구매까지 걸리는 시간 분석.
2. 즉시 구매 고객의 전환 여정 분석: 방문 1시간 이내 구매/이탈을 결정하는 전체 95% 의 고객의 전환과정 분석.
3. 장기 상호작용 고객의 전환 여정 분석 : 1시간 이상 ~ 최대 28일 이상 상호작용하는 장기 고객의 전환 과정 분석.
4. 크로스 셀링 전략 제안 : 고객 선호 브랜드에 따른 구매력 비교, 각 브랜드 구매자에 대한 크로스셀링안 제안.
아래는 먼저, 이커머스 EDA 를 통해 커머스 전반의 매출/전환 분석을 진행하였습니다.
0. 문제 상황 가정 - 해당 데이터는 'Walmart'의 데이터일 것이다.
저는 단순히 이를 '어떤 이커머스'로 가정하기보다, 해당 비지니스 상황을 더욱 구체화하여 살펴보기 위해서, 실제 미국 대형 유통 이커머스 중 전자제품 판매 비중이 높은 Wallmart 를 해당 로그데이터가 수집된 이커머스로 가정하였습니다.
Wallmart 의 경우, 이커머스 메인페이지, 상품 카테고리별 메인페이지, 상품 카테고리 추천 랭킹 페이지, 상품 상세페이지, Cart 페이지, 구매/결제 페이지로 구성되어 있습니다.
수집 데이터는 event_type 으로 view, cart, purchase 3개의 event 로그가 존재하는데, 이를 각각 Walmart 에 대입해, 상품 상세페이지 클릭(view), 카트 담기/찜 (cart), 최종 구매 확정 (purchase) 이후 각 이벤트 로그가 쌓이는것으로 가정했습니다.
1. 스마트폰 / 전자기기 / 가전 매출 90% 이상인 이커머스
해당 이커머스는 multi-category를 가지고 있으며, 각 category는 최대 level1~level3 까지 깊이로 세분화되어 있습니다. 이를 기록한 'category_code' 컬럼은 'appliances.environment.water_heater' 와 같이 각 단계별 '.' 구분자를 활용한 규칙으로 category 를 구분하고 있습니다.
총 125개의 세부 카테고리 중, 가장 마지막 카테고리명을 기준으로 매출액과, 고객의 커머스 방문 목적을 분석해보았습니다.
상품별 매출 비중과, 고객 첫 구매 상품(방문 목적) 매출 비중의 두 경우 모두, 70% 이상이 'Smartphone' 인 것을 확인할 수 있습니다. 이는, 해당 커머스의 주력 매출 상품이 'Smartphone' 이며, 고객들 역시 대부분 해당 커머스의 주력상품을 인지하고 있고, 이를 실제 구매할 목적으로 커머스를 방문하고있음을 의미합니다.
따라서 본 프로젝트에서는 모든 카테고리에 대한 전환 과정을 다루는 것 대신, 고객들이 처음 구매 목적으로 가장 많이 접하는, 'Smartphone' 카테고리에 중점을 두어 전환률 분석을 진행하였습니다.
2. Cart를 1회라도 활용한 고객들 중 60% 이상, 1개월 이내에 상품을 구매
유저의 구매까지의 행동 과정을 (view ⮕ cart ⮕ purchase) 분석하기 앞서, 해당 이커머스의 전환율을 정의했습니다.
해당 커머스는, 상품 단가가 높고, 구매주기가 긴 특징을 갖는 전자기기가 주력 상품으로, 확실한 구매 의사가 있는 고객이 유입될 가능성이 크며, 이를 최종 구매 전환으로 유도하는것이 커머스의 핵심 목표입니다. 따라서, 고객 유입 분석을 따로 진행한다고 가정했을때, 해당 프로젝트에서는 유입 고객들이 얼마나 실제 구매로 전환되는지, 즉, '구매 전환 고객 수 / 전체 유입 고객 수'를 전환률으로 두는것이 가장 바람직합니다.
좀 더 디테일하게 가정한다면, 기존 구매 고객이 구매 주기 이후 다시 구매하러 방문하는 경우까지 고려하여, '월 구매 고객 수 / 월 고유 방문객 수'를 전환률로 두고 지속 모니터링하는것이 장기적으로 바람직합니다.
- 전환률 정의 : 월 구매 고객 수 / 월 고유 방문 고객수 (MAU)
카테고리별 전환률을 먼저 살펴보면, 전자기기, 특히 'smartphone' 카테고리를 방문한 고객들이 실제 구매로 전환되는 비율이 12.3% 로 가장 높았습니다.
이는, 타 카테고리 평균 전환률(3.2%) 대비 4배 가까운 수치이며, 해당 원인으로는, '해당 이커머스에 스마트폰 구매의 분명한 목적성을 가진 고객들이 많이 방문해서.' , 또는, 'smartphone 판매에 특화된 차별점을 갖고 있는 이커머스라서.' 로 해당 원인을 추측할 수 있습니다.
한편, 구매 단계를 퍼널로 더욱 세분화해서 살펴보면, 일반적인 구매 과정을 아래와 같이 가정했을때, 구매의 단계별 전환률은 다음과 같습니다.
구매 퍼널(가정) : View_event (상품 상세페이지 방문) ⮕ Cart_event (카트 담기) ⮕ Purchase_event (최종 구매)
평균 결제 전환률 11.1% 중, 약 6.7%는 Cart 에 상품을 담은 이후 실제 구매로 전환된 고객이였고, 4.8%는 Cart 과정 없이 상품페이지에서 직접 구매한 유저였습니다.
이때, Cart 활용 이후 Purchase 로 전환되는 고객 비율이 약 68%로, Cart 활용 자체가 높은 구매의사를 반영하고 있다고 해석할 수 있습니다. 또한, Cart를 1번이라도 활용한 전적이 있는 유저들은, 첫 상품 클릭 이후 3일 이상 경과되더라도 높은 구매 전환률(평균 40% 이상)을 유지하는 것으로 나타났습니다.
<액션 제안>
따라서, (1) 구매 의사가 있는 고객들에게 더욱 Cart 활용을 장려하고, Cart 를 이용한 고객 대상으로 CRM 및 전환 마케팅 비용을 집중하는것이 전환률을 효율적으로 높일수 있는 방안이 될 수 있습니다.
반대로, (2) 상품 페이지 내에서 직접 구매하는 구매자의 니즈를 반영해서, 상품 상세페이지 내의 결제 편의성을 높이기 위한 추가적인UI/UX 분석을 진행할 필요도 있습니다.
3. 고객 행동 패턴 분석, 첫 방문 고객의 30% 는 10분 이내 첫 구매
본 행동 분석은 구매 고객과 이탈 고객 간 행동 패턴이 어떻게 다른가에 집중하여 분석을 진행했습니다.
먼저 간단하게, EDA 를 진행해보았습니다.
전자기기 상품은 고객별 1개 제품 구매(낱개 상품 구매)가 빈번하므로, 각 고객별 첫 구매까지만의 로그를 활용해, '<첫 구매에 성공한 고객 / 구매 없이 이탈한 고객>간의 행동패턴의 차이'를 비교해 보는것으로 문제를 축소했습니다. 이를 위해, 먼저 MySQL 을 활용해 아래와 같은 전처리를 진행했습니다.
< MySQL 전처리>
- 각 유저별 purchase 이벤트가 존재하는지 여부를 바탕으로, 구매 고객과 비구매 고객을 구분하는 column 생성.
- <구매 고객>은 '첫 접속 ~ 첫 구매 시간(첫 구매까지 걸린 시간)', <비구매 고객>은 '첫 접속 ~ 마지막 접속 시간(이탈까지 걸린 시간)' 내의 이벤트 필터링. 해당 이벤트 등장 패턴을 바탕으로 구매/이탈 고객 간 차이 분석.
3-1. 첫 구매 / 이탈까지 걸리는 시간 분석
가장 먼저, 고객들이 커머스 첫 접속 이후 구매 / 이탈을 결심하는데 걸리는 시간을 분석해봤습니다.
분석 기간이 1개월이므로, 관측 가능한 고객들의 첫 구매까지 걸리는 기간은 최소 1분에서 최대 30일입니다.
(첫 접속 이후 0분 이내 구매/이탈은 이상치로 판단하여 제거)
수집 고객 로그 내 첫 구매/이탈까지 걸리는 시간의 median 값은 약 18분(50%), 이후 24시간 동안은 구매 시간이 길어지는 만큼 고객들이 지수적으로 빠르게 이탈하는 모습을 보였습니다. (1시간 이내 구매결정 65%) 그리고 첫 구매까지 1일 이상 걸린 고객들은, 이후에 얼마나 시간이 지나더라도 안정적으로 구매율이 유지되는 모습 (첫 구매까지 23일 미만 95%)을 보였습니다.
저는 이를 다음 두 그룹의 이분산성으로 해석했습니다.
1. 즉시 구매 고객 : 이미 상품 구매 결심을 마친 상태로 방문, 가격/조건 비교 후 빠르게 구매를 완료하는 고객.
2. 장기 상호작용 고객 : 관심/구매 의지는 있지만 신중하게 고민하며, 구매까지 장기적인 상호작용을 거치는 고객.
그리고 이를 바탕으로, 즉시 구매 고객,장기 상호작용 고객 각각에게 '구매시 중요하게 고려되는 대상은 무엇인지, 구매자의 상호작용 내 유의미한 인사이트가 존재하는지', 차후에 분석을 진행해보았습니다. (part2, part3에 다룰 내용)
part1 결론)
Part1 부분은, MySQL을 활용해 간단하게 가설별로 뽑아본 인사이트, 전처리 과정에서 발견한 인사이트들을 중심으로 정리하고,
이것을 python을 활용하여 검증, 시각화하는데 중점을 뒀습니다.
Part2, Part3 에서는 EDA 과정에서 발견한 인사이트를 중심으로 즉시 구매 고객,장기 상호작용 고객 의 전환에 있어 각각 중요한 요소들을 뽑아보고, 이를 바탕으로 해당 고객들의 전환률을 높일 수 있는 커머스 액션을 제안하는 방식으로 분석을 진행했으며, Part3에서는 해당 평균 구매주기가 긴 커머스 고객들 중 고객 가치가 높은 고객을 찾고, 이를 중심으로 크로스셀링을 제안하는 방식으로 진행했습니다.
여러 분석 도서 및 median, linkedin 의 접근법을 참고하여 분석을 진행했으나 아직 부족한점이 많지만 읽어주셔서 너무 감사합니다.