새로운 레시피로 쿠키를 만들었다고 상상해 보세요. 이 쿠키가 기존 레시피 쿠키보다 더 맛있는지 알고 싶어요.

  • A그룹: 기존 레시피 쿠키
  • B그룹: 새로운 레시피 쿠키

이걸 친구들에게 맛보게 하고 어떤 게 더 맛있는지 물어보려고 해요.


표본 크기 (Sample Size): “몇 명에게 맛보게 해야 할까?”

표본 크기란?

말 그대로, 우리가 테스트에 참여시킬 사람(또는 웹사이트 방문자, 앱 사용자 등)의 수를 말해요. 위 쿠키 이야기에서는 “몇 명의 친구에게 맛보게 할 것인가?”가 되겠죠.

왜 중요할까요?

만약 딱 2명의 친구에게만 물어봤다고 해봐요.

  • 친구 1: 새 레시피(B)가 더 맛있다!
  • 친구 2: 새 레시피(B)가 더 맛있다!

이 결과만 보고 “와! 새 레시피가 훨씬 인기가 좋구나!”라고 단정 지을 수 있을까요? 아닐 거예요. 우연히 새 레시피를 좋아하는 친구 2명에게만 물어봤을 수도 있으니까요.

하지만 만약 100명의 친구에게 물어봤는데, 그중 70명이 새 레시피(B)가 더 맛있다고 했다면 어떨까요? 이건 2명에게 물어봤을 때보다 훨씬 더 믿을 만한 결과겠죠.

  • 표본 크기가 너무 작으면: 우연에 의한 결과일 가능성이 커서, 테스트 결과를 신뢰하기 어려워요.
  • 표본 크기가 적절하면: 우연의 영향을 줄이고, 실제 효과를 더 정확하게 파악할 수 있어요.

어떻게 정할까요? (계산 원리만 간단히!)

표본 크기를 정할 때는 보통 이런 것들을 고려해요. (수학 공식은 복잡하니, 개념만 이해해 보세요!)

  1. 현재 상황 (Baseline Conversion Rate): 기존 쿠키를 좋아하는 사람의 비율이 어느 정도인가? (예: 100명 중 50명이 좋아한다면 50%)
  2. 기대하는 최소 변화량 (Minimum Detectable Effect, MDE): 새 레시피가 “의미 있게 더 좋다”고 판단하려면, 기존보다 최소 몇 %나 더 많은 사람이 좋아해야 할까? (예: 최소 10%는 더 좋아해야 의미 있다고 생각한다면, MDE = 10%)
    • 아주 작은 차이(예: 1% 개선)까지도 잡아내고 싶다면, 훨씬 더 많은 사람이 필요해요.
    • 큰 차이(예: 20% 개선)만 확인해도 된다면, 상대적으로 적은 사람으로도 괜찮을 수 있어요.
  3. 통계적 유의수준 (Statistical Significance Level, Alpha α): 이건 아래에서 자세히 설명할 건데, “실수로 잘못 판단할 확률을 얼마나 낮게 가져갈 것인가?”예요. 보통 5%(0.05)를 많이 써요.
  4. 검정력 (Statistical Power, 1-Beta β): “실제로 차이가 있을 때, 그 차이를 ‘있다!’라고 제대로 감지해낼 확률”이에요. 보통 80%(0.8)를 많이 써요.

결론: 이런 요소들을 고려해서 “이 정도 조건이라면, 최소 OOO명은 테스트해야 믿을 만한 결과를 얻을 수 있겠다!”라고 계산하는 거예요. 다행히 요즘에는 이런 계산을 도와주는 **온라인 표본 크기 계산기(Sample Size Calculator)**가 많으니, 직접 복잡한 계산을 할 필요는 거의 없어요! 계산기에 위 값들을 입력하면 필요한 표본 크기를 알려줍니다.


B) 통계적 유의성 (Statistical Significance): “이 차이가 진짜일까, 우연일까?”

통계적 유의성이란?

