huny.log

기술 포스트 · 통계·ML

Multi-Armed Bandit vs A/B — 언제 어떤 걸 써야 하나

광고 운영 플랫폼의 Auto Optimize는 사실 Multi-Armed Bandit입니다. A/B 테스트와 어떻게 다르고, 언제 어떤 걸 써야 하는지 마케터 시각으로 정리.

Meta 광고 매니저의 “Auto Optimize”, Google Ads의 “Optimize”, 추천 시스템의 “자동 배분” — 이름은 다르지만 뒤에서 돌아가는 알고리즘은 같은 가족입니다. Multi-Armed Bandit(MAB). 그런데 우리가 “실험”이라고 부르는 A/B 테스트와는 결이 완전히 다릅니다. 어느 쪽을 언제 써야 하는지, 마케터가 운영 의사결정을 내릴 때 헷갈리지 않도록 한 번 정리해 봅니다.

1. 슬롯머신 비유 — MAB의 출발점

카지노에 슬롯머신이 5대 있습니다. 각 머신의 당첨 확률은 다르지만 우리는 모릅니다. 토큰은 1,000개 한정. 어떻게 굴려야 가장 많이 따낼까요?

A/B 테스트와 Multi-Armed Bandit의 차이를 슬롯머신 5대로 비교
A/B는 모든 머신을 똑같이 굴려 어느 게 좋은지 결정한 뒤 한 대만 굴리는 방식. MAB는 굴리면서 학습하고, 좋아 보이는 머신에 점점 더 많이 토큰을 넣는다.

두 가지 전략이 있습니다.

  • A/B 전략: 1,000번을 5대에 200번씩 똑같이 나눠서 굴려 본다. 결과를 본 뒤 가장 잘 나온 머신을 골라 다음번엔 그 머신만 굴린다.
  • Bandit 전략: 굴리는 도중에 결과를 보고, 잘 나오는 머신엔 토큰을 더 넣고, 안 나오는 머신엔 덜 넣는다. 1,000번 안에 학습과 수확을 동시에 한다.

A/B는 “결정을 위한 도구”이고, MAB는 “수익화하면서 학습하는 도구”입니다. 이 한 줄이 두 기법을 가르는 가장 중요한 차이예요.

2. Exploration vs Exploitation — 모든 게 이 한 줄

MAB의 핵심 개념은 단 하나입니다.

  • Exploration(탐색): 아직 모르는 옵션을 시도해 정보를 얻는다
  • Exploitation(활용): 지금까지 가장 좋아 보이는 옵션을 골라 수확한다

이 둘은 본질적으로 충돌합니다. 탐색에 너무 많이 쓰면 최적안이 있어도 수확을 못 하고, 활용에 너무 빨리 빠지면 사실 더 좋은 안이 있는데 못 보고 끝나요.

수식으로 쓰면, 시점 에서 옵션 의 평균 보상 추정치를 , 시도한 횟수를 라고 할 때 다음과 같은 트레이드오프를 풉니다.

오른쪽의 “보너스 항”을 어떻게 정의하느냐에 따라 알고리즘이 갈립니다. ε-greedy, UCB, Thompson sampling 모두 이 보너스의 다른 형태일 뿐이에요.

3. 세 가지 알고리즘 — ε-greedy, UCB, Thompson sampling

3.1 ε-greedy — 가장 단순한 형태

확률 만큼은 무작위 옵션을 고르고(탐색), 만큼은 지금까지 가장 잘 나온 옵션을 고른다(활용). 이면 매 노출의 10%를 탐색에, 90%를 활용에 씁니다.

장점은 코드 두 줄로 끝나는 단순함, 단점은 탐색이 무차별이라는 점이에요. 이미 100번 시도해서 분명히 안 좋은 안에도 똑같이 10% 확률로 토큰이 들어갑니다.

3.2 UCB(Upper Confidence Bound) — 신뢰구간 상한을 보고 결정

각 옵션의 평균 추정치 + “이 추정의 불확실성”을 함께 봅니다. 시도 횟수가 적은 옵션은 불확실성이 크니까 자연스럽게 더 자주 선택돼요.

