Amazon Economist Group 인과 추론 연구 · FBA/로켓그로스 분석
Amazon Economist Group — Causal Inference Research · FBA / Rocket Growth Analysis

아마존이 마켓플레이스를
경제학으로 설계하는 법

How Amazon Designs Its
Marketplace with Economics

FBA 셀러 추천·배송 속도·수수료 정책의 인과 효과를 측정하는 아마존 경제학자들의 방법론과, 쿠팡 로켓그로스에 적용할 실전 분석 프레임워크를 종합 정리합니다.

A comprehensive reference on Amazon economists' causal inference methods — measuring the causal effects of FBA recommendations, delivery speed, and fee policies — and how Coupang Rocket Growth can apply the same frameworks.

Amazon Science 논문 11편
코드 예제 8개
로켓그로스 적용 포인트 12개
FBA / 로켓그로스 인과 사슬 (Causal Chain)
FBA / Rocket Growth Causal Chain
풀필먼트서비스 가입배송 속도향상전환율상승셀러 GMV증가플랫폼수익교란변수 (셀러 역량)

점선 주황색 = 선택 편향을 유발하는 교란변수. DML로 제거해야 순수 인과 효과가 측정된다.

Dashed orange = confounders causing selection bias. DML removes these to isolate true causal effects.

§ 01

Amazon Economist Group 개요

Amazon Economist Group Overview

경제학을 핵심 기술 기능으로 체계화한 빅테크 기업은 드물다. 아마존이 그 드문 예외다. PhD 경제학자 300명 이상이 가격·공급망·셀러 정책·광고 등 거의 모든 핵심 시스템에 인과 추론 방법론을 직접 적용하고 있다.

Pat Bajari
VP & Chief Economist, Core AI

2010년 합류. Harvard·Stanford·Duke 교수 출신으로, 계량경제학회 석학회원이다. 현재 약 100명 규모의 엔지니어·과학자 팀을 이끌며 가격·공급망·마케팅·검색 ML 알고리즘을 총괄한다. "ML/AI를 합리적 의사결정에 쓰려면 장단기 트레이드오프를 다루는 경제학이 필수"라는 게 그의 지론이다.

Guido Imbens
Nobel Laureate · Academic Research Consultant

Stanford GSB 교수. 2021년 인과 관계 분석의 방법론적 기여로 노벨 경제학상을 수상했다. 10년간 아마존 학술 자문을 맡아왔으며, 패널 데이터 기반 인과 효과 추정 분야의 권위자이자 아마존 젊은 경제학자들의 핵심 멘토다.

Dirk Bergemann
Amazon Scholar · Yale 교수

Yale 경제학·CS·금융 교수. 메커니즘 디자인과 정보 설계, 디지털 시장 경제학을 전문으로 한다. Amazon Science 블로그에 기고하며 벤더 협업 최적화 연구를 수행 중이다.

💡
경제학자의 역할The Economist's Role — Bajari의 말: "배송 속도를 개선하면 어떻게 되는가? 반품 정책을 바꾸면? 리뷰 큐레이션을 조정하면? 아마존이 데이터로 의사결정을 지원한다는 것 자체가, 관련 통계 방법을 정의상 인과적으로 만든다." — Imbens

§ 02

6대 핵심 방법론 — 상세 & 코드 예제

6 Core Methods — Detail & Code Examples

DML
Double Machine Learning (이중 머신러닝)
Double Machine Learning (DML)
고차원 교란 변수 환경에서 처치 효과를 편향 없이 추정 · Chernozhukov et al. 2018

핵심 아이디어: 처치 변수(D)와 결과 변수(Y) 각각에서 교란 변수(X)의 영향을 ML로 제거(Partialing Out)한 뒤, 두 잔차의 관계에서 인과 효과를 추정한다. Cross-fitting으로 정규화 편향까지 제거하면 점근적으로 정규 추론이 성립한다.

# DML 핵심 수식 Ỹ = Y - E[Y|X] # 결과 잔차 D̃ = D - E[D|X] # 처치 잔차 θ = (D̃'D̃)⁻¹ D̃'Ỹ # OLS on residuals → 인과 효과 θ

아마존 적용: 수억 명 고객 × 수백 가지 행동 유형의 ATE·CATE를 Apache Spark 분산 환경에서 추정한다. 파이프라인 구성은 JSON 설정 파일 하나로 끝난다.

로켓그로스 적용: 로켓그로스 가입이 셀러 매출에 미치는 인과 효과를 측정할 때는 셀러 이력·카테고리·가입 전 GMV를 교란 변수로 처리한다. 그래야 선택 편향이 빠지고 순수 효과가 분리된다.

