RT-O8: 고객 세그먼테이션 + 차별화 풀필먼트

🎯 왜 세그먼트별 풀필먼트인가?Differentiated Fulfillment by CLV-driven Segments

모든 고객에게 동일한 EDD·배송비·포장 정책을 적용하면 평균은 만족시키지만 정작 매출의 절반 이상을 차지하는 high-value 고객을 잃는다. 반대로 신규 고객은 단순 표준 정책만 받으면 첫 주에 이탈하기 쉽고, 반품을 남용하는 일부 watch 그룹은 같은 정책 아래에서 마진을 갉아먹는다.

RT-O8은 K-Means 기반 5세그먼트(VIP / Power / Standard / 신규 / Watch) × 차별화 정책 매트릭스(거점 우선순위, EDD 가산, 무료 익일, 반품 정책, 포장 등급)를 자동으로 매핑해 주문 한 건당 최적의 풀필먼트 전략을 결정한다. CLV(고객 생애 가치)와 RFM(빈도·금액·최근성)을 12개월 윈도우로 학습하고, A/B 결과를 다시 정책 매트릭스에 피드백해 매월 가중치를 재학습한다.

🧭 세그먼트 → 정책 → 라우팅 파이프라인5 stages · Feature → Segment → Policy → Route → Feedback
STEP 1
feature_extract

12개월 RFM + CLV + 채널 + 반품 5축 피처 추출. order_frequency / avg_order_value / return_rate / clv_score / channel_preference

STEP 2
kmeans_assign

K-Means(n_clusters=5)로 세그먼트 배정. silhouette 평균 0.43 (5월 4주차) · 안정적인 분리도 확보.

STEP 3
policy_lookup

세그먼트별 정책 매트릭스 조회. EDD 가산·무료 익일·반품·거점 우선순위·포장 등급 5축을 한 번에 결정.

STEP 4
route_apply

RT-O1 DOM 거점 점수에 세그먼트 가산점을 더해 최종 라우팅. VIP는 가장 가까운 거점 + 무료 익일 자동 적용.

STEP 5
feedback_loop

A/B 분기 결과(재구매율·잔존율·반품률) → 정책 가중치 재학습. Watch 세그먼트 정책은 RT-O10(사기 탐지)와 결합 예정.

🐍 K-Means 기반 고객 클러스터링 (Python)
# K-Means 기반 고객 클러스터링
features = [
    "order_frequency",      # 월 평균 주문 횟수
    "avg_order_value",      # 평균 주문 금액
    "return_rate",          # 반품률
    "clv_score",            # 고객 생애 가치
    "channel_preference",   # 선호 채널
]
kmeans = KMeans(n_clusters=5, random_state=42)
segments = kmeans.fit_predict(customer_features)

5개 피처를 z-score 정규화 후 K-Means에 투입한다. 클러스터 수는 silhouette score를 3~8 범위에서 그리드 서치한 결과 5가 가장 안정적이며 (0.43), 해석 가능한 5세그먼트 라벨(VIP/Power/Standard/신규/Watch)와도 잘 정합한다. random_state=42로 고정해 매월 재학습 시 라벨 재배정 이슈를 최소화했다.

➗ CLV 정의 & policy_score 가중치freq + aov − return + clv 4축 가중 합산
CLV = Σ_t (revenue_t − cost_t) / (1 + r)^t
policy_score = w1·CLV_norm + w2·freq_normw3·return_rate + w4·channel_loyalty
# CLV는 12개월 할인율 r=0.08로 NPV 환산 · 신규(historical < 30일)는 expected_clv로 보정
freq .25order_frequency · 월 평균 주문 횟수. 월 4건 이상이면 Power 후보, 월 8건+이면 VIP 후보 (정규화 0~1)
aov .30avg_order_value · 평균 객단가. 200k+ 가산점, 50k 미만은 패널티 (윈저화 적용 후 정규화)
return .20return_rate · 반품률. 30%+는 Watch 세그먼트 후보, 음수 가중이라 낮을수록 score 상승
clv .25clv_score · 12개월 NPV 누적값. 상위 4%가 VIP, 상위 20%가 Power, 하위 6%가 Watch 컷오프

예) 김OO 고객(월 12건·AOV 280k·반품 2%·CLV 상위 3%)은 0.25·1.0 + 0.30·0.95 − 0.20·0.02 + 0.25·1.0 = 0.78 로 VIP 세그먼트 컷오프(0.72)를 넘어 무료 익일 + 인접 거점 정책이 자동 적용된다.

🏷️ 5세그먼트 정책 매트릭스5월 학습 결과 · 비율은 전체 활성 고객 기준
세그먼트비율EDD 가산무료 익일반품 정책거점 우선
VIP4%−6h✓ (무조건)14일 무조건가장 가까운 거점
Power16%−2h100k+ 무료7일평소 거점
Standard56%050k+ 무료3일DOM 결정
신규18%−2h (첫 주 보호)첫 주 무료7일인접 거점
Watch6%+4h없음검수DOM 결정

VIP 4%는 매출의 약 31%를 만들어내는 핵심 그룹이라 −6h EDD 가산 + 무료 익일 + 14일 무조건 반품으로 확실하게 묶어 둔다. 신규 18%는 첫 주 한정 보호 정책으로 첫 인상 비용을 감수하고 잔존율(D14)을 끌어올리며, Watch 6%는 반품 남용/사기 의심 그룹이라 EDD를 일부러 +4h 늦추고 검수 강화로 마진을 보호한다.

참고문헌
[1] 김지훈, "고객 세그먼테이션 + 차별화 풀필먼트 5월 보고서", IntraLogis 사내 보고서, 2026.05
[2] Lloyd, S.P., "Least Squares Quantization in PCM", IEEE Trans. Information Theory, 1982
[3] Fader, P.S., Hardie, B.G.S., "RFM and CLV: Using Iso-Value Curves for Customer Base Analysis", Journal of Marketing Research, 2005
[4] McKinsey & Company, "Personalization at Scale: Bringing the Power of AI to the Customer", 2024
[5] Stitch Fix Engineering Blog, "Algorithmic Personalization in Apparel", 2023
[6] 한국마케팅학회, 고객 생애 가치(CLV) 측정 모델 연구, 2024