OkBublewrap

2025-07-25 TIL (AB test) 본문

Today I Learning

2025-07-25 TIL (AB test)

옥뽁뽁 2025. 7. 26. 01:13

📅 2025-07-25 | TIL (Today I Learned)

📋 하루 요약

  • 오늘 36도까지 올라갔다. 어우.. 무더위 조심하길
  • AB test 첫번째 실습 진행

 

🧪 전환율 개선을 위한 웹페이지 A/B 테스트

배경 및 목적

  • 목표: 새 디자인 웹페이지가 기존 대비 전환율을 개선하는지 검증
  • 목적: 사용자 더미 데이터를 기반으로 정량적 검증

 

데이터 소개

https://www.kaggle.com/datasets/putdejudomthai/ecommerce-ab-testing-2022-dataset1

 

Ecommerce AB Testing 2022 Dataset1

 

www.kaggle.com

 

  • 총 29만건의 실험 로그 데이터
  • control vs treatment 그룹으로 무작위 배정
  • 전환 여부(converted: 1 or 0) 기록
  • user_id별 국가 정보 포함
  • 파일: ab_data.csv, countries.csv
컬럼명  설명
user_id 사용자 고유 ID
timestamp 페이지 노출 시각
group 실험 그룹 (control, treatment)
landing_page 실제 본 페이지 (old_page, new_page)
converted 전환 여부 (1 = 전환됨)

 

실험 설계

  • control(기존) 그룹 ➜ old_page
  • treatment(실험) 그룹 ➜ new_page
  • 각 유저는 한 번만 페이지를 보도록 설계

 

데이터 전처리

1. 실험 설계 오류 제거

  • 일부 유저는 control 그룹인데 new_page를 보거나, 그 반대도 있었음
  • 총 3,893건 제거

2. 중복 유저 제거

  • user_id가 중복된 사용자 발견 ➜ 제거

3. 국가 정보 병합

  • 모든 사용자에 대해 국가 정보 병합

4. 최종 분석 대상 수

  • 290,586

 

가설 수립

이번 프로젝트의 목표는 새롭게 디자인된 웹페이지가 기존 페이지보다 더 높은 전환율을 유도하는지 검증

이에 따라 A/B 테스트의 가설은 다음과 같이 수립.

 

기존 페이지를 새로운 페이지로 바꾸면 전환율이 증가할 것이다.

 

$ H_0 : p_{\text{new}} \leq p_{\text{old}} \quad $ (새로운 웹페이지는 기존 페이지보다 전환율이 높지 않다)

 

$ H_1 : p_{\text{new}} > p_{\text{old}} \quad $ (새로운 웹페이지는 기존 페이지보다 전환율이 높다)

 

목표 KPI

전환율 (Conversion Rate): converted 비율

사용자가 랜딩페이지에 도달한 후 특정 행동을 수행한 비율

 

샘플 사이즈 설정

얼마나 많은 사람이 이 실험에 참여해야 결과를 신뢰할 수 있을까?

이를 판단하기 위해 통계적 검정력 분석 활용

 

전환율 차이를 5%p의 효과를 가지고 싶고, 

그 경우를 검출하기 위한 최소 샘플 수는 12,558명이다.

이 데이터는 29만명 이상의 데이터를 확보하고 있어, 충분한 검정력이 확보된 상태이다.

 

전체 전환율 분석

그룹  샘플 수 전환 수  전환 수 (CVR)
Control 144,300 17,349 12.02%
Treatment 144,390 17,166 11.89%
차이 90 183 0.13%p

 

통계적 검정 수행

Converted는 0또는 1로 이뤄진 이항 변수

따라서 두 그룹의 전환율 차이는 두 이항 확률 분포의 차이를 검정하는 문제이며

이때 사용한 검정법이 z-test입니다.

 

 

통계적 검정 결과

  • Z-stat: 1.1115
  • p-value: 0.2664

p-value가 0.8668로 귀무 가설을 기각할 수 없다.

즉, 새로운 페이지의 전환율이 기존 페이지보다 유의하게 높다고 말할 수 없다.

 

전환율 차이는 0.00134로 새로운 웹페이지가 기존보다 0.13% 높은 전환율이 보였다.

신뢰구간은 95%으로 [-0.0033, ] 0을 포함되므로 통계적으로 유의미한 차이가 없다.

두 그룹 간 전환율이 차이가 우연으로 발생 되었다라고 할 수 있고,
현재 데이터 상에서는 새로운 웹페이지가 기존보다 유의미하게 전환율을 높인다고 보기는 어렵다.

 

 

추가적 분석

현재 데이터 상에서 쓸 수 있는 요소들은 유저의 국가가 있다.

실험 데이터를 국가 기준으로 나누어 세그먼트별로 통계 분석 시도.

 

국가별 샘플 분포

국가 Control  Treatment  전체
US 101,012 101,257 202,269
UK 36,138 35,880 72,018
CA 7,150 7,253 14,403

 

전환율 차이 및 신뢰구간(편의상 양측 신뢰구간으로 계산)

국가 전환율 차이 95% 신뢰구간
US - 0.0019 [−0.0174, +0.0035]
UK + 0.0012 [−0.0035, +0.0060]
CA - 0.0069 [−0.0174, +0.0035]

 

현재 상태에서는 새로운 웹페이지의 전환율 개선 효과를 입증하기 어렵습니다.

오히려 특정 국가(US)에서는 기존 페이지가 더 좋은 성과를 보이기도 했습니다.
향후에는 국가 또는 사용자 행동 기반의 정교한 세그먼트 분석을 통해

개선 효과가 클 것으로 기대되는 집단을 중심으로 맞춤형 실험 설계가 필요합니다.

 

✔️ 회고

이번 프로젝트는 비교적 단순한 구조의 A/B 테스트였다.

실험 설계를 할 때만 해도, 신경쓸게 별로 없었다.

하지만 실무에서는 테스트를 설계할 때 통제해야 할 변수들이 매우 많을 것이다.

실험군과 대조군 간 무작위성이 잘 유지되고 있는지,

데이터 수집 과정에서 노이즈가 유입되진 않았는지,

한 사용자가 여러 번 실험에 참여하지는 않았는지 등 실험의 신뢰도를 보장하기 위한 조건이 복잡하게 얽혀 있습니다.

게다가 사용자 특성은 단일하지 않기 때문에, 국가·기기·시간대·유입 채널과 같은 다양한 세그먼트 변수를 고려해야 실험 결과를 제대로 해석할 수 있을 것이다.

 

밑에 있는 파일은 간단하게 ab 테스트를 할 수 있는 VWO의 엑셀 파일이다.

해당 홈페이지를 방문하면 파일을 다운 받을 수 있다.

 

 

파이썬 코드를 작성한 계산식이 조금 달라서 수치가 다르게 나오지만

어느 신뢰구간이든 귀무가설을 기각할 수 없다고 나온다.

 

ab_testing_significance_calculator.xls
0.04MB