A/B 테스트 유의성 계산기 쉽게 이해하기 — 개념과 원리
이 계산기는 웹페이지, 이메일, 기능의 두 버전 사이의 전환율 차이가 우연한 변동으로 설명되는 수준보다 큰지를 확인합니다. 두 비율 z검정으로 A 대비 B의 상대 향상률(lift), z 통계량, 양측 p값을 구하고 95% 수준에서 유의한지 알려 줍니다.
계산 방법
- 전환율: p_A = A 전환 수 ÷ A 방문자 수, p_B = B 전환 수 ÷ B 방문자 수
- 향상률 = (p_B − p_A) ÷ p_A × 100%
- 합동 비율: p = (c_A + c_B) ÷ (n_A + n_B)
- z = (p_B − p_A) ÷ √[p(1 − p)(1/n_A + 1/n_B)]
- 양측 p값 = 2 × (1 − Φ(|z|)), Φ는 표준정규분포의 누적분포함수입니다.
- p < 0.05이면 95% 수준에서 유의합니다.
원리
귀무가설에서는 두 버전의 실제 전환율이 같으므로, 그 값을 가장 잘 추정하는 것은 두 집단을 합친 합동 비율입니다. 이때 두 표본비율 차이의 표준오차는 √[p(1 − p)(1/n_A + 1/n_B)]이고, 표본이 크면 차이를 표준오차로 나눈 값이 중심극한정리에 따라 표준정규분포에 가까워집니다. p값은 실제로 차이가 없을 때 이만큼 또는 그 이상 벌어진 차이가 어느 방향으로든 나올 확률입니다.
예제 풀이
- 입력값: A는 방문자 10,000명 중 500명, B는 10,000명 중 560명이 전환했습니다.
- p_A = 5.0%, p_B = 5.6%이므로 향상률 = 0.6 ÷ 5.0 = 12%입니다.
- 합동 비율 p = 1,060 ÷ 20,000 = 0.053입니다.
- 표준오차 = √(0.053 × 0.947 × 0.0002) ≈ 0.0031683입니다.
- z = 0.006 ÷ 0.0031683 ≈ 1.893752976입니다.
- p값 = 2 × (1 − Φ(1.8938)) ≈ 0.058257806로 0.05보다 크므로 95% 유의 여부는 아니오(no)입니다.
| 방문자 B | p-값 (양측) |
|---|---|
| 2,500 | 0 |
| 5,000 | 0 |
| 7,500 | 1.292322e-11 |
| 10,000 | 0.058257806 |
| 12,500 | 0.0673550875 |
| 15,000 | 0.0000011202 |
| 20,000 | 0 |
결과 해석
12% 향상은 커 보이지만, 이 표본 크기에서는 차이가 없어도 약 6%의 확률로 이 정도 차이가 나올 수 있습니다. 그렇다고 B가 더 낫지 않다는 증거는 아니며, 아직 증거가 충분히 모이지 않았다는 뜻입니다. p값은 B가 더 나을 확률이 아니고, 유의성은 효과가 실무적으로 의미 있는 크기인지도 말해 주지 않습니다. 시험 전에 의미 있는 최소 효과를 정하고 차이의 신뢰구간을 함께 보십시오.
흔한 실수
- 매일 결과를 보다가 p가 0.05 아래로 내려가는 순간 멈추는 "엿보기"로, 거짓 양성이 크게 늘어납니다.
- 검정력 분석으로 표본 크기를 미리 정하지 않는 경우입니다.
- 여러 변형이나 지표를 시험하고 가장 좋은 결과만 보고하는 경우입니다.
자주 묻는 질문
p값 0.058은 "거의 유의"한 것인가요?
약한 증거일 뿐입니다. 그대로 보고하고, 효과가 중요하다면 미리 정한 표본 크기로 시험을 더 진행하십시오.
단측 검정을 써도 되나요?
시험 전에 반대 방향 결과는 무시하겠다고 정했을 때만 가능합니다. 결과를 본 뒤 바꾸면 p값이 무의미해집니다.
왜 합동 비율을 쓰나요?
p값이 검정하는 귀무가설, 곧 두 비율이 같다는 가정 아래에서는 합동 비율이 맞기 때문입니다. 신뢰구간에는 보통 합동하지 않은 표준오차를 씁니다.
출처: A. Agresti, Categorical Data Analysis, 3rd ed., Wiley, 2013, Section 3.1 · R. Kohavi, D. Tang and Y. Xu, Trustworthy Online Controlled Experiments, Cambridge University Press, 2020