Python — EconML DML 기본 예제
import numpy as np from econml.dml import CausalForestDML from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier from sklearn.preprocessing import StandardScaler # ── 데이터 준비 ──────────────────────────────── # X: 교란 변수 (셀러 이력, 카테고리, 가입 전 GMV 등) # T: 처치 변수 (로켓그로스 / FBA 가입 여부, binary 0/1) # Y: 결과 변수 (가입 후 90일 매출 증가율) est = CausalForestDML( model_y=GradientBoostingRegressor(n_estimators=100), model_t=GradientBoostingClassifier(n_estimators=100), n_estimators=200, min_samples_leaf=50, # 셀러 수 충분할 때 줄여도 됨 max_depth=5, cv=5, # cross-fitting fold 수 random_state=42, ) est.fit(Y, T, X=X) # ── ATE (평균 처치 효과) ──────────────────────── ate = est.ate(X) ate_interval = est.ate_interval(X, alpha=0.05) print(f"ATE: {ate:.4f} (95% CI: {ate_interval[0]:.4f}, {ate_interval[1]:.4f})") # ── CATE (조건부 / 개인별 처치 효과) ──────────── cate = est.effect(X_test) # 셀러별 예상 효과 print(f"CATE 예시 (첫 5명): {cate[:5]}") # ── 이질성 해석 — 어떤 셀러가 효과 크나? ─────── from econml.cate_interpreter import SingleTreeCateInterpreter intrp = SingleTreeCateInterpreter(max_depth=3).interpret(est, X) intrp.plot(feature_names=["가입전GMV", "카테고리", "재고회전율", "셀러경력"])
로켓그로스 적용 포인트: 로켓그로스 가입 시점 이전 데이터(과거 GMV, 카테고리, 상품 수, 고객 평점 이력)를 X(교란 변수)로 처리하면 원래 잘하는 셀러가 로켓그로스를 선택했다는 선택 편향을 교정하고 순수 서비스 효과를 측정합니다.
CRF
Causal Random Forest (인과적 랜덤 포레스트)
Causal Random Forest
이질적 처치 효과(HTE) 추정 · Wager & Athey 2018

핵심 아이디어: 각 트리가 예측 정확도 대신 처치 효과의 이질성을 최대화하는 방향으로 분기를 고르도록, 클래식 랜덤 포레스트를 인과 추론에 맞게 변형한 방법이다. 셀러 유형·카테고리·시기별로 처치 효과가 어떻게 갈리는지(HTE/CATE)가 여기서 세밀하게 포착된다.

아마존 적용: AI 강화 상품 카탈로그의 고객 효용 평가. 모든 상품에 A/B 실험을 수행하기 어려운 상황에서, 기존 실험 결과를 새로운 상품군으로 외삽하는 데 사용.

Python — Causal Forest 예제 (카테고리별 효과 이질성)
from econml.grf import CausalForest import pandas as pd import matplotlib.pyplot as plt # 로켓그로스 추천 효과 이질성 분석 예시 # 어떤 카테고리 셀러에게 재입고 추천이 더 효과적인가? cf = CausalForest( n_estimators=500, min_samples_leaf=20, max_features="auto", inference=True, # 신뢰구간 계산 honest=True, # Honest splitting (편향 방지) random_state=42, ) cf.fit(X_train, T_train, y_train) # 카테고리별 평균 CATE 계산 df_test["cate"] = cf.predict(X_test) cate_by_cat = df_test.groupby("category")["cate"].agg(["mean", "std", "count"]) # 시각화: 카테고리별 추천 효과 분포 cate_by_cat["mean"].sort_values().plot( kind="barh", xerr=cate_by_cat["std"] / np.sqrt(cate_by_cat["count"]), title="카테고리별 추천 CATE (평균±SE)", figsize=(10, 6), )
🎯
핵심 통찰: 로켓그로스 추천의 효과는 카테고리·셀러 규모에 따라 크게 갈린다. Causal Forest로 보면 소규모 생활용품 셀러에서는 재입고 추천 효과가 크고 대형 가전 셀러에서는 미미하다는 세분화된 인사이트가 드러난다. 추천 자원을 효과가 큰 집단에 집중 배분하는 근거가 여기서 나온다.
DR
Doubly Robust Estimation (이중 강건 추정)
Doubly Robust Estimation
성향 점수 모델 또는 결과 모델 중 하나만 맞아도 일관된 추정

핵심 아이디어: 성향 점수 모델(처치 확률 추정)과 결과 모델(잠재적 결과 추정) 두 개를 결합한다. 둘 중 하나만 올바르게 명세되어도 인과 효과 추정이 일관된다는 것이 이 방법의 핵심 특성이다. 보험을 두 번 드는 방식이라고 이해하면 된다.

# DR Estimator (AIPW) τ̂_DR = (1/n) Σᵢ [ μ̂₁(Xᵢ) - μ̂₀(Xᵢ) + Tᵢ(Yᵢ - μ̂₁(Xᵢ)) / ê(Xᵢ) - (1-Tᵢ)(Yᵢ - μ̂₀(Xᵢ)) / (1-ê(Xᵢ)) ] # μ̂ = 결과 모델, ê = 성향 점수 모델

아마존 적용(ASPIRE): 항공 배송 대상 상품 선택에서 배송 속도가 전환율에 미치는 인과 효과를 DR 추정법으로 측정. 신흥 마켓플레이스 A/B 실험에서 매출 +79bps 상승 확인.

