본문 바로가기
데이터분석/통계, AB테스트

A/B 테스트 설계 및 방법과 유의 사항 with 실무예제

by 코듀킹 2023. 8. 14.
목차
1. A/B 테스트 설계 방법
2. A/B 테스트 설계 시 유의사항
3. A/B 테스트 결과를 분석하는 방법
    3-1. A/B테스트 계산기
    3-2. 테스트 비용과 효과 크기

 

💡 A/B 테스트란?

두 개의 변형 A와 B를 사용하는 종합 대조 실험. 두 가지 서로 다른 옵션에 대한 사용자의 반응을 측정함으로써 어떤 옵션이 더 효과적인지를 검증하는 과정이다. 

 

1. A/B 테스트 설계 방법

  • 가설 : A/B테스트의 출발점은 가설. 가설은 독립변수와 종속 변수가 무엇인지를 정의하고 종속 변수의 목표 수준을 정하는 형태로 이뤄진다.
  • 실험 집단/통제 집단 : 전체 모수 중 실험 조건에 할당되는 사용자들을 어떤 기준으로 구분하고, 어떤 비율로 할당할 것인지 정의해야 한다. 가장 중요한 정차는 통제 변수 관리와 엄격한 기준에 따른 샘플링이다.
  • 독립 변수 : 인과 관계에서 원이이 되는 변수, 즉 종속 변수에 영향을 줄 거라고 기대되는 변수다. 일반적으로는 2개 내외의 수준을 정해서 테스트를 진행하게 된다.
  • 종속 변수 : 종속 변수인과 관계에서 결과가 되는 변수라고 볼 수 있다. 종속 변수는 당연히 측정 가능해야 하며, 구체적으로 어떤 기준으로 측정할 것인지에 대한 조작적 정의가 사전에 명확하게 돼 있어야 한다. 실험 설계 과정에서는 종속 변수의 현재 수준을 측정하고 실험을 통해 어느 정도의 변화를 기대하는지 정의하는 것이 필요하다.
  • 통제 변수 : 실험 결과에 영향을 미칠 수 있기 때문에 실험 집단/통제 집단 모두에서 동등한 조건을 가져야하는 변수를 의미한다. A/B테스트의 성패는 통제 변수를 얼마나 잘 관리하느냐에 달린 경우가 많다.
  • 샘플 크기 : 가설 검증에 필요한 실험 참가자의 숫자를 의미한다. 통계적 유의도를 확보하기 위한 숫자를 고려해서 실험 전에 미리 정해야 한다.
  • 실험 기간 : 샘플 크기를 고려했을 때 가설 검증을 위한 데이터를 수집하는데 필요한 기간을 정의해야한다.

예시 1: 전환율 향상을 위한 A/B 테스트

  • 가설: 웹사이트의 CTA 버튼 텍스트를 변경하면 사용자의 전환율이 증가할 것이다.
  • 실험 집단/통제 집단: 웹사이트 방문자를 무작위로 50%씩 실험 집단과 통제 집단으로 나눈다.
  • 독립 변수: CTA 버튼 텍스트 (예: "지금 구매하기" vs "특가 상품 보기")
  • 종속 변수: 전환율 (구매 완료 비율)
  • 통제 변수: 유료 광고, 친추 추천 등
  • 샘플 크기: 각 집단에서 1000명의 방문자를 대상으로 실험을 진행한다.
  • 실험 기간: 2주간 데이터 수집 후 결과 분석

 

예시 2: 이메일 제목 A/B 테스트

  • 가설: 이메일 제목의 개선을 통해 이메일 열람율을 증가시킬 수 있다.
  • 실험 집단/통제 집단: 뉴스레터 구독자를 무작위로 50%씩 실험 집단과 통제 집단으로 나눈다.
  • 독립 변수: 이메일 제목 (예: "새로운 컬렉션 출시!" vs "당신을 위한 특별 혜택!")
  • 종속 변수: 이메일 열람율
  • 통제 변수: 이메일 내용, 발송 시간 등
  • 샘플 크기: 각 집단에서 2000명의 구독자를 대상으로 실험을 진행한다.
  • 실험 기간: 1주일 동안 데이터 수집 후 결과 분석

 

