해당 글은 “A/B 테스트 신뢰할 수 있는 온라인 종합 대조 실험 (론 코하비, 다이앤 탕, 야 쉬. 2022)” 책 내용 일부를 정리 및 재구성한 내용이다.
트위먼의 법칙
흥미롭게 보이거나 다르게 보이는 모든 것들은 대체로 틀렸다.
(A.S.C. Ehrenberg. 2017)
핵심 지표의 현저한 개선과 같은 놀랄만한 결과에 우리는 그것을 중심으로 이야기를 만들고, 공유하고, 축하하는 경향이 있다. 반면 부정적일 때는 실험의 사소한 결함을 찾아 기각하려는 경향이 있다.
경험에 따르면, 많은 극단적인 결과는 계측 오류, 데이터 손실 또는 계산 오류일 확률이 크다. 종합 대조 실험에서 신뢰도를 해치는 것 또는 높일 수 있는 방법을 알아보도록 하자.
이 과정에서 일반적인 실수는 지표가 통계적으로 유의적이지 않다고 해서 실험 효과가 없다고 가정하는 것이다. 실험이 우리가 보고 있는 효과 크기를 탐지하기에는 검정력이 부족할 수 있다.
예를 들어 GoodUI.org(웹·모바일 인터페이스 최적화를 위해 A/B 테스트 사례와 UI 패턴을 모아 공유하는 독립 프로젝트)에서 115개의 A/B 테스트를 평가한 결과 대부분이 검정력 부족 상태였다고 한다.(Georgiev. 2018)
실험이 모집단의 작은 부분 집합에만 영향을 미치는 경우에는 영향을 받은 부분 집합만 분석하는 것이 중요하다. 작은 사용자 집합에만 커다란 효과가 있는 경우는 전체적으로 그 효과가 희석되고 감지되지 않을 수 있다.
p값은 종종 잘못 해석된다. 다음은 12가지 p값의 오해 A Dirty Dozen: Twelve P -Value Misconceptions (Steven Goodman. 2008) 중 일부이다.
온라인 종합 대조 실험을 진행할 때 p값을 지속적으로 모니터링할 수 있다. p값에 대한 중간결과를 미리 보고 이를 기반으로 의사결정하는 것은 문제가 될 수 있다. 주의해야 한다.
다중 테스트에서 가장 낮은 p값을 선택하면 p값과 효과 크기에 대한 추정치가 편향되기 쉽다. 한 번에 여러 개의 가설(또는 비교)을 수행할 때 생기는 오류 축적 문제를 주의해야 한다.
여러 가지 지표를 본다. 예를 들어 10개의 지표가 독립적이라 가정하고 검정하면, 적어도 하나의 지표에서 오류로 귀무가설이 기각될 확률은 즉, 40%에 달한다.
아래는 표는 보정 방법론들이다.
| 방법 | 제어 대상 | 특징 |
|---|---|---|
| Bonferroni 검정 | FWER | 를 (가설 or 지표 수)로 나눔 (예: =0.05/10=0.005). 단순하지만 보수적 |
| Holm's Step-Down 검정 | FWER | p값을 순서대로 정렬해 단계별로 검사. Bonferroni보다 덜 보수적 |
| Benjamini–Hochberg 검정(BH) | FDR | p값을 오름차순 정렬한 후, 조건 만족 시 “유의”로 판정 |
💡 FWER, FDR
- 가족 오류율(Family-Wise Error Rate, FWER)
- 개의 가설검정을 수행할 때 적어도 한개의 제 1종 오류를 발생시킬 확률을 의미한다.
- 이고 , 라면 가 된다. 즉 무조건 적어도 1개의 제 1종 오류는 발생한다는 것이다.
- 거짓 발견율 (False Discovery Rate, FDR)
- FWFR과는 다른 종류의 오류이다.
- 귀무가설을 기각시킨 결정 중 잘못 기각한 경우의 기대비율(E(False positives/Total positives))이며, 어느정도 false positive를 수용하면서 더 많은 true positive를 찾는 것이 목적이다.
시간 경과에 따라 계속적으로 p값을 본다.
모집단의 세그먼트(ex. Country, OS 등)를 본다.
동일한 실험에 여러 번 반복된 결과를 본다. 예를 들어 실험이 정말 아무것도 하지 않는 A/A Test를 20번 진행 하면, 우연히 p값이 0.05보다 작을 수도 있다.
내적 타당성(Internal Validity)은 다른 모집단이나 다른 기간에 일반화를 시도하지 않는 실험 결과의 정확성을 말한다. 즉 실험에서 A와 B의 비교가 제대로 되었는지를 살펴보는 것이다.
SUTVA(Stabel Unit Treatment Value Assumption)은 각 실험 단위(Unit)의 결과는 다른 단위의 처리(Treatment)에 영향을 받지 않는다는 가정이다.
SUTVA는 비간섭성과 숨겨진 처리가 없다는 것을 의미한다.
| 비간섭성 (No Interference) | 숨겨진 처리 없음 (No Hidden Variants) | |
|---|---|---|
| 설명 | 한 사람에서 어떤 처리를 하더라도 다른 사람의 결과에는 영향을 미치면 안되다는 뜻이다. | A,B 그룹에 할당된 처리는 정의된 대로만 적용되어야 한다는 것이다. |
| 예시 | 쇼핑몰에서 A/B 테스트를 진행하면서 A 그룹에게만 무료배송 혜택을 제공한다. 그런데 A 그룹 고객들이 이 혜택에 대해 커뮤니티에 공유하면서, B 그룹 고객들도 “조금만 기다리면 무료배송이 나올 수도 있다”고 생각해 구매를 미루기 시작하는 경우 | 동영상 플랫폼에서 새로운 추천 알고리즘을 테스트하기 위해 A 그룹은 기존 알고리즘을, B 그룹은 새로운 알고리즘을 사용하게 한다. 그런데 알고리즘 업데이트 과정에서 일부 B 그룹 사용자에게는 테스트되지 않은 실험용 알고리즘 C가 실수로 적용되는 경우 |
일정 기간(ex. 2개월) 활동한 사용자를 분석하면 생존 편향이 발생한다. 생존 편향에 대한 유명한 일화는 Survivorship bias에서 확인할 수 있다.