Python — Doubly Robust ATE + 신뢰구간
from econml.dr import DRLearner from sklearn.linear_model import LogisticRegressionCV, LassoCV from sklearn.ensemble import RandomForestRegressor # 로켓그로스/FBA 추천 효과 — DR 추정 # T: 추천 수용 여부 (binary) # Y: 90일 매출 증가율 # X: 셀러 사전 특성 (교란 변수) dr = DRLearner( model_regression=RandomForestRegressor(n_estimators=200), model_propensity=LogisticRegressionCV(cv=5), model_final=LassoCV(cv=5), cv=5, random_state=42, ) dr.fit(Y, T, X=X, W=W) # W: 추가 제어 변수 # ATE + 95% 신뢰구간 ate, lb, ub = dr.ate(X), *dr.ate_interval(X, alpha=0.05) print(f"DR-ATE: {ate:.4f} [{lb:.4f}, {ub:.4f}]") # Doubly Robust Forest (카테고리별 CATE) from econml.dr import DRForest drf = DRForest(n_estimators=500, min_samples_leaf=30) drf.fit(Y, T, X=X) cate_dr = drf.effect(X_test)
BSTS
Bayesian Structural Time Series (베이지안 구조 시계열)
Bayesian Structural Time Series
개입 효과의 반사실적 추정 · 실험이 불가능한 상황에 적합

핵심 아이디어: 개입(intervention) 이전 시계열 데이터와 대조군 시계열(개입을 받지 않은 유사 단위)을 이용해 '개입이 없었더라면 어떻게 됐을까?(반사실적 결과)'를 베이지안 방식으로 추정하고, 실제 결과와의 차이로 인과 효과를 계산합니다.

아마존 적용: 신규 상품 리뷰 희소 데이터 환경에서 Causal Random Forest와 BSTS를 결합해 신뢰할 수 있는 상품 정보를 빠르게 제공. 광고 캠페인이 검색량에 미친 인과 효과 측정.

Python — CausalImpact (BSTS 기반) 예제
# pip install causalimpact from causalimpact import CausalImpact import pandas as pd # 로켓그로스 신규 카테고리 추가 효과 분석 예시 # 개입: 2024-06-01 (해당 카테고리 로켓그로스 오픈) # Y: 해당 카테고리 일별 GMV # X: 유사 카테고리(개입 없음)의 GMV (대조군) data = pd.DataFrame({ "y": gmv_target, # 개입 대상 카테고리 "x1": gmv_control_1, # 유사 카테고리 1 "x2": gmv_control_2, # 유사 카테고리 2 }, index=dates) # 사전기간 / 사후기간 지정 pre_period = ["2024-01-01", "2024-05-31"] post_period = ["2024-06-01", "2024-09-30"] ci = CausalImpact(data, pre_period, post_period) print(ci.summary()) # 누적 효과 + 베이지안 p-value ci.plot() # 반사실적 vs 실제 시각화 # 결과 해석 summary = ci.summary_data print(f"상대 효과: {summary['rel_effect']['average']:.1%}") print(f"사후 확률(귀무가설 기각): {1 - summary['p_value']:.2%}")
DiD
Panel Data 방법론 (DiD / Synthetic Control)
Panel Data Methods (DiD / Synthetic Control)
다중 단위 × 다중 시점 데이터에서 처치 효과 식별

이중 차분법(DiD): 처치군과 대조군의 처치 전후 변화를 비교해 처치 효과를 추정한다. 핵심 가정은 '평행 추세(parallel trends)'다. 처치가 없었더라면 두 집단의 변화 추세가 같았을 것이라는 전제 위에서만 효과가 식별된다.

합성 통제법(Synthetic Control): 대조군이 없거나 하나뿐일 때 쓰는 방법이다. 여러 대조 단위를 가중 평균해 '합성 대조군'을 직접 구성하고, 실제 처치 단위와의 차이로 효과를 추정한다.

아마존/로켓그로스 적용: 특정 지역 물류센터 오픈이 해당 지역 셀러 성과에 미친 효과, 또는 특정 카테고리에 로켓그로스를 우선 허용했을 때의 GMV 변화 측정.

Python — DiD & Staggered DiD (다중 시점 도입)
import statsmodels.formula.api as smf import pandas as pd # 기본 DiD: 로켓그로스 FC 오픈 효과 # seller_id: 셀러 ID # time: 기간 (0=사전, 1=사후) # treated: 처치군 여부 (해당 지역 셀러=1) # gmv: 주별 GMV formula = "gmv ~ treated * time + C(seller_id) + C(week)" model = smf.ols(formula, data=df).fit(cov_type="cluster", cov_kwds={"groups": df["seller_id"]}) print(model.summary().tables[1]) # treated:time 계수 = DiD 추정값 # ── Staggered DiD (카테고리별 순차 도입) ──────────────── # pip install pyfixest import pyfixest as pf # 이질적 처치 시점을 Callaway-Sant'Anna 방식으로 처리 fit = pf.feols( "gmv ~ treat_cohort_i(category, launch_quarter) | seller_id + quarter", data=df_staggered, vcov={"CRV1": "seller_id"}, ) fit.iplot() # 코호트별 ATT 시각화
SUTVA
스필오버 강건 실험 설계
Spillover-Robust Experimental Design
SUTVA 위반 환경 (마켓플레이스 경쟁·네트워크 효과)에서의 A/B 설계