A/B 테스트 결과, A그룹과 B그룹 사이에 차이가 나타났을 때, “이 차이가 정말로 우리가 만든 변화 때문에 생긴 것인지, 아니면 그냥 우연히 발생한 것인지”를 판단하는 기준이에요.

다시 쿠키 이야기로 돌아가서,

100명에게 맛보게 했더니,

  • A그룹(기존 쿠키): 50명이 좋아함 (선호도 50%)
  • B그룹(새 레시피 쿠키): 60명이 좋아함 (선호도 60%)

새 레시피 쿠키를 10명 더 좋아했네요! 이 10명의 차이가 “와! 새 레시피가 더 낫다!”라고 말할 만큼 의미 있는 차이일까요, 아니면 그냥 어쩌다 보니 그렇게 나온 우연일까요?

이걸 판단하기 위해 통계적 유의성을 사용해요.

핵심 개념: p-값 (p-value)

p-값은 “만약 두 쿠키 사이에 실제로는 아무 차이가 없는데 (즉, 새 레시피가 더 낫지 않은데), 우연히 이 정도의 차이(또는 이보다 더 큰 차이)가 관찰될 확률”을 의미해요.

  • p-값이 작다 (예: 0.01 = 1%): “두 쿠키 사이에 차이가 없다고 가정했을 때, 이런 결과(B가 10% 더 높게 나옴)가 우연히 나올 확률이 1%밖에 안 돼? 그럼 이건 우연이 아니라 진짜 새 레시피가 더 나은 것 같아!” 라고 생각할 수 있어요.
  • p-값이 크다 (예: 0.30 = 30%): “두 쿠키 사이에 차이가 없다고 가정해도, 이런 결과가 우연히 나올 확률이 30%나 되네? 그럼 이건 그냥 우연일 수도 있겠다. 새 레시피가 확실히 더 낫다고 말하기는 어렵겠어.” 라고 생각할 수 있어요.

판단 기준: 유의수준 (Significance Level, Alpha α)

우리가 테스트를 시작하기 전에 미리 기준선을 정해요. “p-값이 이 기준보다 낮으면, 이건 우연이 아니라고 판단하겠다!” 이 기준선을 **유의수준(α)**이라고 하고, 보통 **0.05 (또는 5%)**로 많이 정해요.

  • p-값 < 유의수준 (α) (예: p-값이 0.03이고, 유의수준이 0.05라면): “결과가 통계적으로 유의미하다!” 즉, 관찰된 차이는 우연히 발생한 것이 아니라, 실제 효과일 가능성이 높다고 판단해요. (이때, “귀무가설을 기각한다”고 표현해요. ‘귀무가설’은 “두 그룹 간에 차이가 없다”는 가정입니다.)
  • p-값 ≥ 유의수준 (α) (예: p-값이 0.1이고, 유의수준이 0.05라면): “결과가 통계적으로 유의미하지 않다!” 즉, 관찰된 차이가 우연일 가능성을 배제할 수 없으므로, 새로운 변화가 효과가 있다고 단정하기 어렵다고 판단해요.

결론: 테스트 결과 나온 p-값을 우리가 미리 정한 유의수준과 비교해서, 이 차이가 진짜 의미 있는 변화인지, 아니면 그냥 우연인지 판단하는 거예요. A/B 테스트 도구들이 보통 이 p-값을 계산해서 보여줍니다.


정리하자면,

  • 표본 크기: “믿을 만한 결과를 얻으려면 얼마나 많은 사람(데이터)이 필요할까?”를 정하는 것. 충분해야 우연의 영향을 줄일 수 있어요.
  • 통계적 유의성 (p-값 활용): “테스트 결과 나타난 차이가 진짜 효과 때문일까, 아니면 그냥 우연일까?”를 판단하는 것. p-값이 유의수준보다 낮으면 “진짜 효과인 것 같다!”고 판단해요.

C) 쿠키 예시에서 통계적 유의성 계산

