brunch

You can make anything
by writing

C.S.Lewis

by 임우주 Aug 02. 2021

A/B테스트를 위한 통계 이론 7가지

마케팅과 기획 실무에 쓰이는 A/B테스트 통계 용어

데이터 과학을 위한 통계

A/B 검정이란?

A/B검정은 두 처리 방법, 제품 혹은 절차 중 어느 쪽이 다른 쪽보다 더 우월하다는 것을 입증하기 위해 실험군을 두 그룹으로 나누어 진행하는 실험이다. A/B검정은 그 결과를 쉽게 측정할 수 있으므로 웹 디자인이나 마케팅에서 일반적으로 사용된다. 예를 들면, 두 개의 인터넷 뉴스 제목을 검정하여 더 많은 클릭을 생성하는 쪽을 결정한다. 혹은, 두 개의 인터넷 광고를 검정하여 어느 것이 더 높은 전환율을 얻을지 판단하기도 한다. 


이 A/B 테스트는 디자인/마케팅/기획/데이터 직무에서는 실무에서 정말 많이 쓰인다. 이 직무 뿐만 아니라 일반적으로도 데이터를 기반으로 의사결정을 해야할 때 주로 쓰이는 기법이다.


근데 A/B를 제대로 이해하기 위해선 다양한 통계 이론을 어느정도 알아야 한다. 그래서 이 글에서 A/B테스트를 위한 통계 이론을 정리해보고자 한다. 




1. A/B 대조군

A와 B 중 어느 것을 택할지 결정하기 위해 두개의 가설을 세우는데, 이를 귀무가설과 대립 가설이라 한다. 귀무가설(null hypothesis)은 우연 때문이라는 가설을 의미하며, 이 귀무가설이 틀렸다는 것을 입증해서 A그룹과 B그룹 간의 차이가 우연이 아니라는 것을 보여주는 것이 실험의 목적이다. 대립가설(alternative hypothesis)은 귀무가설과의 대조되는 것으로, 증명하고자 하는 가설이다. 이 두 가설은 모든 상황을 묘사해야 한다. 즉, 귀무가설도 아니고 대립가설도 아닌 상황이 있어서는 안 된다.

현실에선 두 개 이상의 실험이 필요할 때도 있다. 이땐 "MAB (muti armed bandit)"와 같은 새로운 유형의 실험 설계로 가능하다. (뒷쪽에 이어서 설명)


2. 재표본추출

재표본추출은 표본을 반복적으로 추출하는 것을 의미한다. 이를 적용하면 머신러닝 모델의 정확성을 평가하고, 향상시킬 수 있다. 이 재표본추출에는 '부트스트랩'과 '순열검정'이라는 두 가지 주요 유형이 있다. 

순열검정(permutation) : 두 개 이상의 표본을 함께 결합하여 관측값들을 무작위로 재표본으로 추출하는 과정. 어떤 값들의 집합에서 값들의 순서를 변경한다는 의미가 있다. 

부트스크랩 : 통계량이나 모델 파라미터(모수)의 표본분포를 추정하는쉽고 효과적인 방법은, 현재 있는 표본에서 추가적으로 표본을 복원추출하고 각 표본에 대한 통계량과 모델을 다시 계산하는 것이다. 이러한 절차를 부트스트랩이라 하며, 데이터나 표본통계량이 정규분포를 따라야 한다는 가정은 꼭 필요하지 않다. (+ 여러 부트스트랩 샘플을 가지고 트리를 여러 개 만든 다음 각 트리에서 나온 예측값을 평균내는 프로세스를 '배깅'이라 한다. )


3. p값 

p값은 귀무가설을 구체화한 기회 모델이 주어졌을 때 관측된 결과와 같이 특이하거나 극단적인 결과를 얻을 확률을 의미한다. 예를 들어 p값이 0.308이면, 우연히 얻은 결과의 30%정도가 관찰한 것만큼 극단적이거나 그 이상 극단적인 결과를 얻을 것으로 기대된다. 

실무에선 p값이 낮을수록 좋다는 의미로 쓴다. p값을 통해 전달하고자 하는 의미는 다음과 같기 때문이다, "결과가 우연에서 비롯될 확률". 보통 우리는 더 낮은 p값을 원하고 결국 뭔가를 증명했다고 결론을 내릴 수 있기를 바란다. 