문제: 마켓플레이스에서 셀러 A에게 특별 노출 지원을 주면, 같은 카테고리의 셀러 B 매출이 감소한다. SUTVA(안정적 단위 처치값 가정)가 깨진 것이다. 이때 단순 A/B 테스트는 처치 효과를 편향되게 추정한다.

해법 1 — 클러스터 무작위화: 카테고리 또는 지역 단위로 묶어 클러스터별로 처치를 배정합니다. 클러스터 내 스필오버는 허용하되 클러스터 간 스필오버를 차단합니다.

해법 2 — 다중 무작위화 (Bajari & Imbens): 무작위화 레이어를 동시에 여러 겹 설계하면 스필오버가 있어도 인과관계가 식별됩니다.

Python — 클러스터 무작위화 파워 분석
import numpy as np from scipy import stats def cluster_rct_power(n_clusters, cluster_size, icc, mde, alpha=0.05): """ 클러스터 무작위화 검정력 계산 icc: 클러스터 내 급내 상관계수 (intra-cluster correlation) mde: 최소 탐지 가능 효과 크기 """ # 설계 효과 (Design Effect) deff = 1 + (cluster_size - 1) * icc # 유효 표본 크기 n_eff = (n_clusters * cluster_size) / deff # 검정력 계산 se = np.sqrt(2 / n_eff) z_alpha = stats.norm.ppf(1 - alpha / 2) power = 1 - stats.norm.cdf(z_alpha - mde / se) return power, deff, n_eff # 로켓그로스 프로모션 실험 설계 예시 for n_cat in [20, 50, 100]: pwr, deff, n_eff = cluster_rct_power( n_clusters=n_cat, # 카테고리 수 cluster_size=200, # 카테고리당 셀러 수 icc=0.05, # 같은 카테고리 셀러 간 상관 mde=0.05, # 5% 매출 효과 탐지 목표 ) print(f"카테고리 {n_cat}개: 검정력={pwr:.1%}, DEFF={deff:.2f}, 유효 n={n_eff:.0f}")

§ 03

FBA vs 로켓그로스 — 비즈니스 모델 비교

FBA vs Rocket Growth — Business Model Comparison

62%
Amazon 전체 유닛 중
3P 셀러 비중 (2024 Q4)
130%
Coupang FLC YoY 증가
(2024 Q1)
74%
Prime 고객 전환율
(비Prime 13% 대비)
161%
로켓그로스 입고 셀러
매출 증가 (2개월, 사례)
비교 차원🛒 쿠팡 로켓그로스📦 Amazon FBA
출시 / 성숙도2023년 3월 (성장 초기)2006년 (글로벌 성숙 단계)
대상 시장한국 (대만 점진 진출)미국 + 글로벌 11개 마켓
서비스 범위보관·포장·배송·교환·반품·CS 일괄보관·포장·배송·교환·반품·CS 일괄 (동일)
셀러 혜택'로켓배송' 배지 → 전환율 급상승'Prime 배지' → 전환율 74%
플랫폼 수익원입고비·보관료·출고배송비 + 판매 수수료수수료(~15%) + 보관·풀필먼트·광고비
재고 위험플랫폼 부담 없음 (셀러 소유)플랫폼 부담 없음 (셀러 소유)
셀러 타깃중소 셀러 중심 (소량 입고 허용)중소~대형 셀러 다양
멤버십 연계로켓WOW ↔ 배송 속도Prime ↔ 배송 속도 ↔ 광고
3P 비중(2024)35~40% (빠르게 증가)62%+ (역대 최고)
경제학 연구 성숙도공개 논문 없음 (데이터 비공개)Amazon Science 논문 다수 공개
§ 03-B

플라이휠(Flywheel) 메커니즘

The Flywheel Mechanism

자기강화플라이휠풀필먼트 서비스(FBA / 로켓그로스)빠른 배송→ 고객 경험 개선구매 빈도·전환율상승플랫폼 수익→ 인프라 재투자셀러 유입 증가→ 상품 선택 확대

FBA와 로켓그로스가 공유하는 자기강화 선순환 구조. 배송 속도의 전환율 인과 효과(ASPIRE 연구)가 이 플라이휠의 엔진입니다.


§ 04

4대 연구 스트림 — 논문·방법·적용법

4 Research Streams — Papers, Methods & How to Apply

01
FBA / 로켓그로스 추천 시스템의 인과 효과 측정
Causal Effects of FBA / Rocket Growth Recommendation Systems
선택 편향 제거 → 순수 추천 효과 식별
⚠️
핵심 문제: "로켓그로스 추천을 따른 셀러의 매출이 X% 증가했다"는 통계에는 선택 편향이 숨어 있다. 추천의 효과가 아니라 셀러 역량의 효과를 측정하고 있을 가능성이 있는 것이다.
❌ 나이브한 비교의 함정

추천 수용 셀러(처치군)와 미수용 셀러(통제군)를 단순 비교하면 큰 함정에 빠진다. 애초에 재고 관리 능력이 뛰어난 셀러가 추천을 더 잘 따를 가능성이 높기 때문이다. 그래서 추천의 효과가 실제보다 부풀려진다.

✅ DML로 편향 제거 후