우리가 가진 정보 (쿠키 예시):

  • A그룹 (기존 레시피): 100명 중 50명이 좋아함 (선호율 = 50/100 = 0.5 또는 50%)
  • B그룹 (새로운 레시피): 100명 중 60명이 좋아함 (선호율 = 60/100 = 0.6 또는 60%)

우리가 알고 싶은 것:

새로운 레시피(B그룹)의 선호율 60%가 기존 레시피(A그룹)의 50%보다 정말로 더 나은 것일까요, 아니면 이 정도 차이는 그냥 우연히 나올 수 있는 정도일까요?

계산 단계 (최대한 쉽게 설명해 볼게요!):

통계학자들이 이런 걸 계산할 때는 보통 “가설 검정”이라는 과정을 거쳐요. 그리고 여러 가지 방법이 있지만, 이런 비율 차이를 볼 때는 “카이제곱 검정” 또는 “Z-검정 (두 비율 비교)” 같은 방법을 사용합니다. 여기서는 개념을 이해하는 게 중요하니, 결과를 해석하는 방법에 초점을 맞출게요.

1. 가설 세우기:

  • 귀무 가설 (H₀, 영가설): “두 쿠키 레시피 간에 선호도 차이가 없다.” (즉, 새 레시피가 더 좋다고 할 수 없다. 관찰된 차이는 우연이다.)
  • 대립 가설 (H₁): “두 쿠키 레시피 간에 선호도 차이가 있다.” (즉, 새 레시피가 기존 레시피와 선호도가 다르다. 이왕이면 새 레시피가 더 좋길 바라겠죠?)

2. 유의수준 정하기:

우리가 얼마나 엄격하게 판단할지 기준을 정하는 거예요. 보통 **0.05 (5%)**를 많이 사용해요.

이 말은, “실제로는 차이가 없는데, 우연히 차이가 있는 것처럼 보일 확률이 5% 미만일 때만 ‘아, 이건 진짜 차이가 있는 것 같아!’라고 인정하겠다”는 뜻이에요.

3. 검정 통계량 계산 및 p-값(p-value) 찾기:

자, 이제 실제 계산이 들어가는 부분이에요. 이 부분은 통계 프로그램이나 온라인 계산기가 주로 해줍니다. 직접 손으로 계산하는 건 꽤 복잡하거든요.

온라인 “A/B 테스트 유의성 계산기” (A/B Test Significance Calculator) 같은 도구를 사용하면 쉽게 값을 얻을 수 있어요.

예를 들어, 이런 계산기에 아래 정보를 입력한다고 생각해 보세요:

  • A그룹 (Control):
    • 방문자 수 (또는 시식자 수): 100
    • 전환 수 (또는 좋아한 사람 수): 50
  • B그룹 (Variation):
    • 방문자 수 (또는 시식자 수): 100
    • 전환 수 (또는 좋아한 사람 수): 60

이 값을 넣고 계산기를 돌려보면, p-값(p-value) 이라는 것을 알려줍니다.

만약 제가 이 값으로 계산기를 돌려보면 (예: Evan Miller의 계산기 사용),

  • p-값은 대략 0.1573 (또는 15.73%) 정도가 나옵니다.
  • *신뢰 수준은 보통 (1 - p-값)**으로 보기도 하는데, 이 경우는 “새로운 레시피가 더 낫다”는 주장에 대해 약 84.27% 정도의 신뢰도를 보인다고 할 수 있지만, p-값 자체로 판단하는 것이 더 표준적입니다.

4. 결론 내리기:

  • 우리가 계산한 **p-값 (0.1573)**과 처음에 정한 **유의수준 (0.05)**을 비교해요.
  • p-값 (0.1573) > 유의수준 (0.05)

p-값이 우리가 정한 기준(0.05)보다 크네요!

이게 무슨 뜻일까요?

“만약 두 쿠키 레시피 사이에 실제로는 아무런 선호도 차이가 없다고 가정하더라도, 우리가 지금 관찰한 정도의 차이(B가 10% 더 높게 나옴) 또는 그보다 더 큰 차이가 **우연히 발생할 확률이 약 15.73%**나 된다”는 뜻이에요.

