A/B Test의 Power Analysis

Seohyeon Park·2025년 9월 12일

Intro.

파워(power)란 주어진 표본수와 분산에서 실제 효과(대립가설, 예: 집단 간 평균차 Δ) 가 존재할 때 이를 통계적으로 발견(귀무가설 기각)할 확률을 의마한다. 이를 이용해 우리는 목표로 하는 효과를 위해 어느정도 규모의 대상(유저)이 필요한지를 추정해 볼 수 있다.

  • Type Ⅰ error (유의수준 α\alpha) : 귀무가설이 참일 때 잘못 기각할 확률
  • Type Ⅱ error (유의수준 β\beta) : 대립가설이 참일 때(실제로 효과가 있음) 놓치는 확률
  • Power(PrPr) : 1β1-\beta
  • MDE (Minimum Detectable Effect) : 주어진 nn, α\alpha, 1β1-\beta에서 발견 가능한 최소 효과 크기

파워 분석 계산 과정.

1. 공통 전제

  • 두 집단 A(Control), B(Treatment). nA=nn_A=n, nB=rnn_B=rn
  • 목표효과(절대) : δ=pBpA\delta=p_B-p_A (비율형), δ=μBμA\delta=\mu_B-\mu_A (연속형)
  • 유의수준 α\alpha (보통 0.05), 검정은 양측이면 z1α/2z_{1-\alpha/2}, 단측이면 z1αz_{1-\alpha}
  • 검정력 (target power) 1β1-\beta (보통 0.8) → z1βz_{1-\beta}
  • 근사 : 표본 크기가 충분히 크면 이항 → 정규근사, 평균 차이는 정규근사(또는 중식극한정리) 사용. 아주 작은 pp나 꼬리가 매우 두드러진 분포는 시뮬레이션/정확검정을 권장

2. 이항/비율형 메트릭

2.1 검정/통계량 근사

두 표본 비율의 표본 추정치는 다음과 같이 나타낼 수 있다.

pA^N(pA,  pA(1pA)nA),pB^N(pB,  pB(1pB)nB)\hat{p_A} \approx N(p_A,\; \frac{p_A(1-p_A)}{n_A}), \quad \hat{p_B} \approx N(p_B,\; \frac{p_B(1-p_B)}{n_B})

우리가 관심있는 통계 값은 d^=p^Bp^A\hat{d} = \hat{p}_B-\hat{p}_A이며, 근사 분포는 다음과 같다.

d^N(δ,  pA(1pA)nA+pB(1pB)nB)\hat{d} \sim N(\delta,\; \frac{p_A(1-p_A)}{n_A} + \frac{p_B(1-p_B)}{n_B})

그러나 검정의 임계값(critical)은 귀무가설 H0:pA=pBH_0:p_A=p_B에서 계산하므로 귀무하 분산을 이용한 임계치가 나오게 된다. 귀무하에서는 공통비율 pp (알려지지 않으므로 보통 과거 값이나 pˉ\bar{p}로 근사)을 사용한다.

SEH0=pˉ(1pˉ)(1nA+1nB),pˉpA+pB2SE_{H_0}=\sqrt{\bar{p}(1-\bar{p})(\frac{1}{n_A}+\frac{1}{n_B})}, \quad \bar{p}\approx\frac{p_A+p_B}{2}

양측 검정에서 기각 조건: d^>z1α/2SEH0|\hat{d}|>z_{1-\alpha/2}\cdot SE_{H_0}

2.2 파워(근사식) 유도

파워는 실제효과 δ\delta일 때 그 임계치를 넘는 확률을 뜻하므로 다음과 같이 식을 유도할 수 있다.

Power=Pr(d^>z1α/2SEH0H1)+Pr(d^<z1α/2SEH0H1)Power = Pr(\hat{d} > z_{1-\alpha/2}SE_{H_0}|H_1) + Pr(\hat{d} < -z_{1-\alpha/2}SE_{H_0}|H_1)
=Φ(δz1α/2SEH0SEH1)+Φ(δz1α/2SEH0SEH1)= Φ(\frac{\delta-z_{1-\alpha/2}SE_{H_0}}{SE_{H_1}}) + Φ(\frac{-\delta-z_{1-\alpha/2}SE_{H_0}}{SE_{H_1}})

(여기서 ΦΦ는 표준정규 CDF.) 양측에서 첫 항이 주로 의의가 있으므로 일반적인 표본수 설계 조건으로는 다음을 사용할 수 있다. (보편적 근사)

δz1α/2SEH0SEH1z1β\frac{\delta-z_{1-\alpha/2}SE_{H_0}}{SE_{H_1}} \approx z_{1-\beta}

2.3 최종적인 닫힌형식

유도된 식을 δ=z1α/2SEH0+z1βSEH1\delta=z_{1-\alpha/2}SE_{H_0} + z_{1-\beta}SE_{H_1}로 정리하고 nA=nn_A=n, nB=rnn_B=rn을 대입하면 닫힌식이 나오게 된다.

nA=[z1α/2pˉ(1pˉ)(1+1r)+z1βpA(1pA)+pB(1pB)r]2δ2n_A=\frac{[z_{1-\alpha/2}\sqrt{\bar{p}(1-\bar{p})(1+ \frac{1}{r})} + z_{1-\beta}\sqrt{p_A(1-p_A) +\frac{p_B(1-p_B)}{r}} ]^2}{\delta^2}
  • pB=pA+δp_B=p_A+\delta
  • pˉ=pA+pB2\bar{p}=\frac{p_A+p_B}{2}
  • 단측의 경우, z1α/2z_{1-\alpha/2} 대신 z1αz_{1-\alpha}를 사용