셀러 이력·상품 특성·가입 전 GMV를 교란 변수로 처리하면 선택 편향이 걷히고, 추천 자체가 매출을 얼마나 끌어올리는지가 측정된다.

Removing Selection Bias from Evaluation of Recommendations (2024)
Amazon Science Blog · Özalp Özer, A. Serdar Şimşek, Xiaoxi Zhao 외
FBA 재입고·과잉재고 처리 추천의 인과 효과를 DML로 측정. 모델 1은 셀러의 추천 수용 성향(처치 모델), 모델 2는 결과(매출)를 각각 예측. 두 잔차를 OLS로 연결해 순수 처치 효과를 추출. 산출한 효과를 Seller Central에 공개해 추천 채택률까지 제고.
DML Doubly Robust Forest 로켓그로스 직접 적용 가능
Measuring the Efficacy of Amazon's Recommendation Systems (INFORMS 2024)
Tutorials in Operations Research · INFORMS
DML·Causal Forest·Doubly Robust Forest 3방법 비교 튜토리얼. 셀러-상품 쌍별 이질적 처치 효과(HTE) 분석. 어떤 셀러에게 어떤 추천이 더 효과적인지 세분화된 인사이트까지 뽑아내는 전 과정을 상세 설명.
Causal Forest HTE 세분화
Python — 로켓그로스 추천 효과 측정 전체 파이프라인
import pandas as pd import numpy as np from econml.dml import LinearDML from econml.dr import DRForest from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier # ── 1. 데이터 준비 ───────────────────────────────────── # 로켓그로스 재입고 추천 → 셀러 90일 매출 변화율 분석 feature_cols = [ "pre_gmv_90d", # 가입 전 90일 GMV (핵심 교란변수) "seller_age_days", # 셀러 경력 "category_code", # 카테고리 (encoded) "n_skus", # 취급 SKU 수 "avg_rating", # 평균 고객 평점 "inventory_turns", # 재고 회전율 "review_count", # 리뷰 수 ] X = df[feature_cols].values T = df["accepted_recommendation"].values # 처치: 추천 수용 여부 Y = df["revenue_change_90d"].values # 결과: 90일 매출 변화율 # ── 2. DML — ATE 추정 ───────────────────────────────── dml = LinearDML( model_y=GradientBoostingRegressor(n_estimators=200, max_depth=4), model_t=GradientBoostingClassifier(n_estimators=200, max_depth=4), cv=5, random_state=42, ) dml.fit(Y, T, X=X) ate = dml.ate(X) ci = dml.ate_interval(X, alpha=0.05) print(f"\n[DML] 추천 수용 인과 효과 (ATE): {ate:+.1%}") print(f" 95% CI: [{ci[0]:+.1%}, {ci[1]:+.1%}]\n") # ── 3. DR Forest — 셀러 유형별 CATE ────────────────── drf = DRForest(n_estimators=500, min_samples_leaf=30, random_state=42) drf.fit(Y, T, X=X) df_test["cate"] = drf.effect(X_test) # 카테고리별 평균 처치 효과 result = df_test.groupby("category_name")["cate"].agg([ ("평균 효과", "mean"), ("표준편차", "std"), ("셀러 수", "count"), ]).sort_values("평균 효과", ascending=False) print("카테고리별 추천 효과 (상위 5개):") print(result.head())
🎯
로켓그로스 즉시 적용 방법:
1
데이터 준비 — Wing에서 셀러별 가입 전/후 GMV, 추천 이력, 상품 특성 추출
2
교란 변수 정의 — 가입 전 90일 GMV, 셀러 경력, 카테고리, SKU 수를 X로 설정
3
DML 실행 — 위 코드로 ATE를 추정하고 서비스 자체의 순효과를 측정
4
카테고리별 HTE — DR Forest로 어느 카테고리에 추천 자원을 집중할지 결정
02
배송 속도의 전환율 인과 효과 (ASPIRE)
Causal Effect of Delivery Speed on Conversion (ASPIRE)
로켓그로스 존재 이유를 수치로 증명한 연구 · KDD 2022
ASPIRE: Air Shipping Recommendation via Causal Inference Framework (KDD 2022)
Amazon Science · Abhirup Mondal, Anirban Majumder, Vineet Chaoji
빠른 배송이 전환율·매출에 미치는 인과 효과를 Doubly Robust Estimation으로 측정했다. 상관관계에서 멈추지 않고 엄밀한 인과 식별까지 밀어붙였고, 배송비 대비 매출 증가의 트레이드오프는 최적화 알고리즘으로 풀었다. 신흥 마켓플레이스 A/B 테스트에서 매출이 +79 bps 상승했다. 배송이 빠를수록 전환율이 오른다는 FBA·로켓그로스의 핵심 가치 제안을 수치로 검증한 연구다.
Doubly Robust 배송 속도 → 전환율 인과 검증 로켓배송 ROI 측정에 직접 적용
📊
핵심 발견: 배송 속도 향상이 전환율에 미치는 인과 효과는 단순 상관관계보다 작을 수 있다. 단순 비교에는 '원래 잘 팔리는 상품이 항공 배송을 받는다'는 선택 편향이 섞여 있기 때문이다. ASPIRE는 이 편향을 걷어내고 순수한 배송 속도 효과를 측정한 뒤, 그 결과로 어떤 상품을 항공 배송 대상으로 삼을지 최적화한다.
Python — 배송 속도 전환율 DR 추정 (ASPIRE 재현)
from econml.dr import DRLearner from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier import numpy as np # 설정 # T: 로켓배송 지원 여부 (1=지원, 0=일반배송) # Y: 전환율 (conversion rate) # X: 상품 특성 (카테고리, 가격대, 과거 판매량, 리뷰 수 등) dr = DRLearner( model_regression=RandomForestRegressor(n_estimators=300), model_propensity=RandomForestClassifier(n_estimators=300), cv=5, random_state=42, ) dr.fit(Y_conv, T_rocket, X=X_product) # ATE: 로켓배송 지원 시 전환율 평균 상승폭 ate_conv = dr.ate(X_product) print(f"로켓배송 → 전환율 인과 효과(ATE): {ate_conv:+.4f} ({ate_conv*100:+.2f}%p)") # 상품별 CATE — 어떤 상품이 로켓배송 효과가 큰가? cate_conv = dr.effect(X_test) # 비용-편익 분석: 항공배송 추가비용 vs 전환율 상승 수익 avg_price = df_test["price"].values air_cost = df_test["air_shipping_extra_cost"].values # 수익 증가 추정 = CATE × 가격 × 기대 노출수 revenue_uplift = cate_conv * avg_price * df_test["daily_impressions"].values roi = (revenue_uplift - air_cost) / air_cost # 로켓배송 추천 대상: ROI > 0인 상품만 recommend_rocket = roi > 0 print(f"로켓배송 추천 대상 비율: {recommend_rocket.mean():.1%}") print(f"예상 순수익: {(revenue_uplift - air_cost)[recommend_rocket].sum():,.0f}원")
03
상품 카탈로그·구색(Assortment) 경제 가치 측정
Measuring the Economic Value of Product Assortment
EV&O Team · AI 강화 카탈로그 · 장기 리테일 가치
Evaluating the Helpfulness of AI-Enhanced Catalogue Data (Amazon Science Blog, 2024)
Amazon Science
AI로 강화된 상품 정보(이미지·설명·속성)가 고객 경험·전환율에 인과적으로 기여하는지 측정. 모든 상품에 A/B 실험이 불가능한 희소 데이터 환경이라, Causal Random Forest로 기존 실험 결과를 신규 상품군에 외삽(extrapolation). 처치 효과 기준으로 상품군을 나누고 훈련-검증 균형을 최적화하는 인과 트리 앙상블 구조.
Causal Random Forest 실험 외삽 상품 등록 가이드 효과 측정
EV&O (Economic Value & Optimization) Team — Retail Assortment Causal Models
Amazon Internal Research (공개 요약)
아마존 리테일 상품 구색의 장기 경제 가치를 인과 계량경제 모델로 측정. 포트폴리오 수준 구색 의사결정에 활용 (수십억 달러 규모). 동적 인과 모델링 + 반사실적 추정치를 실험 처치 효과와 대조 검증. 어떤 카테고리를 더 깊이 구색해야 장기 GMV·고객 만족도가 극대화되는지를 데이터로 결정.
Dynamic Causal Modeling 장기 LTV 어떤 카테고리를 로켓그로스 우선 유치?
Python — 상품 정보 개선 효과 Causal Forest 외삽
from econml.grf import CausalForest import pandas as pd, numpy as np # 상품 정보 개선(처치) → 전환율(결과) 인과 추정 # 실험 데이터(A/B 테스트 결과)로 모델 학습 # 비실험 상품군에 외삽 # X: 상품 특성 (카테고리, 가격대, 판매량, 이미지 품질 점수) # T: 상품 정보 개선 여부 (실험군=1) # Y: 전환율 변화 cf = CausalForest( n_estimators=500, honest=True, inference=True, min_samples_leaf=25, random_state=42 ) cf.fit(Y_experiment, T_experiment, X=X_experiment) # 비실험 신규 상품에 외삽 cate_new = cf.predict(X_new_products) lb, ub = cf.predict_interval(X_new_products, alpha=0.05) # 어떤 상품에서 정보 개선 효과가 클까? (Top 20%) top20_mask = cate_new > np.percentile(cate_new, 80) print(f"정보 개선 효과 Top 20% 상품 수: {top20_mask.sum()}") print(f"이 상품들의 평균 예상 전환율 상승: {cate_new[top20_mask].mean():+.2%}") # 카테고리별 효과 크기 분석 df_new["cate"] = cate_new print(df_new.groupby("category")["cate"].mean().sort_values(ascending=False))
04
수수료·정책 변화의 인과 효과
Causal Effects of Fee & Policy Changes
수수료 구조 설계 · 셀러 이탈 예측 · 정책 최적화
Science of Price Experimentation at Amazon (Amazon Science, 2022)
Amazon Science Publications
동일 시점 동일 가격 정책이라는 제약 하에서 가격·수수료 변화의 인과 효과 측정. 인과적 의사결정 트리 앙상블로 제품 하위 집단별 처치 효과 추정. A/B 실험이 불가능한 상황에서 관찰 데이터 기반 인과 추론으로 전환. FBA 수수료 정책 설계에 직접 활용.
Causal Decision Tree 수수료 정책 설계 로켓그로스 수수료 변경 효과 사전 분석
💡
로켓그로스 수수료 정책 설계에 활용: 수수료를 올릴 때 어떤 셀러가 이탈하는가? 어떤 카테고리에서 수수료 탄력성이 낮은가? DML + DiD 조합으로 수수료 변경이 셀러 이탈률·GMV에 미치는 인과 효과를 미리 시뮬레이션합니다.
Python — 수수료 변경의 셀러 이탈 인과 효과 (DiD)
import statsmodels.formula.api as smf import pandas as pd # 수수료 인상(처치)이 셀러 이탈률에 미치는 DiD 추정 # treated: 수수료 인상 대상 카테고리 (1=처치군) # post: 인상 이후 기간 (1=사후) # churn: 셀러 이탈 여부 (1=이탈) # 기본 DiD did_model = smf.logit( "churn ~ treated * post + C(seller_id) + C(quarter)", data=df_panel, ).fit(cov_type="cluster", cov_kwds={"groups": df_panel["seller_id"]}) print("수수료 인상의 셀러 이탈 효과 (DiD):") print(did_model.summary().tables[1].loc[["treated:post"]]) # ── 수수료 탄력성 이질성 분석 ────────────────────────── from econml.dml import NonParamDML from sklearn.ensemble import GradientBoostingRegressor # 연속형 처치 (수수료 인상 %) # 셀러별 수수료 탄력성 추정 est = NonParamDML( model_y=GradientBoostingRegressor(), model_t=GradientBoostingRegressor(), model_final=GradientBoostingRegressor(), cv=5, ) est.fit(Y_gmv, T_fee_change, X=X_seller) # 수수료 인상 시 GMV 변화 탄력성 (카테고리별) elasticity = est.effect(X_test) # dGMV/d(fee_change) by seller # 탄력성이 낮은 카테고리 = 수수료 인상 여력 있는 카테고리 df_test["fee_elasticity"] = elasticity print(df_test.groupby("category")["fee_elasticity"].mean().sort_values())