예시 3: 앱 활성화를 위한 A/B 테스트

  • 가설: 앱 내 사용자 경험을 개선하는 화면 재구성으로 앱 활성화율을 높일 수 있다.
  • 실험 집단/통제 집단: 앱 사용자를 무작위로 50%씩 실험 집단과 통제 집단으로 나눈다.
  • 독립 변수: 앱 화면 구성 (메뉴 위치 변경, 레이아웃 조정 등)
  • 종속 변수: 앱 활성화율 (일주일 내 앱 사용 빈도)
  • 통제 변수: 앱 기능, 디자인 일부
  • 샘플 크기: 각 집단에서 3000명의 앱 사용자를 대상으로 실험을 진행한다.
  • 실험 기간: 2주간 데이터 수집 후 결과 분석

 

2. A/B 테스트 설계 시 유의사항

A/B 테스트 설계의 성패는 실험 집단과 통제 집단을 적절하게 나누고 통제 변수 관리를 얼마나 잘했느냐에 달려 있다.

  • 실험 집단과 통제 집단 샘플링 : 랜덤 추출과 편의 추출을 구분해야 한다. 랜덤 추출은 통제 변수가 잘 관리된 것을 전제로 모든 표본이 동일한 확률을 가진 상태에서 뽑는 무작위 추출을 의미한다. 제3의 변수가 종속 변수에 영향을 미칠 수 있다고 판단되다면 이를 통제 변수에 포함해서 샘플링 과정에 반영함으로써 종속 변수에 미치는 영향을 차단해야 한다.
  • 순차 테스트와 동시 테스트 : 순차 테스트는 A 조건으로 일정 기간 테스트를 한 다음, B 조건으로 바꿔서 연이어 테스트를 진행하고 이 두 가지를 조건의 결과를 비교하는 식으로 진행하는 테스트다. 엄밀히 말해서 순차 테스트는 A/B 테스트가 아니다. 순차 테스트의 가장 큰 문제는 제대로 된 통제 변수 관리를 할 수 없다는 점이다. 실험 기간이 달라짐에 따라 기대하지 못한 외부 효과가 개입할 여지가 있기 때문이다. 어쩔 수 없이 순차 테스트를 해야 한다면 샘플링 오류에서 정말 자유로운가를 굉장히 꼼꼼하게 검증해야 한다.
  • 샘플 크기 : 실험을 시작하기 전에 샘플 크기를 미리 정해야 한다. 샘플 크기 계산기를 활용해서 계산할 수 있다.

 

예시 1: 랜덤 추출 vs. 편의 추출

가설: 블로그 게시물의 글자 수가 사용자의 페이지 머문 시간에 영향을 미친다.

랜덤 추출: 모든 블로그 게시물 중에서 무작위로 100개의 게시물을 선택하여 실험 그룹과 통제 그룹으로 나눈다.
편의 추출: 특정 주제의 블로그 게시물 중에서 100개의 긴 게시물을 실험 그룹으로 선택하고, 100개의 짧은 게시물을 통제 그룹으로 선택한다.
통제 변수: 게시물의 주제, 이미지 사용 등

 

예시 2: 순차 테스트와 동시 테스트

가설: 제품 홍보 블로그 게시물의 헤더 디자인이 제품 클릭률에 영향을 미친다.

순차 테스트: A 기간 동안 기존 디자인을 사용하고, B 기간 동안 새로운 디자인을 사용하여 제품 홍보 게시물을 게시한다. 각 기간의 클릭률을 비교하여 디자인 변화의 영향을 확인한다.
동시 테스트 (A/B 테스트): A 그룹과 B 그룹에 동시에 각각 다른 디자인을 사용하는 게시물을 게시한다. 동일한 기간 동안 클릭률을 비교하여 어떤 디자인이 더 나은 결과를 보이는지 확인한다.

 

예시 3: 샘플 크기 계산

가설: 블로그 콘텐츠의 링크 색상이 클릭률에 영향을 미친다.

샘플 크기 계산:

  • 현재 클릭 비율이 3%라고 가정한다.
  • 원하는 최소 유의 수준(신뢰도)이 90%이다.
  • 효과 크기(d)가 0.2로 가정한다. (작은 효과)
  • 양측 가설 검정을 사용한다.

