brunch

You can make anything
by writing

C.S.Lewis

by 플래터 Jul 31. 2022

A/B 테스트 계산기 세팅 & 해석하기

A/B 테스트는 A와 B만 나누는 게 다가 아니다 (3)


앞선 두 편의 글에서는,

1) 우리가 A/B 테스트를 설계할 때 겉으로 궁금해하는 건 '어느 게 더 나은가?'인 것 같지만

2) 실제로 우리가 궁금해하는 건 '이번 실험 0000명이 아니라 동일한 고객 유형 전체에게 확실하게/유의미하게 나은 방안은 뭘까? 이 실험 결과가 우연이 아닌 게 맞을까?'이며

3) 이를 바탕으로 A/B 테스트의 설계 및 해석에 필요한 기초 통계 지식에 대해 살펴보았다


이어지는 이번 글에서는 여러 이론적 개념을 참고하되, 과학 연구 실험실이 아닌 '비즈니스'상의 실험임을 감안한 A/B 테스트의 설계, 수행, 해석에 대한 참고 사항에 대해 적어보고자 한다.

 



그래서 계산은 어디서 어떻게 해야 하나요?


Google Optimize 등의 A/B 테스트 툴에서는 전환율과 더불어 표본 크기에 따른 결과의 유의미함에 대해 계산하여 최종 판단을 제공한다. (참고로 Optimize는 앞선 글에서 설명한 방식과는 다른 방식-베이지안 추론-으로 실험을 진행하는데 기획자/PM/마케터 등의 입장에선 맥락은 똑같다. '우연이 아닌 게 맞나?'를 보면 된다)


그런데, 만약 A/B 테스트를 위한 솔루션을 사용하고 있지 않거나, 이 솔루션으로 응용할 수 없는 실험을 설계했다면, 그럼 이 계산은 숫자를 엑셀에 일일이 넣어서 함수를 통해 구현해야 하는가? 혹은 SPSS, R, Python 등에서 통계 패키지를 이용해, 코드를 몇 줄이라도 짜야만 가능할까?  


결론은 '아니오'다. 간단한 숫자 입력, 세팅만으로 A/B 테스트 계산을 제공하는 웹 서비스가 이미 다양하다.


https://abtestguide.com/calc/



기초 통계 지식으로 계산기를 세팅&해석해봅시다


위의 링크에 들어가면 좌측에 몇 가지 세팅이 보이는데 크게는 아래와 같다


1. Test Data : 각 그룹의 표본 크기는 몇이고, 그룹별로 최종 전환된 숫자는 몇인가? 

말 그대로 실험을 통해 각 그룹에 모인 트래픽과, 그중에서 우리가 원하는 결과로 최종 전환된 트래픽을 직접 입력하면 된다. 


2. Settings-Hypthesis : 단측 검정으로 진행할까? or 양측 검정으로 진행할까? 

결국 '두 그룹에 차이가 있다는 전제하에, 특정 한쪽이 무조건 우세하다고 생각하고 실험을 할 건지' 아니면 '두 그룹에 차이가 있긴 있는데 어느 쪽이 우세할지 모르겠으니 열어놓고 보겠다'인지로 이해하면 된다.


3. Settings-Confidence : 신뢰 수준은 몇%로 할 건가?

똑같은 실험을 100번 한다고 했을 때 그중 몇 번의 '우연'을 봐줄 것인가?로 이해하면 된다. 엄밀해야 하는 실험이라면 99%, 보통의 경우라면 95%로도 충분하다(고 한다). 

https://abtestguide.com/calc/ 의 세팅 항목들



양측 검정, 단측 검정 어느 쪽으로 해야 하나?


그런데, Test Data는 우리가 모은 트래픽을 정직하게 입력하면 되고, 신뢰 수준은 보통 95%면 된다고 하니까 95%를 선택하면 되는데, 그러면 양측 검정과 단측 검정 중 어느 쪽을 해야 할까? 


사실 우리는 실험을 설계할 때 특정 방안이 더 나을 것 같다, 라는 암묵적인 기대 또는 가정을 갖고 시작하는데, 어떤 식으로든 A/B 테스트를 이미 수행해본 분들이라면 '그러나 고객의 반응은 우리의 기대, 예상과는 종종 다르다'는 걸 체감했을 것이다. 그래서 보통은 양측 검정(two-sided)을 진행하는 게 조금 더 보수적인, 안전한 접근이다. 


이 부분과 관련해서는 양측 검정이 조금 더 '보수적인', '안전한' 접근인 이유에는 사실 앞선 글에서 설명한 신뢰 수준, 유의 수준, 그리고 P-value에 관한 이해가 조금 더 필요하다.


만약 우리가 신뢰 수준 Confidence를 90%로 세팅했다고 하자. 이 경우 우리가 실험에 기대하는 건 아래와 같다.

- 실험을 100번 한다고 가정했을 때 90번은 우리가 기대하는 구간 내의 값이 나오지만
- 나머지 10번까지는 우리가 기대하는 구간 바깥의 값이 나와도 된다
- 다시 말해 10번까지는 이 실험의 결과가 '우연'에 기대도 된다. 우연이 10번만 안 넘으면 된다.