그런데 실제 p값이 나타내는 것은 다음과 같다고 한다, "랜덤 모델이 주어졌을 때, 그 결과가 관찰된 결과보다 더 극단적일 확률". 즉 p값은 귀무가설로부터 나올 수 있는 결과가 관찰된 결과만큼 극단적으로 나타날 확률이다. 중요한 것은, p 값이 유의미하다고 해서 그것이 기대처럼 바로 '증거'가 되는 것은 아니다.

데이터 과학자에게 p값은 관심 있고 유용한 모델의 결과가 일반적인 랜덤 변이의 범위 내에 있는지를 알고 싶을 때 유용한 측정 지표이다. p값을 모든 실험에서 의사 결정을 좌우하는 도구로서 간주해서는 안 된다.  


의사결정을 할 때, "5%미만이면 통과"라는 이분법적으로 쓰이기 쉽다. 하지만 이는 p값에 대한 오해이고 통계학에 새로운 원칙들은 아래와 같다.

1. p값은 이 데이터가 특정 통계 모델과 얼마나 상반되는지 나타낼 수 있다.

2. p값은 연구 가설이 사실일 확률이나, 데이터가 랜덤하게 생성되었을 확률을 측정하는 것이 아니다.

3. 과학적 결론, 비즈니스나 정책 결정은 p값이 특정 임계값을 통과하는지 여부를 기준으로 해서는 안 된다.

4. 적절한 추론을 위해서는 완전한 보고와 투명성이 요구된다.

5. p값 또는 통계적 유의성은 효과의 크기나 결과의 중요성을 의미하지 않는다.

6. p값 그 자체는 모델이나 가설에 대한 증거를 측정하기 위한 좋은 지표가 아니다.



4. 유의수준(알파, significance level) 

p값과 비슷한 개념으로 "유의수준(알파)"이 있다. 실제 결과가 통상적으로 의미 있는 것으로 간주되기 위해, 귀무가설 즉 우연에 의한 기회 결과가 능가해야 하는 '비정상적인' 가능성의 임계 확률을 의미한다. 더 쉽게 설명하면, 가설을 기각시킬지 말지 그 기준을 의미한다. 가설의 상한선이 바로 이 유의수준이다.


일반적으로 많이 사용되는 유의수준은 5%와 1%이다. 예를 들어 "p값이 5%보다 작으므로 95%의 유의수준 하에서 귀무가설을 기각한다."로 쓰인다.


하지만 올바른 x%값 (유의수준)을 보장하는 프로세스는 없다. 우리가 현실에서 원하는 것은 '우연히 일어날 확률은 무엇인가'가 이지만, 실제로 알 수 있는 것은 '랜덤 모델이 주어졌을 때, 극단적인 결과가 나올 확률은 어느 정도 인가?'이기 때문이다. 즉 랜덤 모델의 적합도에 관해 역으로 추적하는 것이고, 그에 대한 판단은 어떤 확률로 나타나지 않는다.



5. t검정 / t분포

t분포는 관측된 t통계량을 비교할 수 있는, 귀무가설에서 파생된 기준 분포이다.

 t분포는 정규분포와 생김새는 비슷하지만, 꼬리 부분이 약간 더 두껍고 길다. 정규분포와 다르게, n-1 자유도를 갖는다. 더 큰 모집단에서 추출한 표본평균의 포본분포는 무엇인가에 대한 대답이기도 하다. 포본통계량의 상태를 묘사할 때 t분포의 정확도는 표본에 대한 통계량의 분포가 정규분포를 따른다는 조건을 필요로한다. 원래 모집단이 정규분포를 따르지 않을 때조차도, 표본통계랑은 보통 정규분포를 따르는 것으로 나타났다.(t분포가 널리 적용되는 이유). 이러한 현상을 중심극한정라고 부른다


데이터 과학자가 t분포와 중심극한정리에 대해 알아야 할 것은 무엇일까? 실은 별로 없다. 이러한 분포는 고전적인 통계적 추론에 사용되기는 하지만, 데이터 과학이 주로 추구하는 목적과는 조금 거리가 있다. 데이터 과학자에게는 불확실성과 변동성을 이해하고 정량화하는 것이 중요하다. 이러한 목적을 위해서라면, 경험적 부트스트랩 표본추출을 통해서도 표본 오차에 대한 대부분의 질문에 답을 얻을 수 있다. 하지만 데이터 과학자들은 R과 같은 통계 소프트웨어 혹은 AB테스트나 회귀분석 같은 통계 절차를 통해 나온 t통계량을 매일 만나게 될 테니 알아두면 도움이 된다. 