여기서 두 번째 항이 시도 횟수 가 작을수록 커집니다. 즉 “아직 잘 모르는 옵션”이 자동으로 더 자주 선택되고, 시도가 쌓이면 그 항은 줄어들어 자연스럽게 활용 단계로 넘어가요.

3.3 Thompson sampling — 베이지안 방식

각 옵션의 보상 분포를 사전 분포(예: Beta(1,1))로 두고, 결과가 나올 때마다 사후 분포를 업데이트합니다. 매 시점마다 각 옵션의 사후 분포에서 샘플을 뽑아 가장 큰 값을 선택해요.

샘플링 자체에 무작위성이 있어 자연스럽게 탐색이 되고, 데이터가 쌓일수록 분포가 좁아지면서 탐색 비중이 줄어듭니다. 직관적으로는 “가능한 진실의 시나리오 중 하나를 무작위로 뽑아 보고, 그게 사실이라면 어떤 선택을 할지”를 매 노출마다 해보는 방식이에요.

# Thompson sampling — 클릭률 두 옵션 자동 배분 (8줄)
import numpy as np
alpha = np.array([1, 1]) # 각 옵션의 클릭(성공) 카운트 + 1
beta = np.array([1, 1]) # 각 옵션의 노이즈(실패) 카운트 + 1
for _ in range(N):
samples = np.random.beta(alpha, beta) # 사후 분포에서 한 번씩 추출
chosen = samples.argmax() # 가장 큰 샘플의 옵션 선택
reward = serve_and_observe(chosen) # 노출하고 클릭/비클릭 관측
alpha[chosen] += reward # 클릭이면 +1
beta[chosen] += 1 - reward # 비클릭이면 +1

Thompson sampling은 실무에서 가장 널리 쓰이는 MAB 알고리즘입니다. 광고 플랫폼·추천 시스템 대부분이 이 변형을 쓴다고 봐도 무방해요.

4. 언제 MAB가 A/B를 이기는가

세 가지 조건이 모두 맞을 때 MAB가 강합니다.

  • 옵션이 많다: 5개 이상의 광고 소재 중 자동 배분
  • 보상 측정이 빠르다: 클릭·전환처럼 노출 직후 결과가 나옴
  • 실험 자체가 비용: 약한 안에도 트래픽이 가는 것이 곧 손실

전형적인 케이스는 광고 소재 자동 배분입니다. 같은 캠페인에 10개의 크리에이티브를 넣고, 첫날부터 잘 나오는 소재에 예산이 자동으로 흘러가게 하면 같은 예산으로 30~50% 더 많은 클릭을 가져올 수 있어요. 이것이 Meta·Google이 광고주에게 “Auto Optimize”를 권하는 이유입니다.

조건A/B 유리MAB 유리
옵션 개수2~3개5개 이상
보상 측정 시간며칠~몇 주즉시(분/시간)
의사결정 목표최종 안 결정·롤아웃운영 중 누적 보상 최대화
결과 해석성통계 검정 결과 명시 필요”그냥 잘 굴러갔다”로 충분
공정성모든 안에 충분한 노출 보장약한 안엔 노출 거의 안 됨

5. 그런데 왜 모두가 MAB로 안 가나 — 한계 4가지

MAB가 항상 우월하면 A/B 테스트는 사라졌을 텐데 그렇지 않은 이유가 있습니다.

5.1 메트릭이 다축일 때 무너짐

MAB는 단일 보상을 최대화합니다. 그런데 마케팅 의사결정은 보통 다축입니다. ROAS는 좋은데 LTV는 떨어지는 안, CPC는 낮은데 환불률이 높은 안 — 이런 트레이드오프를 MAB는 자동으로 풀지 못해요. 보상을 “ROAS - 환불 페널티”처럼 합성하는 순간 그 함수가 곧 의사결정 가치를 정의해버려서 사람이 검증하기 어려워집니다.

5.2 지연 보상이 클 때 학습 속도가 망가짐

LTV·재구매·해지율은 결과가 며칠~몇 주 뒤에 나옵니다. MAB는 빠른 보상이 와야 학습이 도는데, 보상이 늦으면 그 사이의 노출은 모두 “탐색”인 채로 굴러가요. 차라리 충분한 표본까지 균등 분배하는 A/B가 더 나은 선택이 됩니다.

