Switchback / Geo / Spillover — 개관

표준 A/B 의 한계와 우회 design

표준 A/B 가 어려운 시나리오의 design 우회. (1) Network spillover 의 정의 — unit 간 영향 으로 SUTVA 위반, (2) Switchback design (Bojinov, Simchi-Levi, Zhao 2023) — 시간 단위 무작위 배정, (3) Geo Holdout — 지역 단위 무작위 배정, (4) Spillover detection — 접촉/노출 기반 분석. 후속 3 글 안내.

Experimentation
A/B Testing
저자

Kwangmin Kim

공개

2026년 05월 09일

출처

이 글은 사전지식 기반 (교재 미확인 — agent 사전학습 기반). 핵심 인용 — Bojinov, Simchi-Levi, Zhao (2023), Vaver & Koehler (2011), Athey & Imbens (2017), Aronow & Samii (2017).

이 글은 Phase J 시리즈의 21 번째 글이자 J-SWITCH 시리즈 (4 편) 의 첫 글. 표준 A/B 가 어려운 시나리오의 design 우회 를 다룬다.

1 진입 직관 — “단위 간 영향”

표준 A/B 의 SUTVA (Stable Unit Treatment Value Assumption):

한 unit 의 outcome 은 다른 unit 의 처치영향 받지 않음.

현실 위반:

  • Two-sided market (Uber, Lyft, Airbnb): 일부 운전자에게 새 알고리즘 (할증) 적용 시 나머지 운전자의 trip 도 영향. 시장 균형 이 변화.
  • Social network (Facebook, Instagram): 일부 사용자에게 새 feature. 친구 들의 행동도 영향 (예: 친구가 새 광고 본 후 댓글 달면 다른 친구도 영향).
  • 지역 광고 (search ads): 일부 지역 입찰가 변경. 인접 지역의 경쟁 균형 변화.

결과: 표준 A/B 의 control group 도 처치 영향 받음 — 효과 추정 bias.

2 우회 Design 3 가지

2.1 1: Switchback Design

시간 단위 무작위 배정. 같은 unit 이 시점에 따라 처치/대조 전환.

예: Uber 의 5 분 단위 알고리즘 변경. 30 분의 처치 / 30 분의 대조 / 30 분의 처치.

모든 운전자시점에 따라 두 alg 모두 경험 — spillover 같은 단일 시장 안에서 균등화.

2.2 2: Geo Holdout

지역 단위 무작위 배정. 한 도시 전체 가 처치, 다른 도시 전체 가 대조.

예: Lyft 의 시카고 처치 / 보스턴 대조. 지역 내 spillover 는 발생하지만 지역 간 분리.

지역 단위의 ATE 추정.

2.3 3: Cluster-Randomized

Cluster (예: 친구 그룹, 지역, 학급) 단위 무작위 배정. 클러스터 spillover 허용, 분리.

Cluster 효과 추정.

3 그 외 — Spillover Detection

위 design 들이 어려울 때 분석 단계 에서 spillover detection:

  • Aronow & Samii (2017): exposure mapping
  • Athey & Imbens (2017): model-based spillover effect
  • 2-stage randomization (Hudgens-Halloran 2008): cluster + within-cluster

4 Network Spillover 의 정의

정의: Network Spillover

Unit \(i\) 의 outcome \(Y_i\)자기 처치 \(A_i\) 뿐 아니라 다른 unit 의 처치 \(\{A_j: j \neq i\}\) 에 의해 영향 받는 경우. SUTVA 위반.

:

  • 2-sided market: 운전자 \(i\) 의 trip 수가 운전자 \(j\) 의 algorithm 에 영향 받음 (시장 경쟁)
  • Social: 사용자 \(i\) 의 시간 사용이 친구 \(j\) 의 새 feature 사용에 영향 받음 (network effect)
  • 광고: 지역 \(i\) 의 CPC 가 지역 \(j\) 의 입찰 변경에 영향 받음 (광고 경매)

결과: 표준 A/B 가 biased. control group 의 outcome처치 받지 않은 baseline 이 아님.

5 Bojinov, Simchi-Levi, Zhao (2023)

5.1 의의

Switchback experimentmodern 정통. 시계열 + 인과 의 통합.

5.2 내용

시간 단위 무작위 배정 + carry-over effect modeling. Estimator + SE 의 정통.

다음 글에서 깊이.

6 Vaver & Koehler (2011) — Geo Experiments

6.1 의의

Google 의 지역 광고 A/B 사례. Geo holdout 의 표준.

6.2 분석

도시별 time series of impressions/conversions. Causal impact 분석 (Brodersen et al. 2015).

다음 글에서 깊이.

7 Aronow & Samii (2017) — Exposure Mapping

7.1 의의

Network 에서 unit 의 spillover exposure 를 명시적으로 modeling.

7.2 Exposure

Unit \(i\)exposure = \(i\) 의 친구 중 처치 받은 비율 (또는 다른 함수).

Direct effect + indirect effect 분리.

다음 글에서 깊이.

8 응용 사례

8.1 Uber — Switchback

5 분 단위 알고리즘 전환. 모든 도시에서 처치/대조 시점 균등 분배.

8.2 Airbnb — Cluster

Listing cluster (위치, 가격대) 단위 무작위 배정. cluster 내 spillover 허용, 간 분리.

8.3 Facebook — Network Effect

