A/B 테스트 계산기는 모두 p값을 출력합니다. 대부분은 거기서 끝나고, 그래서 창업자들은 신뢰도 87%를 바라보며 이게 무슨 뜻인지 고민하게 됩니다. 이 계산기는 다음 행동을 실제로 결정하는 질문에 답합니다. 차이가 우연이 만들어낼 수 있는 폭보다 큰가? 진짜 향상률은 최악의 경우와 최선의 경우에 얼마나 되나? 결과가 '유의하지 않음'으로 나왔다면, 이 표본 크기에서 애초에 무언가를 찾아낼 수는 있었나? 그리고 트래픽 분배 자체는 건강한가, 아니면 처음부터 동등하지 않았던 두 집단을 비교하고 있는 건가?
표준 두 비율 z 검정을 돌립니다. Optimizely의 클래식 엔진, VWO의 빈도주의 모드, 그리고 모든 통계 교과서가 쓰는 바로 그 검정이며, 산술의 모든 줄을 보여줍니다: 통합 전환율, 표준오차, z값, 꼬리 면적. 그 옆에는 베이지안 답, 즉 B의 진짜 전환율이 A보다 높을 확률이 놓입니다. 'B가 더 나을 확률이 91%다'라는 문장이야말로 대부분의 사람이 p값에서 기대했던 문장이고, 그건 엄연히 다른 숫자이기 때문입니다.
저희 대시보드를 들여다보다가 이걸 만들었습니다. Coddy는 이름을 붙인 실험을 스무 개쯤 돌렸고 그중 열 개는 작은 트래픽 조각에서 진행한 국가별 가격 테스트였는데, 사내 도구는 95% 아래에 '계속 진행' 문구가 달린 신뢰도 막대를 보여주고 있었습니다. 그건 친근한 얼굴을 한 조기 중단 남용입니다. 이 옆의 세 탭, 표본 크기와 현실 점검과 엿보기 시뮬레이터가 존재하는 이유는, 유의성만 보고하는 계산기는 스스로를 더 빨리 속이도록 돕는 계산기이기 때문입니다.
숫자를 믿기 전에 알아야 할 것
'유의하지 않음'은 '차이가 없음'이 아닙니다. 데이터가 판별할 수 없다는 뜻입니다. 이 테스트가 감지할 수 있는 최소 향상률을 알려주는 타일이 정직한 해석입니다: 관측된 향상률이 그보다 작다면 이 테스트는 애초에 답을 줄 수 없었습니다.
p값은 당신이 틀렸을 확률이 아닙니다. 두 변형이 완전히 같았다면 이만큼 벌어진 차이를 볼 확률입니다. 승자가 진짜일 가능성은 당신의 아이디어가 얼마나 자주 먹히는지에도 달려 있고, 현실 점검 탭이 그걸 숫자로 바꿔줍니다.
막대가 초록색이 되는 첫날 멈추는 것은 A/B 테스트에서 가장 비싼 습관입니다. 매일 확인하고 일찍 멈추면 5%짜리 거짓양성률이 20% 이상으로 뜁니다. 엿보기 시뮬레이터가 당신의 트래픽에서 그 일이 벌어지는 모습을 보여줍니다.
분배가 깨지면 모든 게 오염됩니다. 50/50으로 계획했는데 46/54가 나왔다면, 사용자가 테스트에 닿기 전에 무언가가 경로를 바꾸고 있는 것입니다: 캐싱 계층, 봇 필터, 리다이렉트 같은 것들이요. 계산기는 그 점검을 가장 먼저 돌리고, 통과하지 못하는 동안에는 결론을 내주지 않습니다.
한쪽 그룹의 전환이 25건 아래로 내려가면 z 검정 뒤에 있는 정규 근사는 측정이 아니라 스케치입니다. 계산기는 거짓 정밀도로 소수점 세 자리를 찍는 대신 그 사실을 말해줍니다.
A/B 테스트 계산기 사용법
1
A와 B의 방문자 수와 전환 수를 입력하세요
방문자는 해당 변형에 배정된 사람 수이지 페이지뷰가 아닙니다. 전환은 측정하려는 행동을 한 사람들입니다: 가입, 결제, 클릭 같은 것들이요. 두 그룹 모두 같은 방식으로 세어야 합니다.
2
신뢰수준과 가설을 고르세요
95% 양측이 기본값이며, B가 더 좋을 수도 더 나쁠 수도 있을 때 정직한 선택입니다. 단측은 B가 더 나쁜 경우를 변화 없음과 정확히 똑같이 무시할 때만 쓰는데, 사람들이 생각하는 것보다 드문 상황입니다.
3
결론을 읽고, 그다음 신뢰구간을 읽으세요
배너는 숫자가 뒷받침하는 내용을 말합니다. 상대 향상률 타일은 구간을 보여줍니다: 진짜 효과는 그 안 어디에든 있을 수 있고, 계획을 세울 때 쓸 숫자는 점추정치가 아니라 하한선입니다.
4
두 가지 경고를 확인하세요
분배에 플래그가 붙었다면 다른 걸 읽기 전에 테스트부터 고치세요. 감지 가능한 최소 향상률이 관측된 향상률보다 크다면 검정력이 부족했던 것입니다: 표본 크기 탭으로 가서 방문자가 몇 명 필요한지 확인하세요.
5
결과나 링크를 복사하세요
결과 복사는 메시지나 문서에 붙일 요약을 줍니다. 링크 복사는 네 개의 숫자를 URL에 담으므로, 링크를 여는 사람은 똑같은 계산을 보게 됩니다.
출력값 읽는 법
각 타일의 의미를 한 줄로.
타일
무엇인가
어떻게 읽는가
상대 향상률
(B 전환율 빼기 A 전환율)을 A 전환율로 나눈 값
헤드라인입니다. 옆의 구간은 진짜 향상률이 있을 법한 범위입니다.
p값
A와 B가 같았다면 이만큼 벌어질 확률
95% 신뢰수준에서 0.05 미만이면 유의합니다. 결과가 틀렸을 확률이 아닙니다.
신뢰도
1 빼기 p, 백분율로
대부분의 도구가 찍는 숫자입니다. 87%는 95%에 거의 도달한 게 아니라, 선 반대편에 떨어진 동전입니다.
B가 더 나을 확률
B의 진짜 전환율이 A보다 높을 베이지안 확률
사람들이 원하는 문장입니다. 91%는 B가 아마 더 낫다는 뜻이지, 91% 더 낫다는 뜻이 아닙니다.
이 테스트가 감지할 수 있는 최소 향상률
이 그룹 크기에서 검정력 80%로 감지 가능한 상대 향상률
관측된 향상률이 그보다 작다면 '유의하지 않음'은 '판별할 수 없었음'이라는 뜻입니다.
트래픽 분배
계획 대비 각 그룹의 실제 방문자 비중
우연이 허용하는 범위 이상으로 어긋나면 플래그가 붙습니다. 결과를 읽기 전에 테스트를 고치세요.
세 가지 테스트, 세 가지 다른 교훈
고전적인 '거의 다 온' 사례
A: 방문자 10,000명, 전환 500건 (5.00%). B: 방문자 10,000명, 전환 560건 (5.60%). 상대 향상률 +12%, p = 0.058.
95%에서 유의하지 않고, 구간은 대략 마이너스 0.4%에서 플러스 24%까지 걸쳐 있습니다. 정직한 해석은 '아마 작은 플러스, 아무것도 아닐 수도 있음'입니다. 이 테스트가 감지할 수 있는 최소 향상률이 약 17%이므로 12%짜리 효과는 처음부터 회색지대에 떨어질 운명이었습니다. 한 주 더 기대하며 기다릴 게 아니라 트래픽이 대략 두 배 필요합니다.
깨진 분배
A: 방문자 5,000명, 전환 100건. B: 방문자 4,300명, 전환 120건. 계획된 분배 50/50.
B가 +40%로 확실한 승자처럼 보입니다. 계산기는 그렇게 말하기를 거부합니다: 50/50에서 5,000 대 4,300 분배가 우연히 나올 확률은 백만분의 일도 안 됩니다. 무언가가 집계 전에 B에서 사용자를 걷어내고 있는 것이고, 대개 특정 브라우저에서 실패하는 리다이렉트이거나 변형을 다르게 취급하는 봇 필터입니다. 무엇이든 간에 두 집단은 비교 가능하지 않고 향상률은 의미가 없습니다.
작은 사이트
A: 방문자 400명, 전환 12건 (3.0%). B: 방문자 400명, 전환 19건 (4.75%). 상대 향상률 +58%, p = 0.20.
58% 향상은 엄청나게 들리고 p값은 약 0.19입니다. 전환이 12건과 19건이면 계산기는 데이터 부족 플래그를 붙입니다: 이 크기에서는 숫자가 워낙 크게 흔들려서 가입 한 건만 더 들어와도 전환율이 0.25%포인트 움직입니다. 이 트래픽에서 한 달 안에 확인할 수 있는 최소 향상률은 100%가 넘습니다. 더 오래 돌릴 이유가 아니라, 현실 점검 탭을 읽어야 할 이유입니다.
이 계산기가 잡아내려고 만든 실수들
신뢰도 90%를 '그럭저럭 괜찮음'으로 읽는 것. 95%로 정했다면 선은 95%입니다. 그 아래 숫자는 데이터가 당신이 세운 기준을 넘지 못했다는 뜻이고, 결과를 본 뒤에 기준을 옮기는 것이 실수이지 숫자가 실수인 게 아닙니다.
유의하지 않은 테스트를 무승부라고 부르는 것. 무승부는 0 주변의 아주 좁은 구간입니다. 구간이 넓은 비유의 결과는 답하지 못한 질문이고, 그 답에 얼마가 드는지는 표본 크기 탭이 말해줍니다.
막대가 초록색이 된 첫날 아침에 승자를 선언하는 것. 엿보기 시뮬레이터는 아무것도 바뀌지 않은 테스트 2천 개를 돌려, 매일 엿보는 사람이 그중 몇 개를 배포했을지 보여줍니다.
변형 다섯 개를 테스트하고 그중 최고를 95%로 보고하는 것. 5%짜리 비교 다섯 번이면 가짜 승자가 나올 확률이 23%입니다. 표본 크기 탭은 변형을 추가하면 알파를 나눠줍니다.
페이지뷰와 순 사용자를 비교하거나, 방문자와 다른 기간으로 전환을 세는 것. z 검정은 각 방문자를 하나의 독립 시행으로 가정하고, 그 밖의 방식은 신뢰도를 부풀립니다.
분배를 무시하는 것. 방문자 100,000명에서 48/52 분배는 우연이 아니라 버그이고, 그 아래의 모든 결과는 신뢰할 수 없습니다.
A/B 테스트 계산기 자주 묻는 질문
내 A/B 테스트가 통계적으로 유의한지 어떻게 알 수 있나요?
각 변형의 방문자 수와 전환 수를 입력하고 신뢰수준(95%가 표준)을 고른 뒤 결론을 읽으세요. p값이 1 빼기 신뢰수준보다 작으면 유의합니다. 95%라면 0.05 미만이죠. 이 페이지는 진짜 향상률의 구간과, 지금 보고 있는 효과를 이 테스트가 감지할 수 있었는지도 함께 알려줍니다. 맨 p값만으로는 알 수 없는 부분입니다.
p값 0.08은 제 테스트에서 무슨 뜻인가요?
A와 B가 실제로 같은 비율로 전환한다면, 최소 이만큼 벌어진 차이가 우연히 약 8%의 경우에 나타난다는 뜻입니다. 결과가 틀렸을 확률이 아니고, 'B가 더 나을 신뢰도 92%'도 아닙니다. 95% 신뢰수준에서는 테스트가 기준을 넘지 못했다는 뜻이며, 애초에 넘을 수 있었는지는 감지 가능한 최소 향상률 타일을 보세요.
신뢰도 90%면 충분한가요?
테스트를 시작하기 전에 90%로 정했고 열 번에 한 번꼴의 거짓양성을 받아들인다면 충분할 수 있습니다. 절대 충분하지 않은 것은 95%로 돌려놓고 91%를 본 다음 사실 진짜 기준은 90%였다고 결정하는 일입니다. 신뢰수준은 얼마나 자주 속아도 괜찮은지에 대한 약속이고, 결과를 본 뒤에 바꾸면 그 약속이 깨집니다.
변형당 전환이 몇 건 필요한가요?
마법의 숫자는 없지만, 한쪽 그룹의 전환이 25건 아래면 z 검정은 거친 스케치이고 실제 테스트는 대부분 수백 건이 필요합니다. 중요한 건 감지하고 싶은 향상률입니다: 기준 전환율 5%에서 상대 향상률 10%를 신뢰도 95%, 검정력 80%로 보려면 변형당 약 31,000명, 각각 대략 1,550건의 전환이 필요합니다. 표본 크기 탭이 당신의 수치로 계산해 줍니다.
빈도주의 p값과 베이지안 'B가 더 나을 확률'은 어떻게 다른가요?
p값은 '아무것도 바뀌지 않았다면 이 차이가 얼마나 놀라운가?'를 묻고 임계값을 기준으로 예/아니오를 줍니다. 베이지안 숫자는 '내가 본 것을 감안할 때 B의 진짜 전환율이 A보다 높을 가능성은?'을 묻고 확률을 줍니다. 같은 데이터에서 방향은 대개 일치합니다: 양측 검정에서 p가 0.05면 B가 더 나을 확률은 97% 근처입니다. 이 페이지가 둘 다 보여주는 이유는, 사람들이 '신뢰도'라고 말할 때 뜻하는 것은 베이지안 문장이고 도구가 찍어주는 것은 p값이기 때문입니다.
분배가 어긋나면 계산기가 왜 결론을 내주지 않나요?
표본 비율 불일치는 두 집단이 무작위로 배정되지 않았다는 뜻이고, 무작위 배정이야말로 A/B 테스트가 작동하는 유일한 이유이기 때문입니다. 50/50으로 계획했는데 관측된 분배가 운으로 나올 확률이 천분의 일 미만이라면, 어떤 메커니즘이 누가 어느 그룹에 들어갈지 정하고 있는 것이고 그것이 전환과 상관되어 있을 수 있습니다. 보고 있는 향상률은 당신의 변경이 아니라 그 메커니즘일지도 모릅니다.
방문자당 매출이나 평균 주문 금액에도 이 계산기를 쓸 수 있나요?
아니요. 이 페이지는 비율을 검정합니다: 각 방문자는 전환했거나 안 했거나 둘 중 하나입니다. 방문자당 매출은 연속적이고 심하게 치우친 지표라서 사용자별 금액에 대한 t 검정이나 부트스트랩이 필요하고, 그러려면 합계 네 개가 아니라 원자료가 있어야 합니다. 사용자별 값을 확보했다면 Coddy 수학 계산기의 t 검정 계산기가 평균 비교를 처리해 줍니다.
감지 가능한 최소 향상률은 어디서 나오나요?
표본 크기 계산기와 같은 공식을 거꾸로 돌려서 나옵니다. 각 그룹 크기와 A의 전환율이 주어졌을 때, 이 크기의 테스트 중 80%가 당신의 신뢰수준에서 잡아낼 상대 향상률을 찾습니다. 관측된 향상률이 그보다 작다면 그 효과에 대해 검정력이 부족했던 것이고, '유의하지 않음'은 변경이 통했는지에 대해 거의 아무 정보도 담고 있지 않습니다.