15.73%라는 확률은 우리가 “이건 우연이 아닐 거야!”라고 자신 있게 말하기에는 꽤 높은 확률이죠? (우리는 5% 미만일 때만 그렇게 말하기로 했으니까요.)

그래서 결론은:

“현재 데이터만으로는 새로운 레시피 쿠키(B그룹)가 기존 레시피 쿠키(A그룹)보다 통계적으로 유의미하게 더 선호된다고 말하기는 어렵다.

즉, 귀무 가설(“차이가 없다”)을 기각할 충분한 근거가 없는 거예요.

만약 p-값이 0.03 (3%) 이었다면?

그랬다면 p-값 (0.03) < 유의수준 (0.05) 이므로, “새로운 레시피가 기존 레시피보다 통계적으로 유의미하게 더 선호된다!”라고 말할 수 있었을 거예요. 왜냐하면, 실제 차이가 없는데 우연히 이런 결과가 나올 확률이 3%밖에 안 된다면, 그건 우연이 아니라 진짜 효과일 가능성이 높다고 판단하는 거죠.

중요한 점:

이 결과가 “새로운 레시피가 효과가 없다”는 뜻은 아니에요! 단지 **“현재의 100명씩의 표본 크기로는 그 효과가 우연인지 아닌지 확실하게 구분할 만큼 충분한 증거를 찾지 못했다”**는 의미가 더 정확해요.

만약 더 많은 사람에게 맛보게 했다면 (표본 크기를 늘렸다면), 결과가 달라질 수도 있어요. 어쩌면 정말로 미세한 차이만 있어서 더 많은 데이터가 필요했을 수도 있고요.


베타 분포(Beta distribution)는 A/B 테스트, 특히 베이지안(Bayesian) 관점에서 A/B 테스트를 분석할 때 매우 유용하게 사용됩니다.

아까 쿠키 예시에서 우리가 p-값을 계산했던 방식은 “빈도주의(Frequentist)” 통계학의 접근 방식이에요. 베타 분포는 “베이지안(Bayesian)” 통계학에서 주로 등장합니다.

베타 분포가 왜 A/B 테스트와 관련이 있을까요?

A/B 테스트에서 우리는 주로 전환율(Conversion Rate) 같은 비율 데이터를 다룹니다. 예를 들어,

  • 쿠키를 맛본 사람 중 “맛있다”고 한 사람의 비율
  • 웹사이트 방문자 중 구매를 한 사람의 비율
  • 이메일을 받은 사람 중 링크를 클릭한 사람의 비율

이런 비율은 항상 0과 1 사이의 값을 가져요 (0% ~ 100%).

베타 분포는 0과 1 사이의 값을 갖는 확률 변수를 모델링하는 데 아주 적합한 확률 분포입니다. 그래서 전환율처럼 0과 1 사이의 불확실한 값을 나타내는 데 딱 좋아요!

베타 분포를 쉽게 이해해 볼까요?

베타 분포는 두 개의 모수(parameter), 보통 알파(α)베타(β) 로 표현돼요. (여기서 베타는 분포 이름이기도 하고 모수 이름이기도 해서 헷갈릴 수 있지만, 보통 α, β로 많이 씁니다.)

  • 알파 (α): “성공” 횟수와 관련 있다고 생각할 수 있어요. (예: 쿠키가 맛있다고 한 횟수 + 1)

  • 베타 (β): “실패” 횟수와 관련 있다고 생각할 수 있어요. (예: 쿠키가 맛없다고 한 횟수 + 1)

    (정확히는 α-1, β-1을 성공/실패로 보기도 하지만, 이해를 돕기 위해 +1로 표현하기도 합니다.)

이 알파와 베타 값에 따라 베타 분포의 모양이 다양하게 변해요.

  • 만약 α=1, β=1 이면, 모든 값(0~1 사이)이 나올 확률이 같은 평평한 분포(균일 분포)가 돼요. 이건 “아무 정보도 없어서 모든 전환율이 똑같이 가능성 있다”고 생각하는 것과 같아요. (사전 정보가 없을 때 사용)
  • 만약 α가 β보다 훨씬 크면 (예: α=10, β=2), 분포는 1에 가까운 쪽으로 치우쳐요. “성공 확률이 높을 것 같다”는 믿음을 나타내죠.
  • 만약 β가 α보다 훨씬 크면 (예: α=2, β=10), 분포는 0에 가까운 쪽으로 치우쳐요. “성공 확률이 낮을 것 같다”는 믿음을 나타내죠.
  • α와 β가 둘 다 크면 (예: α=50, β=50), 분포는 특정 값(이 경우 0.5) 주변에 뾰족하게 모여요. “성공 확률이 0.5 근처일 것이라고 꽤 확신한다”는 뜻이죠.

A/B 테스트에서 베타 분포를 어떻게 사용할까요? (베이지안 접근 방식)

  1. 사전 믿음 (Prior Belief) 설정: 테스트를 시작하기 전에, A버전과 B버전 각각의 전환율에 대한 우리의 “믿음”을 베타 분포로 표현해요.

    • 만약 아무 정보가 없다면, A와 B 모두에 대해 Beta(1, 1) (모든 전환율이 동등하게 가능)을 사용할 수 있어요.
    • 과거 데이터나 경험이 있다면, 그걸 반영해서 Beta(예: 성공횟수+1, 실패횟수+1) 같은 사전 분포를 설정할 수도 있어요.
  2. 데이터 수집 (A/B 테스트 진행): 실제로 테스트를 진행해서 각 버전별로 방문자 수(시도 횟수)와 전환 수(성공 횟수)를 얻어요.

    • A버전: N_A명 방문, S_A명 전환
    • B버전: N_B명 방문, S_B명 전환
  3. 사후 믿음 (Posterior Belief) 업데이트: 사전 믿음과 새로 얻은 데이터를 결합해서, 각 버전의 전환율에 대한 “업데이트된 믿음”을 얻어요. 이것도 역시 베타 분포가 됩니다! (이게 베타 분포의 아주 편리한 점이에요. “켤레 사전 분포”라고 부릅니다.)

    • A버전의 사후 분포: Beta(α_prior_A + S_A, β_prior_A + (N_A - S_A))
    • B버전의 사후 분포: Beta(α_prior_B + S_B, β_prior_B + (N_B - S_B))

    (만약 사전 믿음으로 Beta(1,1)을 썼다면, A의 사후 분포는 Beta(1 + S_A, 1 + N_A - S_A)가 됩니다.)

  4. 결과 해석: 이제 우리는 A와 B 각각의 전환율에 대한 확률 분포(베타 분포)를 가지고 있어요. 이걸 이용해서 다양한 질문에 답할 수 있습니다.

    • “B버전의 전환율이 A버전의 전환율보다 높을 확률은 얼마인가?” (P(B > A))
      • 이게 베이지안 A/B 테스트의 가장 큰 장점 중 하나예요! 두 베타 분포를 비교해서 이 확률을 직접 계산할 수 있어요. (보통 시뮬레이션을 통해 구합니다.)
      • 예를 들어, “B가 A보다 나을 확률이 98%다” 같은 직관적인 결과를 얻을 수 있죠.
    • “B버전으로 바꿨을 때 기대되는 손실(또는 이득)은 어느 정도인가?”
    • 각 버전의 전환율이 특정 범위 안에 있을 확률은 얼마인가? (신뢰 구간과 비슷한 개념인 “신용 구간(Credible Interval)“을 구할 수 있어요.)

빈도주의 vs. 베이지안 간단 비교 (쿠키 예시로)

  • 빈도주의 (p-값 사용): “만약 두 쿠키 맛에 차이가 없다면, 지금 같은 결과(B가 10% 더 좋음)가 우연히 나올 확률은 15.73%다.”
    • 결론: “B가 더 낫다고 통계적으로 유의미하게 말하기 어렵다.” (귀무가설 기각 실패)
  • 베이지안 (베타 분포 사용): (예시 데이터로 사전분포 Beta(1,1)을 사용하고, A: 50성공/50실패, B: 60성공/40실패 데이터를 반영하면)
    • A의 사후분포: Beta(1+50, 1+50) = Beta(51, 51)
    • B의 사후분포: Beta(1+60, 1+40) = Beta(61, 41)
    • 이 두 분포를 비교해서 “B의 실제 선호율이 A의 실제 선호율보다 높을 확률”을 계산할 수 있어요. 아마도 p-값이 컸던 것처럼, 이 확률도 아주 높게 나오지는 않을 거예요. (예를 들어, “B가 A보다 나을 확률이 80%다” 같이 나올 수 있습니다.)
    • 결론: “B가 A보다 나을 확률은 80%이다.” (결정을 내릴 때 이 확률을 참고)

요약:

  • 베타 분포는 0과 1 사이의 비율(예: 전환율)을 모델링하는 데 사용됩니다.
  • 베이지안 A/B 테스트에서는 각 버전의 전환율에 대한 믿음을 베타 분포로 표현하고, 데이터를 통해 이 믿음을 업데이트합니다.
  • 이를 통해 “B가 A보다 나을 확률” 같은 직관적인 결과를 얻을 수 있으며, 의사결정에 도움을 줍니다.

통계적 유의성(p-값)을 계산하는 빈도주의 방식과 베타 분포를 활용하는 베이지안 방식은 세상을 바라보는 철학이 조금 다르지만, 둘 다 A/B 테스트에서 유용하게 사용될 수 있는 도구들이에요! 베이지안 방식이 좀 더 직관적인 결과를 제공하는 경향이 있어서 최근에 많이 주목받고 있습니다.


D) 통계적 유의성 계산법

쿠키를 예시로 A/B 테스트에서 표본 크기와 통계적 유의성을 어떻게 계산하고 해석하는지, 그리고 베타 분포가 어떤 역할을 하는지 쉽고 명확하게 설명합니다.


D.1) 표본 크기(Sample Size): “얼마나 많은 사람에게 물어봐야 할까?”

D.1.1) 표본 크기란?

표본 크기는 테스트에 참여할 사람(혹은 사용자, 방문자 등)의 수를 의미합니다. 쿠키 실험에서는 “몇 명의 친구에게 맛을 보게 할 것인가?”가 바로 표본 크기입니다.

D.1.2) 왜 중요할까요?

  • 표본이 너무 적으면: 결과가 우연일 가능성이 높아 신뢰하기 어렵습니다. 예를 들어, 단 2명에게 물어봤더니 모두 새 레시피(B)가 더 맛있다고 했다고 해서 “무조건 B가 더 낫다!”라고 결론낼 수는 없습니다.
  • 표본이 충분하면: 우연의 영향을 줄이고 실제 효과를 제대로 파악할 수 있습니다. 예를 들어, 100명 중 70명이 B를 더 좋아했다면 두 명만 물어봤을 때보다 훨씬 믿을 만한 결과겠죠.

D.1.3) 표본 크기를 정하는 원리(개념 설명)

표본 크기를 결정할 때는 아래 네 가지 요소를 고려합니다.

  1. 현재 상황(기존 전환율): 기존 레시피 쿠키의 선호 비율(예: 100명 중 50명 → 50%)
  2. 기대하는 최소 변화량(MDE): “이 정도 차이면 의미 있다고 생각한다”는 기준(예: 최소 10% 개선)
    • 미세한 차이까지 잡으려면 더 많은 사람이 필요
    • 큰 차이만 보면 된다면 상대적으로 적은 인원도 충분
  3. 유의수준(Alpha, α): “실수로 잘못 판단할 확률”(보통 0.05 = 5%)
  4. 검정력(Power, 1-β): “실제 효과가 있을 때 올바르게 감지할 확률”(보통 0.8 = 80%)

요즘은 이런 조건들을 입력하면 필요한 표본 크기를 계산해주는 온라인 계산기가 많습니다! 복잡한 공식 대신 개념만 이해하고, 계산기는 활용하세요.