본문 바로가기
데이터분석/통계, AB테스트

A/B 테스트를 통계적으로 신뢰할 수 있게 하기 위한 사전 작업들

by 코듀킹 2024. 4. 14.

A/B 테스트를 진행할 때, A그룹과 B그룹의 조건이 동일하지 않다면 실험 결과를 신뢰할 수 있을까? 또한, 실험 대상의 양이 너무 작다면? 실험 결과의 차이가 미미하다면? 이 글에서는 A/B테스트 결과를 신뢰할 수 있는 방법에 대해서 알아볼 것이다.

 

 

왜 A/B테스트를 하는가? 현실 세계에서 한정된 자원으로 새로운 아이템의 효과를 검증하기 위한 가장 좋은 방법이기 때문이다.

 

사례) 오바마 대선 캠프

가족의 모습이 담긴 이미지와 LEARN MORE 버튼은 기존 안 대비 각각 18.6%, 13.1%의 가입률 증가를 보였으며 두 아이템을 조합한 페이지의 경우 40.6% 가입률 증가

 

여기 A/B 테스트의 더 다양한 성공 사례가 있다. 

 

UX/UI 디자이너가 새로운 앱 디자인을 만들었다고 가정해보자. 이 UI를 새로 적용하면 구매 전환율이 높아질 거라고 주장한다. 사장도 그 디자인이 마음에 든다. 하지만 사장의 입장에서는 바로 시행하는 게 리스크다. 시행을 했는데, 오히려 전환율이 떨어질 수도 있기 때문이다. 가설을 행동으로 옮기기 전에 가설의 타당성과 리스트를 사전에 테스트해보아야 하는데, 이걸 할 수 있는 방법이 바로 A/B테스트이다. 

 

A그룹(대조군)을 기존 UI 그대로 적용하고, B그룹(실험군)을 신규 UI를 적용시켜서 테스트를 해보면 된다. 그런데, 이 때 A그룹과 B그룹은 어떤 기준으로 나눠야 할까? 

 

1. Ceteris Paribus를 확실히 한다.

즉, 모든 조건을 동일하게 맞춘 상태(all things being equal)에서 그룹을 나눠야한다는 뜻이다. 만약 이를 어기면 어떻게 될까? 만약 2~30대 여성에 더 잘 반응하는 신약이 있다고 가정해 보자. A그룹(대조군)은 기존의 약을 투여하고, B그룹(실험군)은 신약을 투여했다. 그랬더니 신약을 맞은 B그룹의 사람들의 바이러스 감소율이 1.6배 높았다. 하지만, 알고 보니 B그룹에 2~30대 여성의 비율이 더 높았다면, 신약은 바이러스 감소 효과가 있다고 말할 수 있을까? 그럴 수 없을 것이다. 이 실험은 망한 실험이다. 

 

그래서 Ceteris Paribus를 확실하게 하지 않으면, A/B테스트를 한 의미가 사라지게 된다. UI A/B테스트에서 대표적으로 어떤 것들을 동일하게 해야할까?

  • 동질적인 유저가 A/B 그룹을 구성하고 있는지(연령, 설병, 기존 사용도 및 만족도 등)
  • 테스트가 어떤 시점에 진행되는지(동일 시점이 아니라면 User experience에 이미 변화가 있을 수 있음)
  • 유저가 동일한 환경에서 UI에 노출되는지(브라우저 등)

 

그런데, 두 그룹을 잘 나눴다 하더라도 전환율 10% 차이가 났다고 했을 때, 10%가 진짜 차이가 있다고 말할 수 있을까? 10%의 차이가 우연히 발생한 것은 아닌지 통계적으로 검증하는 작업이 필요하다.(Statistical Test) T검증, 모비율 차이 검증 등이 있다.

 

2. 적정량의 데이터와 적정량의 차이를 확보한다.

진짜 차이가 있는 건지 어떻게 알 수 있는가? 아래에서 예시를 먼저 살펴보자.

 

1. 적정량의 데이터

케이스 1) 각 3명으로 이루어진 A/B 그룹에 대해 실험을 해 보니, B그룹의 지표가 2% 더 높았다.

케이스 2) 각 30명으로 이루어진 A/B 그룹에 대해 실험을 해 보니, B그룹의 지표가 2% 더 높았다.

 

케이스 1보다 케이스 2가 훨씬 신뢰 있는 수치이다. 동전을 던졌을 때, 앞면이 나올 확률은 50%이다. 하지만 동전을 3번만 던지면 뒷면만 3번 나올 확률이 꽤나 높을 것이다. 동전을 30번 던지면 50%와 가까워질 것이다. 

  

2. 적정량의 차이

케이스 1) A/B 그룹에 대해 실험 후 지표를 보니 각각 20%, 20.3%의 지표를 보였다. 

: 0.3% 정도의 차이는 우연히 발생할 수도 있지 않을까?

케이스 2) A/B 그룹에 대해 실험 후 지표를 보니 각각 20%, 25%의 지표를 보였다.

: 5% 정도면 확실히 차이가 있네!

"확실히 차이가 있네!"라는 문장에 수치적인 근거를 보태는 것이 통계 검정의 위력!

 

 

2-1. 적정량의 데이터

적정량의 데이터가 얼마인지는 어떻게 알 수 있을까? 적정량의 샘플 사이즈를 계산해 주는 사이트가 있다. 해당 사이트에 나오는 각각의 수치의 의미를 알아야 한다. 

 

 

1) Baseline : 기존 지표를 통해 파악한 현재의 통상적인 지표 수준

2) Minimum Detectable Effect : "이만큼은 차이가 나야 차이가 있다고 판단하겠다"라고 연구자가 설정한 값

-> 구글의 경우 2번이 1-2%만 차이나도 엄청난 성과.

3) Statistical Power : 2종 오류 - 실제로는 A/B 그룹에 차이가 있는데도 차이가 없다고 할 확률

-> 이 확률이 크면, 굉장히 보수적인 것

4) Significance Level : 유의 수준, 1종 오류 - 실제로는 차이가 없는데도 차이가 있다고 할 확률

-> 이 확률이 크면, 너무 긍정적인 것

 

일반적으로 표본 크기가 클수록 검정력이 커진다. 일반적으로는 80~90%의 검정력을 가지는 실험을 설계한다.

 

2-2. 적정량의 차이

적정량의 차이인지 어떻게 알 수 있을까? 이는 p-value를 통해서 알 수 있다. p값에 의해서 실제로 차이가 있는지 알기 위해서는 다음 3가지

 

1) A/B 집단의 지표 차이가 없다고 가정한다.(귀무가설, 무죄 추정의 원칙)

2) 그런데 실험을 통해 얻은 데이터를 실제로 보니 차이가 없다고 하기에는 너무 차이가 많이 난다.(예를 들면 10%의 차이라던지)(검정통계량)

3) 그 너무 많은 10%의 차이가 우연히 발생했을 확률이 p값이다.

 

즉, 실제로 A/B 집단 사이의 차이는 없는데, 우연히 그런 큰 차이가 발생했을 확률이다. 보통 그 확률이 5% 이하면(즉 p값이 0.05 이하라면), 차이가 없다고 더 이상 가정할 수 없다고 이야기한다.(귀무가설 기각)

 

과학적 표준은 0.05 미만의 p값을 사용하는 것으로, 이는 효과가 실제로 없다면 100번 중 95번 효과가 없다는 것을 정확하게 추론할 수 있다는 것을 의미한다. 차이가 통계적으로 유의한 지 여부를 조사하는 또 다른 방법은 신뢰구간이 0을 포함하는지를 확인하는 것이다. 

 

즉, 귀무가설의 p값이 0.05 미만인 지점보다 대립가설의 중심부가 더 낮거나

대립가설의 신뢰구간이 귀무가설의 중심부, 즉 0인 구간을 포함하지 않을 만큼 차이가 나야 한다.

 

더 쉽게 예를 들어보겠다. 동전을 100번 던져서 앞면이 나오는 수에 대한 분포, 즉 히스토그램을 그리면, 다음과 같이 정규분포 그래프가 나온다. 여기서 동전을 100번 던졌는데, 앞면이 5번 나오는 확률 또는 95번 나오는 확률이 있을 수 있다. 이때의 확률은 각각 5%이며, 이 5%가 바로 p값이다.

 

즉, 실험이 우연히 발생한 게 아니라고 말하려면 실험의 결과가 p값 미만 이어야 한다는 뜻이다. 

 

 

 

 

여기까지 A/B테스트를 통계적으로 신뢰할 수 있게 만들기 위한 사전 작업들에 대해서 알아보았다. 그럼 다음시간에는 A/B 테스트를 수행하는 방법들에 대해서 알아보도록 하겠다.

댓글