§ 05

오픈소스 인과 추론 툴킷

Open-Source Causal Inference Toolkit

Microsoft ALICE / Amazon 협업

DML·Causal Forest·DR·IV·Meta-Learner 등 이질적 처치 효과 추정 방법 통합 패키지. 아마존 경제학자들의 주요 사용 라이브러리.

pip install econml GitHub

AWS + Microsoft 공동 개발

DAG 명세 → 식별 → 추정 → 반박의 4단계 인과 분석 워크플로. AWS가 GCM 모듈(근본 원인 분석)을 추가 기여.

pip install dowhy GitHub

Uber (산업계 표준)

업리프트 모델링·CATE 추정·정책 최적화. T/S/X/R-Learner 메타러너 구현. KDD 워크숍에서 EconML과 함께 표준 레퍼런스로 소개.

pip install causalml GitHub

Google (BSTS 기반)

개입 효과를 베이지안 구조 시계열로 추정. Python 포트: causalimpact. 실험이 불가능한 상황에서 정책 변화의 인과 효과를 측정하는 데 최적.

pip install causalimpact Documentation

Panel Data & DiD

Stata feols에 상응하는 Python 구현. Staggered DiD·Callaway-Sant'Anna 추정기 내장. 카테고리 순차 도입 효과 분석에 최적.