5.3 의사결정·보고가 어려움

A/B의 결과는 “p < 0.05로 B안이 +5.2% 우월”처럼 이사회에 가져갈 한 줄이 명확합니다. MAB의 결과는 “5번째 안이 결국 60%의 노출을 가져갔습니다”처럼 통계적 의사결정의 형태가 아니에요. “왜 그렇게 됐냐”는 질문에 답하기 어렵고, 다른 영역에 일반화도 어렵습니다.

5.4 SRM·신뢰성 점검이 어려움

MAB는 정의상 노출 비율이 동적으로 바뀝니다. A/B에서 SRM(Sample Ratio Mismatch)을 잡는 도구가 그대로 안 통해요. 분기 자체에 버그가 있어도 “잘 나오는 옵션이 더 받는 거니까 정상”으로 해석돼서 디버깅이 어렵습니다.

6. 마케터가 만나는 ‘Auto Optimize’의 정체

플랫폼별로 이름과 동작이 조금씩 다르지만, 다음은 사실상 모두 MAB의 변형입니다.

  • Meta Ads — Advantage+ Creative: 같은 캠페인 내 크리에이티브 자동 배분
  • Google Ads — Optimize Ad Rotation: 같은 광고 그룹 내 광고 자동 우선순위
  • Google DV360 — auto-bidding: 입찰 + 노출 분배 결합
  • 추천 시스템 — Bandit-based ranking: 상품·콘텐츠 자동 정렬

운영 효율은 좋지만 학습 결과가 블랙박스입니다. 어떤 안이 왜 이겼는지 플랫폼이 자세히 알려주지 않아요. 마케터가 “다음 분기 크리에이티브를 어떤 방향으로 만들어야 하나”라는 질문에 답을 얻으려면 별도로 A/B를 돌려야 합니다.

목표권장 도구
같은 캠페인 내 트래픽 효율 최대화MAB(플랫폼 Auto Optimize)
“우리 브랜드에는 어떤 톤이 맞나” 학습A/B + 인사이트 분석
가격·정책·UX 결정A/B(또는 multi-cell experiment)
신메뉴·신소재 첫 출시 후 자동 배분MAB(Auto Optimize 켜기)
채널 간 예산 배분MAB가 아니라 MMM이나 incrementality

7. 두 도구를 함께 쓰는 패턴 — Hybrid

실무에서 가장 효과적인 건 둘을 시간으로 나눠 쓰는 것입니다.

  1. 탐색 단계(1-2주) — A/B로 5개 안을 균등 분배해 데이터 수집. 분명히 약한 안 2-3개 제거.
  2. 활용 단계(이후) — 살아남은 2-3개 안을 MAB로 자동 배분. 트래픽 효율 극대화.
  3. 주기적 갱신 (분기 1회) — 새 크리에이티브를 1번 단계부터 다시 시작.

이 패턴은 “A/B의 통계적 신뢰”와 “MAB의 운영 효율”을 모두 가져옵니다. Netflix·Booking 같은 회사가 실제로 이 형태로 운영해요.

8. 마치며 — 한 장으로 요약

  • A/B = “결정을 위한 도구”. 옵션 2~3개, 충분한 표본, 통계적 신뢰가 필요할 때.
  • MAB = “수익화하면서 학습하는 도구”. 옵션 다수, 빠른 보상, 누적 보상 최대화가 목표일 때.
  • ε-greedy / UCB / Thompson sampling — 본질은 같은 트레이드오프, 실무 성능 차이는 작음.
  • 다축 메트릭·지연 보상·정책 결정에서는 A/B를 고집하는 게 맞다.
  • 플랫폼의 ‘Auto Optimize’는 MAB. 효율은 얻지만 인사이트는 별도 A/B로 학습해야 한다.
  • 가장 강한 패턴은 둘의 hybrid — 짧은 A/B로 약한 안 거르고 MAB로 운영.

다음 글은 광고 입찰 메커니즘이 GSP에서 First-price로 넘어가면서 마케터의 입찰 전략이 어떻게 바뀌었는지 정리합니다.

참고

통계·ML 카테고리의 다른 글

전체 보기 →