MAB vs A/B Test — Decision Framework

정확 측정 vs 빠른 최적화의 trade-off

Multi-Armed Bandit 과 A/B Testing 의 본질적 차이. (1) 두 도구가 답하는 서로 다른 질문 — 효과의 통계적 추정 vs 누적 보상 최적화, (2) 5 가지 결정 기준 (실험 horizon, 결과 평가의 시점, 통계 정밀성 요구, 윤리·규제 제약, 비즈니스 맥락), (3) 흔한 오해와 함정, (4) Hybrid 접근 (탐색 단계 → A/B, 채택 단계 → MAB), (5) 실무 의사결정 플로차트.

Experimentation
MAB
저자

Kwangmin Kim

공개

2026년 05월 09일

출처

이 글은 교재 직접 참조 없이 agent 사전학습 기반으로 작성되었다 (교재 미확인 — agent 사전학습 기반). Kohavi et al. (2020) Trustworthy Online Controlled Experiments Ch.4 의 간접 인용이며, 본 글은 Schulz Phase F 의 cross-link 이다.

이 글은 Phase I 시리즈의 다섯 번째 글이다. 이전 4 글에서 다룬 MAB 알고리즘 (ε-greedy, UCB, Thompson)A/B Test (Phase F) 의 서로 다른 질문에 대한 답 이라는 본질을 정리한다.

1 진입 직관 — 두 도구는 경쟁자가 아니다

흔한 오해: “MAB 가 A/B 테스트의 진보된 버전”. 틀렸다.

본질적 차이: A/B 테스트와 MAB 는 서로 다른 질문 에 답한다.

  • A/B Test: “이 처치의 진짜 평균 효과 가 얼마인가?” — 추정·검정 도구
  • MAB: “매 시점 어떤 처치를 노출 해야 총 누적 보상 이 최대인가?” — 최적화 도구

같은 데이터·같은 환경에서 양립 가능. 하나가 다른 하나의 대체가 아님.

비유 — 운전 vs 내비게이션: A/B 테스트는 차선 변경의 효과 측정 (실험), MAB 는 실시간 경로 최적화 (운영). 둘 다 필요. 운영만 하면 측정 안 됨, 측정만 하면 운영 안 됨.

2 5 가지 결정 기준

어느 도구를 사용할지 결정하는 5 가지 차원.

2.1 기준 1: 실험 Horizon — 짧은가, 긴가?

Horizon 권장 도구
짧음 (수일~수주) A/B Test — 효과 검증 우선
중간 (수주~수개월) Hybrid — 초기 A/B, 후기 MAB
긴 (수개월~상시) MAB — 누적 보상 최적화

반사실: 1 일짜리 광고 배너 검증 시험에 MAB 사용? 학습 시간 부족 — 통계적 추론 없이 끝남. A/B 가 적절. 반대로 상시 추천 시스템 에 A/B? 영원한 균등 할당 의 비효율 — MAB 가 적절.

2.2 기준 2: 결과 평가의 시점 — 학습 중인가, 학습 후인가?

평가 시점 적합 regret 도구
학습 중 (실시간) Cumulative regret MAB
학습 후 (배포 결정) Simple regret A/B 또는 Best Arm Identification

사례:

  • 임상 시험: 약 1 개 채택 — Simple regret. A/B (또는 더 정교한 RCT) 가 적합.
  • 광고 추천: 매 노출이 수익 — Cumulative regret. MAB 가 적합.

2.3 기준 3: 통계 정밀성 요구

요구 권장 도구
효과 크기 정확 추정 (예: lift = 5% ± 1%) A/B Test (균등 할당)
최선의 처치 식별 MAB
각 segment 의 효과 추정 A/B + Subgroup
효과 부호 만 알면 됨 MAB (탐색 후 활용)

MAB 의 추정 정밀성 함정: MAB 는 suboptimal 팔에 적은 sample — 그 팔의 효과 추정 정밀성 약함. 하나의 팔만 알면 OK 면 문제 없으나, 각 팔의 효과 비교 가 필요하면 부적합.

2.4 기준 4: 윤리·규제 제약

영역 제약
임상시험 (FDA 등) A/B (RCT) 표준. MAB 는 response-adaptive 로 일부 허용
의료 기기 A/B (대부분)
광고·웹 거의 자유 — MAB 흔함
추천 시스템 거의 자유 — MAB 표준

이유: 규제 기관은 결정의 statistical evidence 우선. MAB 의 불균등 sample사후 분석 어려움 — 규제 입장에서 덜 신뢰. Phase C 시리즈의 적절한 무작위 배정 원칙고정 할당 기반.