pip install pyfixest GitHub

공식 Python/R 패키지

Chernozhukov 등 원저자 팀의 공식 구현. PLM·PLR·PLIV·LPWRG 등 다양한 DML 변형. 고차원 패널 데이터 지원.

pip install doubleml Documentation
Python — 툴킷 설치 & 퀵스타트 (로켓그로스 분석 환경)
# 인과 추론 분석 환경 한 번에 설치 pip install econml doubleml causalml causalimpact pyfixest dowhy # ── 방법 선택 가이드 ────────────────────────────────────── # # 질문 유형 → 추천 방법 # ───────────────────────────────────────────────────────── # "로켓그로스 가입의 평균 효과?" → DML (econml.dml.LinearDML) # "어떤 셀러에게 효과가 클까?" → Causal Forest (econml.grf) # "추천 수용의 선택 편향 제거" → Doubly Robust (econml.dr) # "FC 오픈의 지역 효과" → DiD (pyfixest.feols) # "카테고리 순차 도입 효과" → Staggered DiD (pyfixest) # "정책 개입 효과 (실험 불가)" → BSTS (causalimpact) # "수수료 탄력성 이질성" → NonParamDML (econml) # "근본 원인 분석" → DoWhy GCM (dowhy) # ─────────────────────────────────────────────────────────

§ 06

레퍼런스 목록

Reference List

