본 프로젝트는 E-commerce 데이터를 기반으로
고객 행동을 AARRR 프레임워크에 따라 분석하고, 각 단계별 지표를 정의하여 실제 고객 흐름과 전환을 수치적으로 파악한다.
분석 과정은 Pandas, Matplotlib, Seaborn을 활용한 Python 기반 분석으로 진행되었으며, 고객 유입부터 수익 창출까지의 흐름을 시각화하고 지표화함으로써 마케팅 및 고객 관리 전략 수립의 기반을 마련하는 것을 목표로 한다.
🛠️ Tech Stack: Python (pandas, numpy, matplotlib, seaborn), Jupyter Notebook
📂 데이터 출처
UCI Machine Learning Repository (Online Retail Dataset): 2009년 12월 1일부터 2011년 12월 9일까지, 영국 기반 온라인 리테일 기업의 거래 데이터를 수집한 데이터셋
| 주요 피처 | 설명 | 파생 피처 | 설명 | |
|---|---|---|---|---|
InvoiceNo | 거래 번호 | Total | 총 구매 금액 = Quantity × UnitPrice | |
StockCode | 상품 코드 | InvoiceMonth | 월 단위로 변환된 구매 시점 | |
Description | 상품 설명 | OrderQuarter | 분기 단위로 변환된 구매 시점 | |
Quantity | 구매 수량 | CohortQuarter | 고객의 첫 구매 분기 | |
InvoiceDate | 구매 일시 | CohortIndex | 첫 구매 이후 경과 분기 수 | |
UnitPrice | 단가 | Customer Lifespan (days) | 마지막 구매일 – 첫 구매일 + 1일 | |
Customer ID | 고객 식별 ID | AverageAmount | 평균 구매 금액 | |
Country | 국가명 | AvgFrequency | 구매 빈도 (일 단위) | |
| - | - | CLV | 고객 생애 가치 (평균금액 × 빈도 × 유지기간) |
AARRR은 고객의 Acquisition → Activation → Retention → Revenue → Referral의 5단계를 정의한 프레임워크이며, 퍼널 구조로 해석하여 각 단계별 전환율 분석에 활용할 수 있다.
AARRR 프레임워크의 다섯 번째 단계인 Referral(추천)은 본 데이터셋 특성상 직접적으로 측정할 수 있는 변수가 존재하지 않아 Acquisition, Activation, Retention, Revenue 네 가지 단계에 집중하여 분석을 수행하였다.
| 단계 | 분석 내용 | 주요 로직 | |
|---|---|---|---|
| 1 | 데이터 로드 및 전처리 | 파생 변수 생성 및 결측치 제거 | dropna(), Quantity * UnitPrice, dt.to_period() 등 |
| ↓ | |||
| 2 | Acquisition | 고객 최초 유입 시점 파악 | min(InvoiceDate) by Customer |
| ↓ | |||
| 3 | Activation | 첫 구매 후 £50 이상 지출 여부 | 구매금액 기준 필터링 및 활성화율 계산 |
| ↓ | |||
| 4 | Retention (1) | 분기별 재구매율 분석 | 코호트 분석 (Cohort Index 기반) |
| ↓ | |||
| 5 | Retention (2) | 평균 구매 수량 분석 | groupby + mean + 히트맵 시각화 |
| ↓ | |||
| 6 | Revenue (1) | 월별 고객당 평균 수익 (ARPU) | groupby + mean + Line plot |
| ↓ | |||
| 7 | Revenue (2) | 고객 생애가치 (CLV) 계산 | 평균 구매금액 × 빈도 × 유지기간 |
✓ 세그먼트 결과:
Q1/2010 유지율 최고: 61.74%Q4/2010 초기 유지율 최저: 21.30%Q1/2011 초기 유지율 양호(42.26%)이나 이후 유지율 감소전체 고객의 97%가 초기 활성화 조건을 만족하지만, CLV 기준으로는 상위 1% 고객이 대부분의 수익을 창출한다는 것을 확인하였다.
유지율이 낮은 구간은 초기 유입 이후 경험이 미흡했을 가능성을 생각해 볼 수 있었고, 이를 개선하여 이탈 전환율 감소시키는 것이 필요하다는 것을 알게 되었다.
구매수량 증가는 단순히 유지율이 증가한 것 이상의 적극적인 활동 신호가 될 수 있다는 사실을 알게 되었다.
단발성 또는 낮은 CLV 고객 다수 존재하기 때문에 첫 구매 경험을 개선하고, 고액 지출 고객을 집중적으로 관리하는 전략이 적절하다고 판단할 수 있다.
고객 ID가 포함된 데이터셋으로 고객 식별이 가능했기 때문에 분석 신뢰도를 높일 수 있었으며, 실제 프로젝트에서 활용 가능한 분석 구조를 학습하였다.
AARRR 프레임워크의 단계를 각각 따로가 아니라 하나의 흐름으로 이해하고 관리해야 수익성을 비롯한 비즈니스 성과를 높일 수 있을 것이라는 사실을 체감하였다.
각 단계마다 지표를 수집하고 비교함으로써 흐름을 파악하고 설득력 있는 분석 스토리를 구성하는 훈련이 되었다.
분석의 목적에 따라 각 단계마다 어떤 지표를 유의해서 살펴봐야 할지를 판단하는 것이 여전히 가장 어려운 과제라고 생각한다. 꾸준히 고민하고 공부해 나가야겠다.
또한, 시각화 과정에서 Tableau 등의 시각화 도구의 사용을 자유롭게 사용할 수 있도록 연습하는 것이 필요함을 느꼈다. 자신이 출력한 결과를 한참 들여다보아야 겨우 이해하고 설명할 수 있다면 분석의 신뢰도를 보장할 수 없을 것이다. 데이터에 대한 이해도가 각기 다른 비기술자를 상대로도 분석 결과를 직관적으로 전달할 수 있는 능력이 중요하다는 것을 깨달았다.
시각화 결과를 해석하고, 인사이트를 문서화하는 것을 꾸준하게 실천하면서 설명 역량을 기를 것이다.
본 프로젝트는 고객 행동 데이터를 AARRR 프레임워크에 맞추어 체계적으로 분석하고, 각 단계별 사용자 행동 흐름을 정량화하여 고객 행동 흐름을 해석하는 데 초점을 두었다.