반사실: 임상시험에 MAB 적용 시도가 있지만 (response-adaptive randomization), 대부분 시험 은 여전히 고정 할당. Schulz Ch.20 (multiplicity II) 의 stopping rules 가 MAB 와 다른 메커니즘.

2.5 기준 5: 비즈니스 맥락

맥락 권장 도구
제품 결정 — UI 변경 채택 여부 A/B Test
지속 운영 — 추천 시스템 MAB
반복 가능 프로세스 — 새 광고 빈번 MAB
희귀 결정 — 큰 알고리즘 변경 A/B Test

결정 공식: 결정의 빈도. 매 환자/사용자/세션에 새 결정 필요 → MAB. 한 번의 큰 결정 → A/B.

3 흔한 오해 5 가지

3.1 오해 1: “MAB 가 A/B 보다 항상 좋다”

반박: A/B 의 고정 할당효과 추정 정밀성 우월. MAB 는 suboptimal 팔의 추정 약함.

3.2 오해 2: “MAB 가 A/B 보다 sample 효율적”

반박: 혼동 발생. MAB 는 cumulative reward 효율, A/B 는 효과 추정 효율. 서로 다른 metric.

3.3 오해 3: “MAB 는 A/B 의 simple regret 도 처리”

반박: 그러나 Best Arm Identification (Phase I-8) 은 일반 MAB 와 다른 알고리즘. UCB·Thompson 은 cumulative regret 최적화 — simple regret 에 차선.

3.4 오해 4: “MAB 가 더 윤리적 (효과 좋은 처치 더 많이)”

반박: 임상에서는 효과 크기 추정 정밀성 도 윤리. 약 승인 결정에 부정확 효과향후 환자 해. 환자별 적응 의 매력 vs 전체 모집단의 통계 추론 의 trade-off.

3.5 오해 5: “MAB 면 통계 분석 불필요”

반박: MAB 운영 후에도 효과 분석 필요. 그러나 불균등 sample 로 분석 어려움. Inverse Probability Weighting 같은 보정 필요.

4 Hybrid 접근

4.1 Approach 1: A/B → MAB

Phase 1: 고정 할당 A/B Test (수주)
  - 통계적 유의성 검증
  - 효과 크기 추정

Phase 2: MAB 운영 (지속)
  - 승자 결정 후 *남은 트래픽 (10~20%) 으로 새 variant 시도*
  - 누적 보상 최적화

사례: 추천 시스템. 새 알고리즘 A/B 1 주 검증 → 채택 시 95% 사용자 새 알고리즘 + 5% MAB 탐색 (최신 v2, v3).

4.2 Approach 2: MAB → A/B 검증

Phase 1: MAB 탐색 (빠른 식별)
  - Thompson Sampling 으로 *유망 후보* 식별

Phase 2: A/B 정식 검증
  - 유망 후보 vs 표준 의 *고정 할당 시험*
  - 통계적 유의성 + 효과 정밀 추정

사례: 신약 후보 50 개. MAB 탐색 으로 상위 5 개 식별고정 RCT 로 정식 검증.

4.3 Approach 3: Multi-Stage Bandit

Best Arm Identification (Phase I-8). 처음에는 모든 팔에 균등 시도, 점진적으로 분명히 나쁜 팔 제거. fixed budget 또는 fixed confidence 접근.

5 Decision Framework — 의사결정 플로차트

Q1: 효과의 *통계적 정확 추정* 이 결정 자체보다 중요한가?
  YES → A/B Test
  NO → Q2

Q2: *각 결정마다 보상* (매 사용자에 의미 있는 결과) 인가?
  YES → MAB
  NO → A/B Test

Q3: 결정의 *반복 빈도* 가 매우 높은가? (예: 매 페이지 노출)
  YES → MAB
  NO → A/B Test

Q4: *규제 제약* (임상, FDA 등) 이 있는가?
  YES → A/B Test (RCT)
  NO → MAB 가능

Q5: *Hyperparameter 튜닝 자원* 이 충분한가?
  YES → Thompson 또는 UCB
  NO → A/B Test (단순)

Q6: *Hybrid* 가능한가? (시간·자원)
  YES → A/B → MAB 또는 Best Arm Identification
  NO → 단일 도구 선택

6 시뮬레이션 — A/B vs MAB 비교

import numpy as np
from scipy import stats

np.random.seed(42)

K = 5
true_means = np.array([0.30, 0.50, 0.70, 0.40, 0.60])
mu_star = true_means.max()
N = 5000

# A/B Test: 균등 할당
def ab_test(true_means, N):
    K = len(true_means)
    rewards = np.zeros(N)
    for t in range(N):
        a = t % K   # round-robin
        rewards[t] = np.random.binomial(1, true_means[a])
    return rewards