예를들어, 신규 유저(각 그룹 10,000명)를 대상으로 A/B Test를 진행 한다고 가정하자.
ITT(Intent-to-Treat) 분석이란 실험에 배정된 그룹을 기준으로, 모든 유저의 데이터를 분석에 포함하여야 한다는 것이다. 즉, 우리의 A/B Test에 노출된 유저만이 아닌 최초 배정된 유저 모두를 분석에 포함해야 한다는 것이다.
하지만, 이는 실험의 민감도(Sensitivity), 노이즈와는 트레이드 오프 관계일 수 있다.
예를들어, 구매 프로세스 중 일부에 대한 A/B Test를 진행한다고 가정하자. 전체 사용자 중 구매 프로세스를 시작하는 유저가 10% 불과할때, 전체 사용자를 분석에 사용하면, 실험의 민감도는 떨어지고 노이즈는 커질 수밖에 없다.
SRM(Sample Ratio Mismatch)은 A/B Test에서 의도한 실험 그룹 할당 비율과 실제 수집된 트래픽 비율 사이에 통계적으로 유의미한 차이가 있는 경우를 말한다.
외적 타당성(External Validity)은 A/B Test결과가 서로 다른 모집단에 일반화될 수 있는 정도를 말한다. 즉, 이 실험의 결과가 다른 집단이나 다른 시점에도 적용 가능한지를 살펴보는 것이다.
초두효과는 변경사항이 적용되었을 때 사용자들이 이전 작동 방식에 익숙하기 때문에 변경사항에 익숙해지기까지 시간이 필요할 수 있다는 것이다.
예를들어, 기존 장바구니 버튼 위치를 변경했더니 첫날 클릭률이 떨어지지만, 며칠 이후 익숙해진 사용자들로 인해 기존 대비 좋은 지표를 보일 수도 있다.
신기효과는 새로움 효과는 지속되지 않는 효과라는 것이다. 새로운 기능, 눈에 띄는 변경사항은 사용자의 눈길을 끌어 초기 높은 성과처럼 비춰질 수 있다.