이커머스/리테일 데이터 분석¶
산업 특성¶
이커머스는 모든 고객 행동이 데이터로 기록되는 유일한 산업이다. 클릭, 조회, 장바구니, 구매, 반품까지 전 과정이 추적 가능하다.
주요 특성: - 계절성이 매우 강함 (명절, 블랙프라이데이, 11.11) - 재고 리스크와 기회비용이 공존 - 물류비가 수익성을 결정 - 경쟁사 가격에 민감하게 반응 - 고객 획득 비용(CAC)이 지속 상승 추세
데이터 환경:
+------------------+ +------------------+ +------------------+
| 고객 행동 | | 거래 데이터 | | 운영 데이터 |
+------------------+ +------------------+ +------------------+
| - 페이지뷰 | | - 주문 | | - 재고 |
| - 클릭 | | - 결제 | | - 물류 |
| - 검색어 | | - 반품 | | - CS 접수 |
| - 체류 시간 | | - 취소 | | - 배송 상태 |
+------------------+ +------------------+ +------------------+
핵심 문제¶
1. 상품 포트폴리오 최적화¶
"어떤 상품에 집중해야 하는가?"
ABC 분석 기본 구조:
| 등급 | 매출 비중 | SKU 비중 | 관리 전략 |
|---|---|---|---|
| A | 70% | 10-15% | 재고 확보, 품절 방지 |
| B | 20% | 20-30% | 적정 재고 유지 |
| C | 10% | 55-70% | 재고 최소화, 드롭십 검토 |
롱테일 분석 - 실무 적용:
-- 롱테일 기여도 분석
WITH product_rank AS (
SELECT
product_id,
SUM(revenue) as total_revenue,
PERCENT_RANK() OVER (ORDER BY SUM(revenue) DESC) as revenue_rank
FROM orders
WHERE order_date >= DATE_SUB(CURRENT_DATE, INTERVAL 90 DAY)
GROUP BY product_id
)
SELECT
CASE
WHEN revenue_rank <= 0.2 THEN 'Head (상위 20%)'
WHEN revenue_rank <= 0.5 THEN 'Torso (20-50%)'
ELSE 'Long Tail (하위 50%)'
END as segment,
COUNT(*) as product_count,
SUM(total_revenue) as segment_revenue,
SUM(total_revenue) / (SELECT SUM(total_revenue) FROM product_rank) as revenue_share
FROM product_rank
GROUP BY 1;
가설 예시: - H1: "롱테일 상품의 마진율이 헤드 상품보다 높다" → 검증: 세그먼트별 평균 마진율 비교 - H2: "롱테일 구매자의 LTV가 더 높다" → 검증: 첫 구매 상품 등급별 12개월 LTV 추적
2. 프로모션 효과 측정¶
"할인이 정말 이익을 가져오는가?"
분석해야 할 질문: 1. 할인으로 인한 추가 판매가 발생했는가? (증분 효과) 2. 기존 판매를 앞당겨온 것은 아닌가? (수요 이동) 3. 다른 상품의 판매를 뺏어온 것은 아닌가? (카니발라이제이션) 4. 할인 기대로 인한 정가 구매 감소는? (할인 중독)
카니발라이제이션 측정:
프로모션 기간: [ A상품 할인 진행 ]
|----------------|
A상품 판매: ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
B상품 판매 (대체재): ▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
C상품 판매 (보완재): ▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
증분 매출 계산:
실무 검증 방법:
| 방법 | 적용 조건 | 정확도 |
|---|---|---|
| A/B 테스트 | 고객군 분리 가능 | 높음 |
| DID (이중차분) | 과거 데이터 충분 | 중간 |
| 전후 비교 | 급하게 해야 할 때 | 낮음 |
3. 계절성 대응¶
패턴 유형:
월별 매출 지수 예시 (의류):
1월 ████████ 0.8 (겨울 시즌오프)
2월 ██████ 0.6 (비수기)
3월 ████████ 0.8 (봄 신상)
4월 ██████████ 1.0
5월 ████████████ 1.2 (가정의달)
6월 ██████████ 1.0
7월 ████████ 0.8 (여름 비수기)
8월 ████████ 0.8
9월 ██████████ 1.0 (가을 신상)
10월 ████████████ 1.2
11월 ██████████████ 1.4 (11.11, 블프)
12월 ████████████████ 1.6 (연말)
계절성 분해:
# 실무에서 자주 쓰는 분해 방식
from statsmodels.tsa.seasonal import seasonal_decompose
result = seasonal_decompose(sales_data, model='multiplicative', period=12)
# trend: 장기 추세
# seasonal: 반복 패턴
# residual: 설명 안 되는 부분 (이벤트, 이상치)
4. 재고/물류 연결¶
재고 최적화 프레임워크:
판매 속도
높음 낮음
+----------+----------+
높음 | Stars | Question |
마진율 | 재고확보 | 마케팅? |
+----------+----------+
낮음 | Cash | Dogs |
| 회전중시 | 퇴출검토 |
+----------+----------+
적정 재고 수준:
안전재고 = Z * sqrt(리드타임) * 수요표준편차
발주점 = 일평균판매량 * 리드타임 + 안전재고
경제적 발주량(EOQ) = sqrt(2DS/H)
D: 연간 수요, S: 발주비용, H: 보관비용
분석 접근¶
문제정의 예시¶
"매출이 떨어졌다"는 문제를 분석할 때:
매출 = 방문자수 * 전환율 * 객단가
1단계: 어디서 떨어졌나?
- 방문자수 감소? → 마케팅/시즌 문제
- 전환율 하락? → UX/상품/가격 문제
- 객단가 감소? → 믹스/프로모션 문제
2단계: 세그먼트별 차이는?
- 신규 vs 기존 고객
- 채널별 (검색/SNS/직접)
- 카테고리별
- 디바이스별
3단계: 시점은?
- 급격한 변화 → 외부 이벤트, 버그
- 점진적 변화 → 구조적 문제
가설-검증 사이클¶
[현상 관찰]
|
v
[가설 설정] ← "전환율 하락은 모바일 결제 오류 때문이다"
|
v
[검증 설계] ← 모바일/PC 전환율 비교, 결제 단계별 이탈률
|
v
[데이터 분석]
|
v
[결론] → 맞으면: 액션 | 틀리면: 새 가설
비즈니스 액션¶
분석 결과를 액션으로 연결¶
| 분석 결과 | 의사결정 | 담당 부서 | 액션 타임라인 |
|---|---|---|---|
| A등급 상품 품절률 15% | 재고 확보 | MD/SCM | 즉시 |
| 프로모션 ROI 음수 | 할인 정책 재검토 | 마케팅 | 다음 프로모션 전 |
| 특정 카테고리 롱테일 성장 | 상품 확대 | MD | 분기 내 |
| 계절성 예측 오차 큼 | 예측 모델 개선 | 데이터팀 | 다음 시즌 전 |
대시보드 설계 원칙¶
좋은 대시보드: - 의사결정과 직결되는 지표만 - 변화가 보여야 함 (전주비, 전년비) - 드릴다운 가능 - 알람 기준 명확
피해야 할 것: - 모든 지표를 다 보여주는 대시보드 - 보기만 하고 액션이 없는 지표 - 업데이트 주기가 맞지 않는 지표 혼합
실무 사례¶
사례 1: 롱테일 상품 전략 재설계¶
상황: 쿠팡 같은 대형 플랫폼과 경쟁하는 버티컬 커머스
분석: - 헤드 상품: 쿠팡과 가격 경쟁 → 마진 0% - 롱테일 상품: 경쟁 적음 → 마진 40% - 롱테일 구매자 재구매율: 헤드 구매자 대비 2.1배
액션: 1. 헤드 상품은 획득 채널로 활용 (광고 집중) 2. 롱테일 상품 큐레이션 강화 (이메일, 추천) 3. 롱테일 전문성 콘텐츠 제작
결과: 6개월 후 전체 마진율 12% → 18%
사례 2: 프로모션 카니발라이제이션 발견¶
상황: 월 1회 전체 할인 이벤트, 매출은 오르지만 수익 정체
분석:
할인 기간 외 매출 추이:
2022.01-06: 월평균 100억
2022.07-12: 월평균 85억 (할인 이벤트 월 2회로 증가)
2023.01-06: 월평균 70억 (할인 이벤트 월 4회로 증가)
고객 행동:
- 할인 대기 고객 비율: 15% → 35%
- 정가 구매 비율: 60% → 40%
액션: 1. 전체 할인 이벤트 축소 (월 4회 → 월 1회) 2. 세그먼트별 타겟 할인으로 전환 3. 비가격 프로모션 강화 (적립금, 사은품)
결과: 단기 매출 10% 감소, 12개월 후 영업이익 25% 증가
핵심 지표 정리¶
| 영역 | 지표 | 계산 | 벤치마크 |
|---|---|---|---|
| 상품 | SKU당 매출 | 총매출/SKU수 | 카테고리별 상이 |
| 상품 | 재고회전율 | 매출원가/평균재고 | 6-12회/년 |
| 프로모션 | 증분 ROI | (증분이익-비용)/비용 | 100% 이상 |
| 프로모션 | 할인 의존도 | 할인매출/총매출 | 30% 이하 |
| 물류 | 품절률 | 품절SKU/총SKU | 5% 이하 |
| 물류 | 배송 리드타임 | 주문-도착 시간 | 카테고리별 상이 |
다음: 핀테크/금융