2.4 파워 분석 계산 예시

조건 : pA=0.05p_A=0.05, δ=0.005\delta=0.005 (절대 0.5%, pAp_A의 10% 상대차이), r=1r=1 (균등 분배), α=0.05\alpha=0.05 (양측), power 0.8

  • pB=0.055p_B=0.055, pˉ=0.0525\bar{p}=0.0525
  • pˉ(1pˉ)=0.05250.9475=0.04974375\bar{p}(1-\bar{p})=0.0525 * 0.9475 = 0.04974375
  • S0=0.04974375    (1+1)=0.0994875=0.3154163915S_0=\sqrt{0.04974375\;*\;(1+1)}=\sqrt{0.0994875}=0.3154163915
  • pA(1pA)=0.05    0.95=0.0475p_A(1-p_A)=0.05\;*\;0.95=0.0475, pB(1pB)=0.055    0.945=0.051975p_B(1-p_B)=0.055\;*\;0.945=0.051975
  • S1=0.0475  +  0.051975=0.099475=0.3153965758S_1=\sqrt{0.0475\;+\;0.051975}=\sqrt{0.099475}=0.3153965758
  • 임계값: z1α/2=1.95996398454z_{1-\alpha/2}=1.95996398454, z1β=0.84162123357z_{1-\beta}=0.84162123357
  • 분자: 1.959964    0.3154164  +  0.8416212    0.31539660.88364922251.959964\;*\;0.3154164\;+\;0.8416212\;*\;0.3153966 \approx 0.8836492225
  • 제곱 후 δ2=0.000025\delta^2=0.000025로 나누면 nA31,233.44n_A \approx 31,233.44
  • 결과적으로, 그룹당 31,234명이 필요하다는 결과를 확인 할 수 있다. (단측 일시, 24,602명)

2.5 실무에서의 주의사항

  • 매우 작은 pp (ex. p<0.005)p < 0.005)나 아주 작은 npnp의 경우 정규근사가 부정확할 수 있다.
  • pAp_A 추정의 신뢰구간이 넓다면, 민감도 분석(여러 pAp_A값에 대해 nn 계산)을 권장한다.

3. 연속형 메트릭

3.1 모델/검정 통계

각 그룹의 샘플 평균은 다음과 같이 나타낼 수 있다.

XAˉN(μA,  σA2nA),XBˉN(μB,  σB2nB)\bar{X_A} \sim N(\mu_A,\; \frac{\sigma^2_A}{n_A}), \quad \bar{X_B} \sim N(\mu_B,\; \frac{\sigma^2_B}{n_B})

우리가 관심있는 통계 값 XˉBXˉA\bar{X}_B-\bar{X}_A는 다음과 같이 나타낼 수 있다.

XBˉXAˉN(δ,  σA2nA  +σB2nB)\bar{X_B}-\bar{X_A} \sim N(\delta,\; \frac{\sigma^2_A}{n_A}\;+\:\frac{\sigma^2_B}{n_B})

3.2 등분산의 닫힌식 유도

임계값은 z1α/2z_{1-\alpha/2}(양측)의 요구조건은 다음과 같다.

Pr(XˉBXˉASEH0  >  z1α/2H1)1βPr(\frac{\bar{X}_B-\bar{X}_A}{SE_{H_0}} \;>\; z_{1-\alpha/2}|H_1) \approx1-\beta

대체로 이로부터 다음 식을 얻을 수 있다.

δ=(z1α/2  +  z1β)SE,SE=σ2nA+σ2nB\delta=(z_{1-\alpha/2}\;+\;z_{1-\beta})\cdot SE,\quad SE=\sqrt{\frac{\sigma^2}{n_A}+{\frac{\sigma^2}{n_B}}}

균등분배인 nA=nB=nn_A=n_B=n 이라면,

SE=2σ2/n=σ2/nSE=\sqrt{2\sigma^2/n}=\sigma \sqrt{2/n}

따라서,

n=2σ2(z1α/2+z1β)2δ2n=\frac{2\sigma^2(z_{1-\alpha/2}+z_{1-\beta})^2}{\delta^2}

만약 불균등 배분인 nB=rnAn_B=rn_A 이라면,

nA=σ2(z1α/2+z1β)2(1+1/r)δ2,nB=rnAn_A=\frac{\sigma^2(z_{1-\alpha/2}+z_{1-\beta})^2(1+1/r)}{\delta^2},\quad n_B=rn_A

3.3 파워 분석 계산 예시

조건 : σ=50\sigma=50, δ=3\delta=3 (절대 차이, μA=100\mu_A=100 일때 3%의 상대차이), r=1r=1 (균등 분배), α=0.05\alpha=0.05 (양측), power 0.8

  • z1α/2=1.95996398454z_{1-\alpha/2}=1.95996398454, z1β=0.84162123357z_{1-\beta}=0.84162123357
  • zsum27.84887973435z_{sum}^2 \approx 7.84887973435
  • 2σ2=22500=50002\sigma^2=2*2500=5000
  • δ2=9\delta^2=9
  • 따라서, 50007.84887973435  /  94,360.48875000*7.84887973435\;/\;9 \approx 4,360.4887 이므로, n4,361n \approx 4,361로 그룹당 4,316명 이상이 필요하다는 결론을 유추할 수 있다.
profile
카페에서 한줄 한줄

0개의 댓글