제목 / 출처요약연도
Removing Selection Bias from FBA Recommendations
Amazon Science Blog
DML로 FBA 셀러 추천의 인과 효과를 측정. Seller Central 공개로 채택률 제고.2024
Measuring Efficacy of Amazon's Recommendation Systems
INFORMS Tutorials in OR
DML·Causal Forest·DR Forest 3방법 비교 튜토리얼.2024
Evaluating Helpfulness of AI-Enhanced Catalogue Data
Amazon Science Blog
Causal Random Forest로 A/B 실험 결과를 신규 상품군에 외삽.2024
Economics Nobelist on Causal Inference
Amazon Science Blog
Guido Imbens AMLC 기조강연 — 패널 데이터 인과 효과 추정.2024
ASPIRE: Air Shipping Recommendation via Causal Inference
KDD 2022 · Amazon Science
배송 속도 → 전환율 DR 추정. A/B 실험에서 +79 bps 매출 상승 확인.2022
Double ML at Scale to Predict Causal Impact
Amazon Science Publications
수억 명 × 수백 행동의 ATE·CATE를 Spark DML로 추정.2022
Science of Price Experimentation at Amazon
Amazon Science Publications
동일 가격 정책 제약 하 수수료·가격 효과 인과 측정.2022
Cross-Unit Spillovers in A/B Testing
Amazon Science Publications
광고 실험 SUTVA 위반 문제 실증. 클러스터 무작위화 설계.2023
OpportunityFinder: Automated Causal Inference
Amazon Science / KDD 2023
비전문가용 코드리스 패널 데이터 인과 추론 프레임워크.2023
AWS Contributes to DoWhy (GCM)
Amazon Science Blog
AWS의 Graphical Causal Model 알고리즘을 DoWhy에 기여. PyWhy 공동 설립.2022
Fulfilled by Amazon: Strategic Perspective
INFORMS MSOM
FBA가 아마존-셀러 간 경쟁에 미치는 전략적 효과를 이론 모델로 분석.2022
KDD Workshop: Causal ML in Practice (2021–2025)
ACM KDD
아마존 공동 주최 연례 워크숍. 제품·브랜드·정책 실제 인과 추론 사례.2021–25

§ 07

전략적 시사점 — 로켓그로스에 주는 메시지

Strategic Insights for Rocket Growth

01

인과 학습 루프를 빨리 구축하라

FBA의 진짜 경쟁 우위는 물류 대행이 아니라 10년치 셀러 데이터로 구축한 인과 학습 시스템이다. 셀러 행동 데이터가 쌓이고 DML·DR 분석이 정교해질수록 추천 정확도가 올라가고, 정확해진 추천이 다시 셀러 성과를 끌어올린다. 로켓그로스 역시 단순 물류 처리량을 넘어 이 학습 루프를 얼마나 빠르게 구축하느냐에서 장기 경쟁력이 갈린다.

02

선택 편향 없이 ROI를 보고하라

"로켓그로스 입고 셀러 매출 161% 증가"라는 수치에는 선택 편향이 섞여 있을 가능성이 높다. 원래 잘 팔리는 상품을 가진 역량 있는 셀러가 로켓그로스를 선택했을 가능성을 배제하지 않으면, 잘못된 투자 결정과 과장된 ROI 보고가 반복되기 쉽다. DML로 편향을 교정한 서비스 순효과를 별도로 측정해 보고해야 한다.

03

배송 속도 투자의 ROI를 수치화하라

ASPIRE 연구가 보여주듯, 배송 속도의 전환율 인과 효과를 엄밀히 측정하면 어떤 카테고리에 항공 배송·긴급 입고를 지원해야 ROI가 플러스인지가 데이터로 가려진다. 배송 인프라 투자를 막연히 좋은 것으로 정당화하는 단계는 지나야 한다.

04

카테고리별 효과 이질성을 활용하라

Causal Forest를 적용하면 추천 효과가 소규모 생활용품 셀러 쪽에 몰리고 대형 가전 셀러 쪽에서는 거의 잡히지 않는다는 결과가 나온다. 카테고리·셀러 유형별 맞춤 추천을 설계하면 획일적 정책을 쓸 때와 같은 예산으로도 효율이 훨씬 높다.

05

수수료 정책 변경의 셀러 이탈 효과를 사전 시뮬레이션하라

수수료를 올리기 전에 DiD + DML로 카테고리별 수수료 탄력성을 추정하면, 인상 여력이 있는 카테고리와 셀러 이탈 위험이 큰 카테고리가 미리 갈립니다. 블라인드한 수수료 인상은 고부가가치 셀러를 경쟁 플랫폼으로 밀어내기 쉽습니다.

06

투명성이 셀러 신뢰의 선순환을 만든다

아마존은 DML로 측정한 추천 효과를 Seller Central에 공개해 "이 추천을 따르면 매출이 X% 오릅니다"를 데이터로 뒷받침한다. 이 투명성 덕분에 추천 채택률이 오르고, 데이터가 더 쌓이는 선순환이 돈다. 로켓그로스도 인과 분석 결과를 Wing 대시보드에 공개하면 신뢰를 바탕으로 채택률을 끌어올린다.

AIEconLab

운영진 코멘트

코멘트는 이 페이지에서 누구나 읽을 수 있습니다. 작성은 등록된 운영진 GitHub 계정만 가능합니다.

아래 입력창에서 GitHub로 로그인한 뒤 바로 작성하세요. 저장소 협업자 계정의 코멘트만 등록됩니다.