[통계] A/B Test에서 그룹 간 차이를 통계적으로 검증하는 방법 (T-Test)
A/B Test란?
기본적으로 두 가지 대안이 있을 때, 어떤 옵션이 더 나은 성과를 보여주는지 진행하는 실험으로
웹사이트나 앱의 성능을 개선하고 싶지만, 어떤 변화가 실제로 효과가 있는지 확인하고 싶을때 사용함
- A 버전 (Control Group): 기존 버전, 대조군
- B 버전 (Treatment Group): 새로운 버전, 실험군
왜 A/B 테스트가 필요할까?
- 마케팅 팀: "빨간 버튼이 더 눈에 띄어서 클릭률이 높을 것 같아요!"
- 개발 팀: "아니에요, 파란색이 브랜드 컬러와 맞아서 더 좋을 거예요!"
- 디자인 팀: "사용자 경험상 초록색이 제일 자연스러울 것 같은데..."
이런 주관적 의견 충돌을 A/B테스트를 통해서 객관적 데이터로 해결할 수가 있다.
※ 주요 지표 (Evaluation Metrics)
A/B 테스트에서는 사전에 정의된 KPI 지표를 기반으로 두 버전 간의 결과를 비교한다.
- CTR (Click-Trough Rate) : 클릭수 / 노출 수
- CVR (Conversion Rate) : 구매 또는 전환 수 / 방문자 수
- Time on Site : 평균 사이트 체류 시간
- Bounce Rate : 방문 후 바로 이탈한 사람의 비율
전통적인 A/B Test 방법 : 독립표본 T-Test
A/B Test를 좀 더 통계적인 관점에서 모델링할 수 있다.
독립 변수는 집단(명목)이며, 종속변수는 각 실험의 성공 지표(비율)가 된다.
단순히 비율만 비교하는 것이 아닌, 비교하고자 하는 두 집단의 차이가 통계적으로 유의미한지를 가설검정한다.
- 귀무가설 (Null Hypothesis, H0) : 두 버전 간의 성과 차이가 없다 (H0 : μA = μB)
- 대립가설 (Alternative Hypothesis, H1) : 두 버전 간의 성과 차이가 존재한다 (H1 : μA != μB (또는 단측: μB > μA)
새로 출시하는 버전이 이전 것보다 효과가 없다면, 굳이 새로운 버전을 출시할 필요가 없다.
따라서 클릭률(CTR) 또는 전환율(CVR) 등을 활용하여 A/B 테스트를 시행하고,
기대 수익과 손실까지 고려하여 단순하게 두 버전의 차이를 비교해볼 수 있다.
독립변수는 명목척도, 종속변수는 비율척도이므로, 위의 가설 검정을 위해 채택할 수 있는 통계 기법으로
바로 독립표본 T-Test (Independent Samples T-Test)가 있다.
이 방법은 서로 독립된 두 그룹의 평균이 통계적으로 유의미하게 차이가 있는지를 검정한다.
- X : 두 집단의 평균
- s : 두 집단의 분산
- n : 표본 개수
-> 두 그룹의 표본으로부터 추정된 분산을 기반으로 평균 차이가 표준오차에 비해서 얼마나 커지는지를 나타내는 지표이다.
A와 B간 평균 차이를 오차로 나눠
차이가 크고 분산이 작을수록 → t값이 커지고 → 통계적으로 유의한 차이가 있다고 해석할 수 있다.
- t값이 클수록 → 두 집단 사이의 차이가 유의미할 가능성 ↑
- t값이 작을수록 → 차이가 우연에 의해 발생했을 가능성 ↑
t값으로부터 p-value가 계산되고, 이 값이 기준보다 작다면 귀무가설을 기각할 수 있다.
즉, A와 B는 단순한 우연이 아니라 실제로 차이가 있는 것이다라고 판단하게 된다.
예를 들어, 버전 A와 업데이트된 버전 B를 각각 1,000명의 유저에게 노출했을 때
- A 그룹 전환율: 4.2%
- B 그룹 전환율: 4.8%
- 차이는 0.6% 이다.
이 결과가 우연일 수도 있고, 진짜 변화일 수도 있기 때문에, 위 과정을 통해 t값을 계산하고, p-value 를 통해
"두 전환율의 차이는 통계적으로 유의하다"고 판단할 수 있다.
만약 실험 결과가 통계적으로 유의미하다면, 우리는 귀무가설 H0를 기각하고 "실제로 B가 더 좋았다"라고 결론을 내릴 수 있다.
T-Test로 A/B Test를 검증하는 과정을 정리하자면 아래와 같다.
1. 실험을 통해 대응되는 표본 2개에서 데이터를 수집 (독립성 - 두 실험 대상의 관측치는 서로 독립적인가 ?)
2. 각 표본의 데이터가 정규 분포를 이루고 있는지 검증 (정규성 - 각 그룹의 데이터가 정규분포를 따르는가? , n < 30)
3. 두 개의 표본 데이터가 등분산성을 이루고 있는지 검증 ( 등분산성 - 두 집단의 분산은 비슷한가?)
4. 독립 T-Test 검증을 통해 두 집단 평균 차이가 있는지 검증
5. 기술통계량 및 분포 확인을 통해 평균 차이 계산