그러면 이 경우, 이를 단측 검정으로 한다는 것은  어떤 의미일까?

- 100번 중 10번까지는 우연에 의한 결과가 나와도 봐주기로 했다
- 그런데 우리는 어느 한쪽이 더 크다(or 더 작다)는 추측을 테스트하는 중이다. 
- 이 10번의 우연은, 더 클 거라고(or 더 작을거라고) 생각한 쪽이 실은 더 크지 않은(or 더 작지 않은) 경우를 뜻한다.
- 즉, 100번 중 90번은 더 커야(작아야) 하고, 10번까지는 더 크지(작지) 않아도 된다. 


반면 이를 양측 검정으로 한다는 것은 어떤 의미일까? 

- 100번 중 10번까지는 우연에 의한 결과가 나와도 봐주기로 했다
- 그런데 A와 B에 '차이가 있을 거다'라는 가정만 갖고 있지, 그래서 더 크거나 작을지는 모르겠다
- 그래서 이 10번의 우연 PASS권을 '더 크다', '더 작다'에 각각 5번씩 주기로 했다
- 그래서 (더 작지도 않은데) 더 크지 않은 경우 5번, (더 크지도 않으면서) 더 작지도 않은 경우 5번, 다시 말해 양쪽 어느 쪽으로도 차이가 없는 경우를 5번+5번 = 총 10번까지 봐주기로 했다


이게 실험 세팅과 어떤 관련이 있는 걸까? 다시 말해 우리의 결과가 어느 한쪽으로 무조건 치우칠 거라는 보장, 기대가 없는 상황에서 무조건 '단측 검정'을 해버리면, 차이는 있지만 더 큰 게 아니라 더 작은 경우, 또는 차이는 있지만 더 작은 게 아니라 더 큰 경우에는 단측 검정에서는 '우연'이 되어버린다. 


반면 양측 검정이었다면 '더 크진 않지만 그래도 더 작네? 차이가 있는 게 맞네? 그럼 우연 아니지! 인정이지!' 또는 '더 작진 않은데 그래도 더 크네? 차이가 있는 게 맞네? 그럼 우연 아니지! 인정이지!'라고 인정이 되었을 수도 있는 결과였다.


즉, 양측 검정으로는 '차이가 유의미하다'는 결과를 얻을 수 있었을 실험을, 단측 검정이었다면 '차이가 유의미하지 않다'는 결과로 나오는 수가 있다.



자, 이제 결과를 해석해 봅시다 


이렇게 세팅을 무사히(?) 완료했다면, 계산은 계산기가 해준다. 그리고 두 그룹의 전환율 차이가 유의미한지, 즉 우연이 아니라 앞으로도 동일한 고객을 대상으로 특정 방안이 더 나은 방안인지 어느 정도 확신을 할 수 있게 된다.

Significant! 유의미합니다! (아 물론 95% 신뢰 수준을 전제로요. 100% 라는 건 없고요.)


그리고 이 결과는 앞선 글에서 설명했듯이, P-value에 따라 나오게 된다. 95% 신뢰 수준 confidence로 실험을 진행했을 때 , p-value가 0.05(=5%) 이하라면 유의미하고, 이보다 크면 유의미하지 않다고 판별하는 것이다. 

P-value가 0.01 정도. 신뢰 수준 95%라면 P-value는 0.05 이하면 된다. 


물론 어떤 경우에는 실험 결과가 유의미하지 않을 수도 있다. 그럼 이 경우에는 Test Result가 'not significant'하다면서 아래의 문구를 보여준다

(...) There is no real difference in performance between A and B 
or you need to collect more data


다시 말해, "애초에 두 그룹 사이에 별 차이가 없거나" 아니면 "네가 모아 온 그 쥐꼬리만한 표본으로는 누가 더 나은 건지, 이게 이번에만 우연인지 아닌지 나도 모르겠어!"라는 뜻이다 

not significant. 애초에 둘은 차이가 없거나 아니면 데이터를 더 모아보란다. 


그런데 이를 다시 읽어보면 '아~ 차이가 없구나' 하고 넘어갈 게 아니라, 우리는 아래와 같은 고민에 빠지게 될 수도 있다. 

1) 잠깐, 래서 A와 B 사이에는 정말로 차이가 없다는 거야? 이번 기획 아이디어 자체가 망한 건가? 

2) 아니면 차이가 있을 수도 있는데, 표본이 부족해서 알 수가 없는 건가? 실험을 좀 더 길게 아니면 크게 진행해서 표본 트래픽만 더 모아 오면 되나?



그래서 이어지는 다음 글에서는

1) A/B 테스트에서 표본(트래픽)의 크기와 결과의 유의미함 significant 사이에 어떤 관계가 있는지?

2) 그럼 대체 내 A/B 테스트에선 표본(트래픽)을 얼마나 모아야 하는 건지? 

3) 그리고 이와 관련해 실제 A/B 테스트를 진행할 때 주의할 사항은 없는지?

를 살펴보고자 한다. 


다음 글 



더 많은 지식과 경험, 노하우가 궁금하다면

홈페이지 방문하기

뉴스레터 구독하기

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari