(1) 평균을 비교하는 A/B 테스트

방학숙제와 A/B 테스트

환경오염 관련 이슈가 핫 했던 90년대 말, 초등학교 방학숙제로

세탁세제가 식물의 성장에 미치는 영향에 대해 실험을 했던 기억이 있습니다.

아마도 세탁세제가 풀린 물에서 자라는 식물과, 생수에서 자라는 식물의 평균 길이를 비교하려 했던 것 같습니다.

아마 이 방학숙제가 필자의 첫 A/B 테스트였을 것 입니다.

세탁세제가 식물의 성장에 영향을 미칠 것이다 라는 가설이 있었고

일반 생수에서 자라는 식물(A안)과 세탁세제가 풀린 물에서 자라는 식물(B안)을

해가 잘 드는 베란다에서 자라게 하였으니 (실험하고자 하는 변수 이외의 변수는 동일한 조건으로 통제)

훌륭하게 A/B 테스트를 수행했다고 생각됩니다

그래서 실험의 결과도 훌륭했나요?

탐구 일지에 적혀있는 결과는 '눈에 띄는 차이는 없었다' 였습니다.

하지만 정량적인 통계분석을 진행했다면 결과가 달라졌을지도 모르겠습니다.


A/B 테스트와 관련된 간단한 통계지식

최근 A/B 테스트를 서비스에 적용해 성공 또는 실패한 스토리들이 쏟아져 나오는것을 보며 최근 A/B 테스트가 핫한 이슈임을 다시금 깨닫게 되었습니다. 대부분의 기업에서는 서비스의 빠른 성장을 도와주는 마법같은 툴이라는 기대를 가지고 저마다 서비스에 A/B 테스트를 도입하고 싶어합니다. 하지만 대부분의 실무자들은 막연한 어려움을 가지고 있는것이 현실입니다.

여전히 많은 사람들이 A/B 테스트는 통계 분석에 기반한 기능이라는 사실을 모르고 있습니다. 지금 이 순간에도 단순히 서로 다른 색깔의 컴포넌트를 배치하거나 위치를 변경하여 A/B 테스트를 진행하고, 더 나은 전환률을 보이는 웹페이지를 선택하고 있을수도 있습니다.

물론 어려운 통계까지는 모르더라도 실무에 문제 될 것은 없다고 개인적으로 생각합니다.

그러나 정확한 A/B 테스트 설계와 결과 해석을 위해 활용되는 통계 지식을 한번쯤은 짚고 넘어갈 필요가 있습니다.

그래서 너드팩토리 블로그에서는 이러한 어려움을 떨쳐내는데 조금이나마 도움을 드리고자 A/B 테스트와 통계 시리즈를 통해 A/B 테스트와 관련된 통계지식들을 정리하며 함께 공부해보고자 합니다.

A/B 테스트와 통계 시리즈

(1) 평균을 비교하는 A/B 테스트

(2) 통계적 오류 없이 A/B 테스트 하기

(3) 평균 통계가 주는 함정



(1) 평균을 비교하는 A/B 테스트

1. 많은 A/B 테스트 케이스들은 평균을 비교합니다.

A/B 테스트는 일정 기간 테스트를 진행하여 전환율, 클릭률 같은 지표에 대해 A, B 두 안의 평균을 비교합니다.

기간의 전체 평균을 비교할지, 기간의 일 평균을 비교할지 등은 테스트 기획자가 수립한 가설에 따라 달라집니다.

2. 두 집단의 관측된 평균값을 단순히 비교하는 것이 아닙니다!

팀이 100개가 있는 회사가 있습니다. 그 중 A팀의 30대 하루 평균 운동량이 20대보다 많을때, 회사 전체에도 그렇다고 할 수 있을까요?

관측된 평균값을 단순히 비교하려면 '일반적으로 전체 집단이 그럴 거야~' 하는 확신이 필요합니다.

하지만 관측된 데이터가 전체 집단을 대표할 수 있다고 확신할 수 없기 때문에 위험한 방법입니다.

