마케팅 실험 플랫폼 설계 — 사내 A/B 시스템의 5가지 원칙
광고 플랫폼 자체 A/B로는 부족하고 외부 SaaS는 비쌉니다. 사내 마케팅 실험 플랫폼을 설계할 때 깔아야 할 split assignment·exposure log·SRM 검정·sequential safe·메타 표준 5가지 원칙.
Meta·Google의 자체 A/B 도구는 광고 자체 효과만 보고, Optimizely·VWO는 비싸고 마케팅 데이터와 안 맞습니다. 사내 마케팅 실험 플랫폼을 직접 만들 때 깔아야 할 5가지 원칙이 있습니다. 한 가지라도 빠지면 결과가 흔들리고, 다섯 가지가 함께 깔리면 분기 실험이 정직한 의사결정의 기반이 됩니다.
마케터가 이 글을 읽어야 하는 이유: 사내 실험 플랫폼은 분석가·엔지니어가 만들지만, 마케터가 그 5가지 원칙을 모르면 결과 보고를 제대로 해석 못 합니다. 어떤 자리에서 어떤 보정이 필요한지, SRM 알림이 뜨면 무엇을 의심해야 하는지 — 이걸 알면 회의에서 결정 속도가 한 단계 올라갑니다.
1. 원칙 1 — 결정론적 split assignment
1-1. 직관
같은 사용자가 실험에 여러 번 진입해도 항상 같은 그룹에 배정되어야 함. 매번 다른 그룹에 들어가면 결과가 흩어짐.
1-2. 표준 구현
사용자 ID와 실험 ID를 결합한 해시로 그룹 결정.
는 사용자 ID, 는 실험 ID, 은 그룹 수. SHA-256·MurmurHash3 등 빠른 해시 사용. 결정론적이라 같은 입력에는 항상 같은 출력.
1-3. 흔한 실수
- 시간 기반 ID 사용 → 매번 다른 그룹
- 실험 ID 빠뜨림 → 한 사용자가 모든 실험에서 같은 그룹 (의도된 균등 배정 깨짐)
- 캠페인 단위 실험인데 사용자 단위 split → 노출 빈도 차이로 편향
2. 원칙 2 — exposure log
2-1. 직관
사용자가 실험 그룹에 배정된 시점·맥락을 모두 기록. 결과 분석에 그 로그가 진실의 기반.
2-2. 필수 필드
| 필드 | 의미 |
|---|---|
| user_id | 사용자 식별자 |
| experiment_id | 실험 ID |
| variant | 배정된 그룹 (A/B/C…) |
| timestamp | 노출 시점 |
| context | 디바이스·페이지·세그먼트 등 |
이 5개 필드만 정확하면 후속 분석의 80%가 가능.
2-3. 노출 vs 의도 (intent-to-treat)
A/B 결과 분석의 표준은 ITT(Intent-to-Treat) — 그룹에 배정된 사용자가 실제로 처리를 받았는지와 무관하게 그룹 단위로 분석. 이 원칙을 지키려면 exposure log가 “어느 그룹에 속해야 했는가”를 기록해야 함. 실제 처리를 받았는지는 별도 컬럼.
3. 원칙 3 — SRM(Sample Ratio Mismatch) 자동 검정
3-1. 직관
50:50 그룹이 51:49로 깨졌으면 그룹 자체가 다른 분포일 수 있음. 카이제곱 검정으로 자동 점검.
는 관측 빈도, 는 기대 빈도(균등 분배 가정). p-value 0.001 이하면 SRM 의심.
3-2. SRM이 뜨면 의심할 것
- bot·크롤러가 한쪽에 몰림
- 캐시 정책이 그룹별 다르게 작동
- 라우팅 로직 오류
- 트래픽 폭주로 한쪽 서버 과부하
3-3. 자동화
실험 시작 후 1시간·1일·1주 단위로 SRM 자동 체크. 알림 시 즉시 실험 일시 중지·원인 추적.
Simpson’s Paradox에서 다룬 거의 모든 함정의 시작이 SRM이라 가장 먼저 잡아야 함.
4. 원칙 4 — Sequential safe 분석
4-1. 직관
전통적 t-test는 한 번만 봐야 함. 여러 번 보면 false positive 폭증. Sequential testing이 여러 번 봐도 안전한 통계.
4-2. peeking 함정
매일 결과 보면서 “유의미하면 종료” 룰 → 실험 5번 반복하면 false positive가 5배.
4-3. 표준 도구
- mSPRT (mixture Sequential Probability Ratio Test) — Optimizely·VWO 기본
- always-valid p-value
- Bayesian A/B (prior + posterior, 매번 봐도 정직)
Sequential testing에서 깊이 다룸.
4-4. 마케팅 자리
분기 회의에서 “지금까지 결과 어때?” 질문이 자주 옴. Sequential safe 통계가 깔려 있어야 그 자리에 정직한 답 가능.
| 질문 빈도 | 통계 도구 |
|---|---|
| 실험 끝 후 1번만 | t-test, chi-square |
| 분기 한 번 점검 | Sequential test |
| 매주 점검 | mSPRT 또는 Bayesian |
| 매일 점검 | Bayesian A/B |
5. 원칙 5 — 메타데이터·표준화
5-1. 직관
플랫폼이 받는 모든 실험에 표준 메타데이터를 강제. 후속 분석·보고가 자동화 가능.
5-2. 필수 메타
| 필드 | 의미 |
|---|---|
| 실험 가설 | ”B안이 A보다 CVR +2%p” |
| Primary KPI | CVR, ROAS, 매출 등 |
| 사전 등록 MDE | 검출 가능한 최소 효과 |
| 사전 등록 표본 | power analysis 결과 |
| 종료 조건 | 표본 도달 또는 기간 |
| 결과 책임자 | 의사결정 담당 |
5-3. 사전 등록(preregister)이 보장하는 것
- 결과 보고 임의 조정 방지
- p-value hacking 방지
- 다중 비교 함정 회피
- 결과 신뢰도 유지
5-4. 코드 한 묶음 — 실험 메타 schema
이게 글에 박는 유일한 코드입니다.
from pydantic import BaseModelfrom typing import Literalfrom datetime import datetime
class ExperimentMeta(BaseModel): experiment_id: str hypothesis: str primary_kpi: Literal["cvr", "roas", "revenue", "ctr", "retention"] mde_absolute: float # 검출 최소 효과 sample_size_per_group: int expected_duration_days: int end_condition: Literal["sample_reached", "time_elapsed"] owner: str created_at: datetime status: Literal["draft", "running", "ended", "stopped"]
# 실험 시작 전 메타 등록exp = ExperimentMeta( experiment_id="exp-2026-q2-cta-color", hypothesis="빨강 CTA가 파랑 CTA 대비 CVR +1.5%p", primary_kpi="cvr", mde_absolute=0.015, sample_size_per_group=8136, expected_duration_days=8, end_condition="sample_reached", owner="marketing-team", created_at=datetime.utcnow(), status="draft",)print(exp.model_dump_json(indent=2))이 스키마를 BigQuery·실험 테이블에 박아두면 모든 실험이 같은 양식으로 등록되고, 분기 보고 자동화가 가능.
6. 분석 단계 — 결과 보고의 표준 양식
실험 종료 후 결과 보고에 들어가야 할 항목.
| 항목 | 값 (예시) |
|---|---|
| 실험 ID | exp-2026-q2-cta-color |
| 가설 | 빨강 CTA +1.5%p |
| 표본 (그룹당) | 8,200 / 8,150 |
| SRM 검정 p-value | 0.42 (균형 OK) |
| Primary KPI 효과 | +1.8%p (95% CI: +0.9%p - +2.7%p) |
| Sequential test 결과 | 유의 (p = 0.018) |
| 운영 의미 | ROPE ±1%p 밖, 의미 있음 |
| 결정 | B안 채택, 전체 노출 전환 |
이 양식이 실험 플랫폼의 출력으로 자동 생성되면 의사결정 속도가 크게 빨라짐.
7. 외부 SaaS vs 사내 플랫폼 트레이드오프
| 항목 | 외부 SaaS (Optimizely, VWO) | 사내 플랫폼 |
|---|---|---|
| 도입 속도 | 빠름 | 6-12개월 |
| 비용 | 월 $1K-10K+ | 인건비·인프라 |
| 마케팅 데이터 통합 | 약함 | 강함 (CDP·BQ 직결) |
| 통계 도구 | 표준 (Sequential, Bayesian 내장) | 직접 구현 |
| 커스터마이징 | 제한적 | 자유 |
| 운영 부담 | 거의 없음 | 큼 |
소규모 팀: 외부 SaaS. 대규모 팀(분기 100+ 실험): 사내 플랫폼이 비용·통합 우위.
8. 마치며 — 실험 플랫폼은 마케팅의 인프라
마케팅 의사결정의 신뢰도가 분기마다 올라가려면 실험 플랫폼이 5가지 원칙 위에 깔려 있어야 합니다. split assignment, exposure log, SRM 자동 검정, sequential safe 분석, 메타 표준화 — 한 가지라도 빠지면 결과가 흔들리고 의사결정자가 데이터를 안 믿게 됩니다. 마케터가 그 5가지를 알면 분석 결과 회의에서 정직한 질문을 던지고 정직한 답을 받을 수 있습니다.
다음 분기에 한 번만 시도해 볼 만한 것은 사내 실험 플랫폼의 메타데이터 등록·SRM 자동 검정 두 가지를 표준화하는 흐름입니다. 두 가지만 깔려도 분기 실험의 신뢰도가 한 단계 올라갑니다.
다음에 읽을 글
- Sequential testing — 매번 봐도 정직한 통계
- Power analysis · MDE — 사전 등록의 표본 계산
- Simpson’s Paradox — SRM 안 잡았을 때의 함정
참고
- Kohavi, Tang, Xu (2020), “Trustworthy Online Controlled Experiments”: https://www.amazon.com/Trustworthy-Online-Controlled-Experiments-Practical/dp/1108724264
- “ExP platform” (Microsoft): https://www.exp-platform.com/
- “Statistical methods in online controlled experiments” (Microsoft): https://www.microsoft.com/en-us/research/group/experimentation-platform-exp/
- “Always Valid Inference” (Optimizely): https://research.optimizely.com/
- “Stats engine” (VWO): https://vwo.com/downloads/VWO_SmartStats_technical_whitepaper.pdf
통계·ML 카테고리의 다른 글
전체 보기 →-
2026·05·09
Bayesian A/B 테스트 심화 — prior 잡는 법과 HDI 해석
베이지안 A/B는 "p-value < 0.05"가 아니라 "B가 A보다 좋을 확률 0.92"를 줍니다. 그 확률이 정직하려면 prior를 잘 잡아야 하고, HDI를 잘못 읽으면 함정이 옵니다. 마케터 시선에서 prior·posterior·HDI 정리.
-
2026·05·09
Doubly robust estimation — IPW와 outcome 모델의 결합으로 인과 추정 안정화
PSM·IPW는 propensity 모델이 틀리면 무너지고, 회귀는 outcome 모델이 틀리면 무너집니다. doubly robust는 두 모델을 결합해 둘 중 하나만 맞으면 정직한 효과 추정. 마케팅 인과 분석의 안전판.
-
2026·05·09
Heterogeneous treatment effects — 평균 효과 너머의 개인별 효과
A/B 평균 효과 +5%p가 모든 사람에게 같지 않습니다. 일부에게는 +20%p, 일부에게는 -3%p. CATE·uplift forest로 효과의 이질성을 추정해 타겟 마케팅을 정밀화하는 흐름.
-
2026·05·09
Power analysis와 MDE — 실험 시작 전에 표본·기간을 정직하게 잡는 법
A/B 시작 전 "표본 얼마나 모아야?"의 답이 power analysis. 검출력 80%로 검출 가능한 최소 효과(MDE)를 미리 계산해 실험 기간·해석 한도를 명확히 잡는 흐름.