A/B 검정

- A안과 B안 중 어느 것이 더 효과적인지 평가하기 위해 사용되는 검정 방법
- 마케팅, 웹사이트 디자인 등에서 많이 사용됨.
- 사용자를 두 그룹으로 나누고, 각 그룹에 다른 버전을 제공한 후, 반응을 비교.
- 일반적으로 전환율, 클릭률, 구매수, 방문 기간, 방문한 페이지 수, 특정 페이지 방문 여부, 매출 등 지표 비교
목적
- 두 그룹 간의 변화가 우연이 아니라 통계적으로 유의미한지 확인
실습
import numpy as np
import scipy.stats as stats
# 가정된 전환율 데이터
group_a = np.random.binomial(1, 0.30, 100) # 30% 전환율
group_b = np.random.binomial(1, 0.45, 100) # 45% 전환율
# t-test를 이용한 비교
t_stat, p_val = stats.ttest_ind(group_a, group_b)
print(f"T-Statistic: {t_stat}, P-value: {p_val}")
결과: T-Statistic: -4.290672111997784, P-value: 2.7845022154246657e-05
- np.random.binomial(실행횟수, 확률, 샘플 개수)
scipy.stats.ttest_ind(data1, data2)
- 독립표본 t-검정(independent sample t-test)을 수행하여 두 개의 독립된 집단 간의 평균 차이가 유의미한지 평가
- 두 개의 배열을 입력받아 t-통계량과 p-value 반환
t-statistics (t-통계량)
- t-검정 통계량
- 두 집단 간 평균 차이의 크기와 방향을 나타냄
p-value (p-값)
- 귀무가설이 참일 때, 현재 데이터보다 극단적인 결과가 나올 확률
- 이 값이 유의수준(α)보다 작으면 귀무 가설을 기각하고 그렇지 않으면 귀무가설 기각하지 않음.
위 예시에서는 p-value가 '2.7845022154246657e-05'로 일반적 유의수준인 0.05보다 작기 때문에 귀무가설이 기각되어 두 집단 간의 차이가 유의미하다는 것이 입증됨.