그래서 우리는 통계적 분석 방법을 활용하여 관측된 일부 데이터만을 가지고 '일반적으로 전체 집단이 그럴 거야~' 라고 할 수 있는 확률을 구하는 것입니다. 이 과정을 통계적 추론이라고 합니다.

img1 통계적 추론

3. 통계적 가설검정 방법을 활용해 평균을 비교합니다.

가설을 세우고, 실험을 통해 데이터를 수집하고, 통계 분석으로 전체 집단에 대한 추론을 거쳐 가설을 평가합니다.

일반적으로 t-test 라는 가설 검정 방법을 활용해 두 집단의 평균값을 비교합니다.

또한 ANOVA 등의 통계 분석 방법을 활용하면 A/B/n 테스트처럼 여러 집단의 평균값을 비교 할 수 있습니다.

img2 두 집단 (또는 세 집단 이상)의 평균 비교

4. 관측된 평균의 비교가 전체 집단 비교로 일반화 될 수 있는지 확인해야 합니다.

A/B 테스트 이후 우리는 p 값을 확인해야 합니다.

p 값은 보통 A/B 테스팅 툴, 엑셀, 통계분석 도구 등을 이용했다면 제공될 것입니다.

p 값은 쉽게 '일반적으로 전체 집단이 그럴 거야~' 라고 할 수 있는 확률이라 생각하시면 됩니다.

이를 통계학에서는 통계적 유의성 이라고 표현합니다.

위키백과에서는 통계적 유의성을 다음과 같이 정의하고 있습니다.

통계적 유의성(統計的 有意性)은 모집단에 대한 가설이 가지는 통계적 의미를 말한다.
다시 말해서, 어떤 실험 결과 자료를 두고 "통계적으로 유의하다."라고 하는 것은 `확률적으로 봐서 단순한 우연이라고 생각되지 않을 정도로 의미가 있다`는 뜻이다.
반대로 "통계적으로 유의하지 않다."라고 하는 것은 실험 결과가 단순한 우연일 수도 있다는 뜻이다.

통계적 유의성을 따지려 들때 p-value (p 값), ɑ (알파) 등의 용어들을 들어보셨을 수도 있습니다.

하지만 우리는 내 테스트의 결과가 통계적으로 유의한지만 살펴볼 줄 알면 됩니다.

일반적으로 많은 상황에서 p 값이 0.05 이하라면 통계적으로 유의하다고 할 수 있습니다.

두 집단의 평균을 비교하는 A/B 테스트에서는 p 값이 0.05 이하라면 두 집단 간 차이가 유의하다고 해석할 수 있으며 평균 값이 더 높은 안을 채택하면 됩니다 :)

5. p 값과 관련된 중요한 사실 한 가지!

통계적 유의성이 중요한가요?

결론부터 말하자면 중요합니다. 하지만 굉장히 중요한 것 같지는 않습니다. (정도로 표현하고 싶습니다)

유의성 검정과 관련해서는 학계에서도 이미 많은 논란이 있으며 논란을 간단히 정리하면 다음과 같습니다.

p 값을 0.05를 기준으로 이하면 유의하고, 넘어가면 유의하지 않다 라고 이분법적으로 해석하는 것은 문제라는 것입니다.

그래서 p 값에 대해서는 융통성있게 해석하는 것을 권장드립니다.

A/B 테스트에서 p 값이 0.05를 넘어서 0.06 0.07…0.1 정도의 결과가 나온다 하더라도 실패한 실험이구나 좌절하지 마시고 다음과 같이 해석하시면 됩니다.

통계적으로 유의하지는 않으나 두 집단 간 평균은 어느정도 차이는 있다고 볼 수 있다! 따라서 어느 안 하나를 선택할 근거는 충분하다!

물론 p 값이 0.3, 0.5.. 0.99 가 나온다면 당연히 유의하지 않은 것이니 고민하지 마세요! 🙂



다음 포스트에서는 통계적 오류 없이 A/B 테스트를 수행하는 방법에 대해 작성하려고 합니다.

A/B 테스트의 설계 방법과 통계적 분석 방법을 공부할 수 있으니 다음 포스트를 기대해 주세요~!