Friend cluster 분석. 친구 일부에게 처치 시 다른 친구의 행동 변화 측정 — network spillover.

8.4 Search Ads — Geo

DMA (Designated Market Area) 단위. 일부 DMA 처치, 나머지 대조. 지역 단위 효과 추정.

9 Trade-off

측면 표준 A/B Switchback Geo Cluster
Spillover 처리 X 시점 분리 지역 분리 클러스터 분리
Sample 효율 중간 작음 중간
Carry-over 위험 없음 없음 작음
단위 사용자 시점 지역 클러스터
분석 표준 시계열 시계열 + DiD Hierarchical

10 후속 3 글 안내

10.1 J-SWITCH-1: Switchback Design

Bojinov 등의 정통. 시간 단위 무작위, carry-over effect, estimator + SE.

10.2 J-SWITCH-2: Geo Holdout

Vaver & Koehler 등의 표준. CausalImpact (Brodersen 2015) 와의 결합.

10.3 J-SWITCH-3: Spillover Detection

Aronow & Samii, Hudgens & Halloran 의 정통. Direct + indirect effect.

11 시뮬레이션 — Spillover 의 영향

import numpy as np

np.random.seed(42)

# 시나리오: 운전자 1000 명, 50% 처치
n = 1000
A = np.random.binomial(1, 0.5, n)
true_direct_effect = 5.0   # 처치 받은 본인의 효과
spillover_effect = -2.0    # 처치 받은 운전자가 많을수록 받지 않은 운전자에게 부정적

# 시장 평균 처치 비율
prop_treated = A.mean()

# Outcome (trips per day):
# - 본인 처치 직접 효과
# - 시장에서 다른 처치 운전자 비율의 spillover
Y = np.zeros(n)
for i in range(n):
    Y[i] = 50 + true_direct_effect * A[i] + spillover_effect * prop_treated + np.random.normal(0, 3)

# 표준 A/B (잘못된 추정)
naive = Y[A == 1].mean() - Y[A == 0].mean()
print(f"[Spillover 영향 시뮬레이션]\n")
print(f"진짜 direct effect: {true_direct_effect}")
print(f"Spillover effect (시장 비율): {spillover_effect}")
print(f"\n[표준 A/B (잘못된 추정)]")
print(f"  Naive estimate: {naive:.2f}")
print(f"  → 표준 A/B 는 direct effect 만 추정 — spillover 무시")
print(f"  → control group 도 spillover 받음, 추정 biased\n")

# Geo split (가상)
print(f"[Geo Split 시뮬레이션]")
# 도시 A: 모두 처치, 도시 B: 모두 대조
n_geo = 500
prop_A = 1.0   # 도시 A 100% 처치
prop_B = 0.0   # 도시 B 0% 처치

Y_A = 50 + true_direct_effect * 1 + spillover_effect * prop_A + np.random.normal(0, 3, n_geo)
Y_B = 50 + true_direct_effect * 0 + spillover_effect * prop_B + np.random.normal(0, 3, n_geo)

geo_estimate = Y_A.mean() - Y_B.mean()
print(f"  Geo estimate: {geo_estimate:.2f}")
print(f"  → direct + spillover 의 합 추정")
print(f"  → 진짜 시장 효과 (배포 후 효과) 에 더 가까움")
print(f"  → 진짜 합: {true_direct_effect + spillover_effect}")

12 결론

Network spillover 가 SUTVA 위반 시 표준 A/B biased. Switchback / Geo / Cluster 같은 우회 design 또는 Aronow-Samii 의 exposure mapping 같은 분석 기법 으로 처리. 응용 — Uber, Airbnb, Facebook, Google.

핵심 메시지:

  1. Network spillover: 단위 간 영향, SUTVA 위반
  2. Switchback (Bojinov 2023): 시간 단위 무작위
  3. Geo Holdout (Vaver-Koehler 2011): 지역 단위
  4. Cluster-randomized: 클러스터 단위
  5. Aronow-Samii (2017): exposure mapping
  6. 응용: Uber, Airbnb, Facebook, Google 등 표준
  7. Trade-off: spillover 처리 vs sample 효율

후속 3 글에서 깊이.

13 관련 주제

선행 지식

  • (Phase F) F12-* — Client-side experiments (spillover 일부 다룸)
  • (Phase F) Trustworthy A/B 의 SUTVA 가정

Phase J 후속 글

14 참고문헌

  • Bojinov, I., Simchi-Levi, D., Zhao, J. (2023). Design and analysis of switchback experiments. Management Science 69, 3759-3777.
  • Vaver, J. & Koehler, J. (2011). Measuring ad effectiveness using geo experiments. Google Tech Report.
  • Brodersen, K. H., Gallusser, F., Koehler, J., Remy, N., Scott, S. L. (2015). Inferring causal impact using Bayesian structural time-series models. Annals of Applied Statistics 9, 247-274.
  • Aronow, P. M. & Samii, C. (2017). Estimating average causal effects under general interference. Annals of Applied Statistics 11, 1912-1947.
  • Hudgens, M. G. & Halloran, M. E. (2008). Toward causal inference with interference. J. Amer. Statist. Assoc. 103, 832-842.
  • Athey, S., Eckles, D., Imbens, G. W. (2018). Exact p-values for network interference. J. Amer. Statist. Assoc. 113, 230-240.

Subscribe

Enjoy this blog? Get notified of new posts by email: