스킬캠퍼스

오늘 끝나면

A/B 테스트

  • A/B 테스트의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 A이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

실험으로 인과를 확인하는 실무의 꽃 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

통계 · 40

A/B
테스트

두 버전을 무작위로 나눠 어느 쪽이 더 나은지 비교한다.
무작위 배정이 핵심이다. 상관이 아니라 인과를 준다.
지표 차이는 검정으로 우연과 진짜를 갈라낸다.

P.01통계 · 40

두 버전, 무작위로 나눠 비교

버튼 색을 빨강과 파랑 중 뭘로 할지 감으로 정할 일이 아니다.

A는 기존 버전, B는 바꾼 버전이다.
들어오는 사람을 동전 던지듯 무작위로 A와 B에 배정한다.
그리고 두 그룹의 지표인 전환율, 클릭률, 구매액을 비교한다.

무작위 배정이 핵심이다.
나이, 기기, 요일, 기분 같은 다른 요인이 두 그룹에 골고루 섞인다.
그래서 두 그룹은 버전만 빼고 평균적으로 같아진다.

이건 관찰이 아니라 실험이다. 원인을 직접 손에 쥐고 흔들어 결과를 본다.

들어오는 사람 → 동전 던져 A·B로
무작위 배정
들어오는 사람
동전 던지기 ↓
그룹 A (기존)
그룹 B (변경)

버전만 다르고 나머지는 평균적으로 같아진다

P.02통계 · 40

무작위 배정이 인과를 준다

그냥 데이터에서 “빨강 누른 사람이 더 샀다”는 건 인과가 아니다.

빨강을 고른 사람은 원래 적극적인 사람일 수 있다.
버전이 아니라 사람이 달라서 차이가 났을 수 있고, 이걸 교란이라 한다.
관찰만으로는 버전 효과와 사람 차이를 가르지 못한다.

무작위 배정은 이 교란을 끊는다.
누가 A로 가고 B로 갈지를 동전이 정하니, 사람 특성이 두 그룹에 같게 퍼진다.
남는 체계적 차이는 오직 버전뿐이다.

그래서 차이가 나면 그건 버전이 만든 것이고, 곧 인과다.
A/B가 상관을 넘어 인과를 주는 이유가 무작위 배정에 있다.

관찰 데이터 vs 무작위 실험
상관 vs 인과
관찰 데이터상관일 뿐

빨강 누른 사람이 더 산다

원래 적극적인 사람일 수 있다, 교란이다

무작위 실험인과 OK

동전이 빨강과 파랑을 배정한다

사람 특성이 두 그룹에 같게 퍼진다

무작위 배정이 교란을 끊으니 남는 차이는 버전 탓이다

P.03통계 · 40

지표 차이를 검정한다, 우연인가

B가 12%, A가 10%로 나왔다고 B가 이겼다고 단정할 수는 없다.

같은 진짜 차이라도 표본을 뽑을 때마다 관측값은 흔들린다.
진짜로 똑같은 두 버전도 우연히 2%p쯤 벌어질 수 있다.
그래서 관측 차이가 우연으로 나올 만한지 검정한다.

전환율 비교는 두 비율의 z검정을 쓴다.
귀무가설은 “두 진짜 전환율이 같다”는 것이다.
관측 차이가 이 가설 아래서 나올 확률이 p값이다.

n이 작으면 진짜 차이가 있어도 p값이 0.05를 넘겨 우연과 구분하지 못한다.

관측 차이 → z검정 → p값
A/B 시뮬 · 무작위 배정 → 검정
진짜 전환율, 우리는 보통 이 값을 모른다
버전 A10%
버전 B13%

진짜 차이 +3%p, B가 진짜로 다르다

그룹당 표본크기 n200
205000
한 번 무작위 배정해 관측한 값
A · 15/200

7.5%

B · 31/200

15.5%

관측 차이 +8.0% / 같은 진짜 차이라도 뽑을 때마다 흔들린다

z 통계량

2.51

p값 (양측)

0.012

p < 0.05, 우연으로 보기 어렵다 · 차이 있다고 판정

진짜 차이가 있어도 n이 작으면 p값이 자주 0.05를 넘어 우연과 구분하지 못한다.

P.04통계 · 40

표본크기와 검정력을 미리 정한다

표본크기 n은 실험 끝나고 정하는 게 아니다. 시작 전에 계산한다.

잡고 싶은 최소 차이(예: 2%p), 유의수준 α(보통 0.05),
그리고 검정력 1−β(보통 0.8)를 정하면 필요한 n이 나온다.
검정력은 진짜 차이가 있을 때 그걸 잡아낼 확률이다.

n이 작으면 검정력이 낮아 진짜 차이를 놓친다. 이걸 2종 오류라 한다.
작은 차이를 잡으려면 더 큰 n이 필요하다.
n을 키우면 추정이 좁아져 우연의 흔들림이 줄어든다.

그래서 순서가 중요하다.
n을 먼저 정하고, 그 n을 다 채울 때까지 돌린 다음, 그때 한 번 본다.

n이 커질수록 좁아지는 추정
n ↑ → 추정 구간 ↓
n=100±9%pn=400±4.5%pn=1600±2.3%pn=6400±1.1%p관측 차이

n이 4배면 구간은 절반이 된다. 작은 차이를 잡으려면 큰 n이 필요하다.

P.05통계 · 40

함정, 들여다보기와 여러 변수

A/B가 망가지는 건 대개 검정이 아니라 운영에서다.

들여다보기(peeking)가 제일 흔한 함정이다.
돌리는 중에 자꾸 보다가 p가 0.05 밑으로 떨어진 순간 멈추면,
여러 번 본 만큼 우연히 작아진 p를 잡게 되고 거짓양성이 크게 늘어난다.

한 번에 한 변수만 바꾼다.
색, 문구, 위치를 동시에 바꾸면 뭐가 효과를 냈는지 가르지 못한다.
여러 지표를 동시에 보면 다중비교로 또 거짓양성이 늘어난다.

그래서 규칙은 단순하다.
n과 기간을 미리 정하고, 한 변수만 바꾸고, 끝까지 채운 다음 한 번 판정한다.
이렇게 해야 A/B가 실무 의사결정의 기준이 된다.

Q. A/B 테스트가 상관이 아니라 인과를 주는 이유는?정답은 무작위 배정 때문이다.
누가 A와 B로 갈지를 무작위로 정하면 나이, 기기, 기분 같은 다른 요인이 두 그룹에 평균적으로 같게 섞인다.
그래서 두 그룹은 버전만 빼고 같아지고, 남는 차이는 버전이 만든 것이니 인과로 읽힌다.
peeking이 거짓양성을 부풀림
peeking → 거짓양성 ↑
1번만 확인~5%
5번 확인~14%
10번 확인~19%
매일 확인~30%

진짜 차이가 0인데도 멈출 핑계가 점점 늘어나 α 0.05가 깨진다

3줄 요약

  1. 1실험으로 인과를 확인하는 실무의 꽃
  2. 2A/B 테스트은 분포 → 표본 → 검정 → 회귀 → 모델 선택 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

A

실험으로 인과를 확인하는 실무의 꽃

분포

데이터가 어떤 모양으로 퍼져 있는지 나타낸 것

표본

전체를 알기 위해 뽑아 본 일부 데이터