이 정보를 바탕으로 샘플 크기 계산기를 사용하여 필요한 샘플 크기를 계산한다. 계산 결과, 각 그룹에 약 1303명의 사용자가 필요하다고 나온다. 이제 이를 기반으로 실험을 설계하고, 링크 색상 변경에 따른 클릭률 변화를 통계적으로 유의미한 수준에서 확인할 수 있을 것이다.

 

3. A/B 테스트 결과를 분석하는 방법

p-value에 대한 이해 : A/B 테스 결과를 판단하기 위해서는 p값과 함께 실험의 실질적인 성과, 비용, 가치 등을 종합적으로 고려해야 한다. 단순 평균이나 합계 지표의 차이는 샘플링 방법이나 실험 설계에 따라 얼마든지 영향받을 수 있으며, 특히 p값이나 신뢰구간에 대한 이해가 없다면 우연에 의해서 나타난 결과와 실제 효과를 구분할 수 없다. p값은 귀무가설 하에서 관찰된 검정통계량만큼의 극단적인 값이 관찰될 확률을 의미한다.

 

A/B 테스트 결과 분석 예시: 

1. 가설: 블로그 콘텐츠의 제목 길이가 사용자의 클릭률에 영향을 미친다.

  • 귀무 가설 (H0): 블로그 콘텐츠의 제목 길이와 클릭률 간에 유의미한 관련성이 없다. (H0: μA = μB)
  • 대립 가설 (HA): 블로그 콘텐츠의 제목 길이와 클릭률 간에 유의미한 관련성이 있다. (HA: μA ≠ μB)

2. 실험 설계:

  • A 그룹: 현재 제목 길이를 유지하는 콘텐츠
  • B 그룹: 더 긴 제목을 사용하는 콘텐츠
  • 통제 변수: 콘텐츠 주제, 썸네일 사용, 유입채널 등

3. 실험 실행: A 그룹과 B 그룹에서 각각 1000명의 사용자에게 콘텐츠를 노출시키고, 클릭 여부를 기록한다.

4. 데이터 수집: A 그룹에서 30명이 클릭, B 그룹에서 50명이 클릭했다고 가정해 보겠다.

5. 통계 분석:

  • A 그룹 클릭률: 30 / 1000 = 0.03 (3%)
  • B 그룹 클릭률: 50 / 1000 = 0.05 (5%)
  • 검정통계량(F-검정): A와 B 그룹 클릭률 차이

6. p-value 계산: A 그룹과 B 그룹의 클릭률의 차이를 통계적으로 검증하여 p-value를 계산한다.

7. p-value 해석:

  • p-value가 0.03 (3%)로 나왔다고 가정해보겠다.
  • 이 값은 귀무가설(두 그룹 간의 차이가 없다) 하에서 현재의 관찰된 차이나 더 극단적인 차이가 관찰될 확률을 나타낸다.

8. 결과 해석:

  • 선택한 유의 수준(신뢰도)이 95%라면, p-value가 0.05보다 작으므로 귀무가설을 기각한다.
  • 따라서, 제목 길이의 변화가 클릭률에 영향을 미친다고 결론 내릴 수 있다.

9. 실전 적용:

  • 실험 결과를 바탕으로 블로그 콘텐츠의 제목 길이를 조정하여 클릭률을 개선하는 전략을 시행할 수 있다.
  • 단, 이때는 비용, 시간, 가치 등을 종합적으로 고려하여 결정해야 한다.

 

3-1. A/B테스트 계산기

A/B테스트의 통계적 유의성을 간단하게 확인할 수 있다. 

 

종속 변수가 범주형(예: 클릭 여부, 가입 여부) - 로지스틱 회귀, 카이 제곱 검정

1. https://www.evanmiller.org/ab-testing/chi-squared.html

2. https://www.abtestcalculator.com/

 

종속변수가 이산형(예: 클릭 횟수, 결제 금액) - T검증, 분산분석

1. https://www.evanmiller.org/ab-testing/t-test.html

2. https://mathcracker.com/t-test-for-two-means

 

 

3-2. 테스트 비용과 효과 크기

p값이 A/B 테스트의 결과를 판단하는 단 하나의 절대적인 기준은 아니다. 애초에 표본 크기가 커지면 p값은 낮아지는 특성이 있기 때문에 실험 집단의 규모가 매우 크다면 p값이 가지는 의미가 왜곡될 수 있기 때문이다.

 

 

참고

그로스해킹 - 양승화

댓글