# MAB: Thompson Sampling
def thompson(true_means, N):
    K = len(true_means)
    alpha = np.ones(K)
    beta = np.ones(K)
    rewards = np.zeros(N)
    for t in range(N):
        theta = np.random.beta(alpha, beta)
        a = theta.argmax()
        r = np.random.binomial(1, true_means[a])
        rewards[t] = r
        if r == 1:
            alpha[a] += 1
        else:
            beta[a] += 1
    return rewards

n_sim = 200
ab_total = []
mab_total = []
ab_mu_estimate = []   # MAB 의 효과 추정 정밀성
mab_mu_estimate = []

for s in range(n_sim):
    ab_r = ab_test(true_means, N)
    mab_r = thompson(true_means, N)
    ab_total.append(ab_r.sum())
    mab_total.append(mab_r.sum())

# 효과 추정 정밀성 (단일 시뮬레이션, 마지막 시점)
np.random.seed(0)
ab_pulls = np.zeros(K, dtype=int)
ab_sums = np.zeros(K)
for t in range(N):
    a = t % K
    r = np.random.binomial(1, true_means[a])
    ab_pulls[a] += 1
    ab_sums[a] += r

alpha = np.ones(K)
beta = np.ones(K)
mab_pulls = np.zeros(K, dtype=int)
for t in range(N):
    theta = np.random.beta(alpha, beta)
    a = theta.argmax()
    r = np.random.binomial(1, true_means[a])
    mab_pulls[a] += 1
    if r == 1:
        alpha[a] += 1
    else:
        beta[a] += 1

print(f"[A/B vs MAB — N={N}, 200 sims]\n")
print(f"누적 보상 평균:")
print(f"  A/B:      {np.mean(ab_total):>7.1f}")
print(f"  MAB (TS): {np.mean(mab_total):>7.1f}")
print(f"  차이:     {np.mean(mab_total) - np.mean(ab_total):>7.1f}\n")

print(f"단일 시뮬레이션 — 각 팔의 시도 횟수:")
print(f"  A/B 균등 할당: {ab_pulls}")
print(f"  MAB Thompson:  {mab_pulls}")
print(f"  진짜 평균:     {true_means}")

print(f"\n[MAB 의 정밀성 함정]")
print(f"  Suboptimal 팔 (예: 팔 0, 진짜 평균 0.30):")
print(f"    A/B 시도 = {ab_pulls[0]}, 표본 평균 = {ab_sums[0]/ab_pulls[0]:.3f}")
print(f"    MAB 시도 = {mab_pulls[0]}")
print(f"  → MAB 는 suboptimal 팔의 효과 추정이 매우 부정확")

print(f"\n→ MAB 는 더 큰 누적 보상")
print(f"→ A/B 는 모든 팔의 효과를 정밀히 추정")

결과 해석:

  1. 누적 보상: MAB > A/B (보통 5~10%). MAB 의 매력.
  2. 각 팔의 시도 횟수: A/B 균등, MAB 매우 불균등 (최선 팔에 대부분 집중).
  3. Suboptimal 팔의 효과 추정: A/B 정밀, MAB 매우 부정확 — trade-off 명확.

7 결론

MAB 와 A/B Test 는 경쟁자가 아닌 보완재. 5 가지 기준 (horizon, 평가 시점, 정밀성, 규제, 비즈니스) 으로 적합 도구 선택. Hybrid 접근이 흔히 최선.

핵심 메시지:

  1. 다른 질문: A/B = 효과 추정, MAB = 보상 최적화
  2. 5 가지 기준 으로 선택
  3. 5 가지 흔한 오해 회피
  4. Hybrid 접근: A/B → MAB 또는 MAB → A/B 검증
  5. 규제 영역 (임상): A/B 우선

다음 두 글: Contextual Bandit, Non-stationary Bandit — MAB 의 확장.

8 관련 주제

선행 지식

Phase I 후속 글

Phase F 와 cross-link

  • (Phase F) Trustworthy Online Controlled Experiments — A/B 정통
  • (Phase F-7) Bayesian A/B Testing — Thompson 의 형제

9 참고문헌

  • Kohavi, R., Tang, D., Xu, Y. (2020). Trustworthy Online Controlled Experiments, Ch. 4. Cambridge University Press. (간접 인용)
  • Russo, D., Van Roy, B., Kazerouni, A., Osband, I., Wen, Z. (2018). A tutorial on Thompson sampling. Foundations and Trends in Machine Learning 11, 1-96.
  • Scott, S. L. (2010). A modern Bayesian look at the multi-armed bandit. Appl. Stoch. Models Bus. Ind. 26, 639-658.
  • Lattimore, T. & Szepesvári, C. (2020). Bandit Algorithms. Cambridge University Press. (교재 미확인 — agent 사전학습 기반)

Subscribe

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