t분포는 모든 유의성 검정은 관심 있는 효과를 측정하기 위한 검정통계량을 지정하고, 관찰된 효과가 정상적인 랜덤 변이의 범위 내에 있는지 여부를 판단하는 데 도움을 준다. 근데 재표본검정에서 데이터의 척도는 큰 문제가 되지는 않는다. 


카이제곱분포의 형태

6. 카이제곱검정 (chi-square test)

카이제곱 검정은 가설 검정 방법 중 하나이다. 카이는 χ²를 의미한다. 카이제곱통계량은 기댓값으로부터 어떤 관찰값까지의 거리를 나타내는 측정치를 의미한다. 통계적 관행에서 카이제곱통계량은 일반적으로 변수 간 독립성에 대한 귀무가설이 타당한지를 평가하기 위해 r x c분할표를 함께 사용한다. (r x c는 각각 '행과 열'을 의미한다.)


웹 테스트 시, 종종 단순한 A/B검정을 넘어 동시에 여러 가지 처리를 한 번에 테스트할 필요가 있다. 이 때 카이제곱검정을 사용하여, 횟수 관련 데이터에서 예상되는 분포에 얼마나 잘 맞는지를 검정한다. 



MAB

 7. MAB (멀티암드 밴딧 알고리즘  multi-armed bandit)

카이제곱검정이나 t검정 실험은 종종 클릭률이 매우 낮기 때문에 수천 번의실험에도 불구하고 집계 비율이 너무 낮아 실험을 통해 확실한 결론을 내리기 어렵다. 이 때엔 MAB라는 새로운 기법이 더 정확한 해결책이라고 할 수 있다. 

멀티암드 밴딧 알고리즘은 실험설계에 대한 전통적인 통계적 접근 방식보다 명시적인 최적화와 좀 더 빠른 의사결정을 가능하게 하며, 여러 테스트, 특히 웹 테스트를 위해 이를 사용한다. 실생활에서 실험의 목표는 단순히 통계적인 유의성을 조사하는 것이 아니라 최적의 처리 방법을 찾는 것이기 때문에 널리 쓰인다. (MAB의 의미는, 고객이 선택할 수 있는 손잡이가 여러 개인 가상의 슬롯머신을 말한다. 다중 처리 실험에 대한 비유라고 생각할 수 있다.)


이 MAB 알고리즘이 A/B테스트와 다른 점은 다음과 같다. 

1. 우위를 가진 것만 선택하지 않고, 다른 것에도 기회를 더 준다. 그렇기 때문에 초기 테스트에서 벌어지는 우연한 결과와 상관없이 더 많은 테스트를 통해 사실이 밝혀진다.

2. 전통적 A/B검정은 임의표집 과정을 기본으로 하기 때문에, 수익이 낮은 것을 너무 많이 시도할 수 있다. 이와 대조적으로 MAB는 실험 도중에 얻은 정보를 통합하고 수익이 낮은 것의 빈도를 줄이는 쪽으로 표본 추출 과정을 변경한다.

3. 두 가지 이상의 처리를 효과적으로 다룰 수 있다. 추출 확률을 수익이 낮은 처리에서 수익이 높으리라 추정되는 쪽으로 이동시키기 위한 다양한 알고리즘이 존재한다. (탐욕 알고리즘, 톰슨의 샘플링, 베타 분포)




위 여섯가지 개념을 이해하면 A/B테스트에 필요한 통계 개념은 대략 파악했다고 볼 수 있다. 데이터과학자가 아닌 이상, 기획자나 마케터는 이정도 개념만 알면 충분히 A/B테스트를 써먹을 수 있다.

추가로 A/B테스트의 대체제인 MAB가 요새 회사 위키에 종종 보여서 함께 소개했다. 숫자와 데이터로 씨름하고 있는 기획자와 마케터에게 도움이 되었으면 좋겠다는 바램과 함께 글을 마친다.



출처 : 

http://www.11st.co.kr/products/3623264719/share

http://www.pmean.com/09/AppropriateSampleSize.html

https://assaeunji.github.io/bayesian/2021-01-30-mab/


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