"광고 입찰 알고리즘 두 안을 A/B로 비교하려는데, 처리군 입찰이 대조군 노출에도 영향을 줘요." 이런 상황에서 일반 A/B는 깨집니다. 처리·대조군이 같은 광고 슬롯·같은 매체 풀을 두고 경쟁하기 때문에 서로의 결과를 흔듭니다. Switchback은 이 문제를 시간을 잘라 푸는 실험 설계입니다. 같은 유저·같은 시장에 시간 단위로 ON/OFF를 번갈아 적용하면 처리·대조 간 간섭이 사라집니다. 마케터가 알아야 할 세 번째 실험 도구를 정리합니다.
1. SUTVA 위반 — 일반 A/B가 깨지는 자리
A/B 테스트의 가장 중요한 가정 중 하나는 SUTVA(Stable Unit Treatment Value Assumption)입니다. 한 줄 정의는 다음입니다.
한 유저의 처리·대조 결과는 다른 유저의 처리·대조 배정에 영향받지 않는다.
대부분의 마케팅 실험은 이 가정 위에서 작동합니다. 광고 카피 A/B는 한 유저가 보는 카피가 다른 유저에게 영향 없으므로 SUTVA 충족. UI 변경 A/B도 마찬가지입니다.
문제는 다음 자리들입니다.
- 광고 입찰 — 처리군 입찰가 변화가 같은 슬롯의 대조군 노출에 영향
- 실시간 매칭 — 라이드 헤일링·배달의 처리군 매칭이 대조군 대기 시간에 영향
- 리쿠리 광고 — 처리군이 본 광고가 같은 가구 안 대조군의 광고 인지에 영향
- 가격 실험 — 처리군 가격이 같은 카테고리 대조군 매출에 영향
- 예산 캡 캠페인 — 처리군 노출이 같은 캠페인의 대조군 잔여 예산을 잡아먹음
이 자리들은 처리와 대조군이 같은 풀을 공유합니다. 일반 A/B로 비교하면 효과가 0에 가까워지거나 반대 방향으로 보고됩니다. SUTVA가 깨졌기 때문입니다.

유저 단위가 아니라 시간 단위로 처리·대조를 바꾼다. 같은 시장 안의 모든 유저가 한 시간 슬롯에서는 같은 처리, 다음 슬롯에서는 같은 대조를 받는다.
📌 이 글에서 다루는 것
Switchback experiment는 Lyft·DoorDash·Uber가 양면 시장 실험 표준으로 도입한 설계입니다. 마케팅에서는 광고 입찰·예산 캡·리쿠리 광고처럼 자원 공유가 있는 자리에 그대로 적용됩니다. 이 글은 직관·운영·자주 깨지는 함정을 마케터 시각으로 풀어냅니다.
2. Switchback의 한 줄 아이디어
switchback의 핵심은 한 줄입니다.
처리·대조를 유저 단위가 아니라 시간 단위로 바꾼다.
예를 들어 30분 단위로 잘라 홀수 슬롯은 처리, 짝수 슬롯은 대조. 같은 시장 안 모든 유저가 같은 슬롯에서는 같은 처리를 받습니다. 처리·대조 간 자원 경쟁이 사라집니다.
| 시간 슬롯 | 시장 | 모든 유저 |
|---|---|---|
| 09:00~09:30 | 처리 (T) | 새 알고리즘 |
| 09:30~10:00 | 대조 (C) | 기존 알고리즘 |
| 10:00~10:30 | 처리 (T) | 새 알고리즘 |
| 10:30~11:00 | 대조 (C) | 기존 알고리즘 |
이 데이터에서 처리군 슬롯의 평균 메트릭과 대조군 슬롯의 평균 메트릭을 비교합니다. 시간 단위 단위로 SUTVA가 풀려 효과가 깨끗하게 추정됩니다.
수식으로 적으면 단순합니다.
여기서 는 시간 슬롯 의 처리 표시, · 는 처리·대조 슬롯의 평균 메트릭입니다.
3. 슬롯 길이를 어떻게 정하나 — carryover의 함정
switchback의 가장 중요한 운영 결정은 슬롯 길이입니다. 짧으면 carryover effect가 강하고, 길면 표본이 부족합니다.
3-1. carryover effect
처리 슬롯 동안 일어난 일이 다음 대조 슬롯에 영향을 남기는 현상입니다.
- 광고 입찰: 처리 슬롯에서 입찰을 더 세게 부른 결과가 대조 슬롯의 매체 풀 상태에 영향
- 라이드 헤일링: 처리 슬롯에서 매칭된 드라이버가 대조 슬롯에서도 그 영향에 있음
- CRM: 처리 슬롯에 보낸 푸시가 대조 슬롯의 행동에 영향
슬롯이 너무 짧으면 carryover로 처리·대조의 차이가 깎입니다. 운영에서는 도메인의 carryover 시간 척도(보통 운영 사이클의 1~2배)를 슬롯 길이로 잡는 게 표준입니다.
3-2. 표본 크기
슬롯이 너무 길면 같은 기간 안에 슬롯 수가 적어 검출력이 떨어집니다. 표본 단위가 유저가 아니라 슬롯이기 때문입니다. 일반적인 가이드라인:
- 광고 입찰·실시간 매칭: 30분~1시간 슬롯, 2주 운영
- 가격 실험·예산 캡: 1일 슬롯, 4~6주 운영
- CRM·푸시: 6시간 슬롯, 2~3주 운영
💡 슬롯 길이의 첫 결정은 도메인 사이클
switchback의 슬롯 길이는 통계적 검출력보다 도메인 carryover 시간이 우선입니다. carryover보다 짧으면 효과가 깎이고, 너무 길면 운영 기간이 늘어납니다. 도메인 expert와 한 번 의논해서 carryover 사이클을 정하고, 그 사이클의 1~2배를 슬롯 길이로 잡으세요.
4. 처리·대조 슬롯 배치 — 무작위 vs 격자
슬롯에 처리·대조를 어떻게 배정하느냐도 결정 요소입니다. 두 가지 패턴이 있습니다.
- 무작위 배정 — 각 슬롯을 50% 확률로 처리·대조. 단순, 시간 추세 흡수 약함
- 격자(alternating) 배정 — T-C-T-C 순서. 시간 추세 흡수 강함, 카운터 가능성 약점
운영 표준은 보통 격자 배정에 약간의 무작위성을 더한 형태입니다. 매주 시작 슬롯의 T/C를 무작위로 정하고 그 안에서 격자로 가는 식. 시간 추세를 떼어내면서도 운영자가 패턴을 외우지 못하게 합니다.
회귀로 분석할 때는 시간 효과를 명시적으로 보정합니다.
python
Top comments (0)