23년 3월 13일
총 4회 교육 중 3번째 시간은 A/B 테스트를 주제로 진행되었다.
내용은 현업에서 이걸 왜 쓰는지, 실험설계를 어떻게 해야하는지를 위주로 진행되었다.
여기에, 통계를 (간단하게) 공부한 경험이 있어서 살을 더 많이 붙여서 써볼까 한다.
1. A/B 테스트란?

- 서비스 혹은 제품에서 변화가 있을 때, 실제로 소비자가 느끼기에 더 좋아진건지(매출이 늘어난다거나, 방문 횟수 혹은 체류시간이 길어짐) 확인하고자 할 경우에 사용한다.
- 구체적으로는 신규기능 도입, UI 변화, 백엔드 변화 등이 있다.
- 신규기능, UI는 소비자가 직접적으로 확인 가능한 부분이다.
- 백엔드 변화로는 로딩시간이 빨라진다거나 끊김이 줄어드는, 서비스 만족도를 간접적으로 향상시킬 수 있다.
1) 가설 수립
- '우리는 배달을 해주는 서비스를 운영한다. 한 번에 한 집만 배달해 주는 서비스를 추가하면 만족도가 올라갈까?'
- 울서 아파트(주문률이 일정하고, 집 당 세대원 수가 비슷하고, 연령대가 비슷하고, 소득수준 등이 유사한 아파트를 선정)의 A동에 들어오는 주문은 한 번에 한 집만 배달(신규 서비스)하고,
- B동에 들어오는 주문은 한 번에 여러 집을 묶음 배달(기존 서비스) 해서
- 리뷰, 재 주문 등의 결과를 비교해보자!
2) 실험설계
- 무작위추출: 모집단을 어떻게 선별 할 것인지에 대해 정한다. 일반적으로 데이터의 형평성을 갖기 위해 무작위 추출을 한다.
- 모집단 대상 정의: 서비스 종류에 따라 테스트를 서울권에서만 진행 할 것인지, 젊은 연령층을 대상으로만 진행 할 것인지 등을 구체적으로 정한다.
- 실험 규모: 모집단을 몇명이나 모을 것인지 정한다. 모집단 수에 따라 통계검정 방법이 달라지기 때문에, 실험의 특성 혹은 중요도에 따라 결정한다. 그리고 통계적으로 기준을 강건하게 하기위해 p-value를 0.05가 아닌 0.01로 할 경우 더 많은 모집단 수가 필요하다.
- 실험 기간: 사람들의 평일, 주말 패턴이 다르고, 특정 서비스는 계절에 따른 영향을 받을 수도 있기 때문에 이를 고려하여 실험 기간을 선정해야 한다. 예로, 쿠폰 사용에 따른 리텐션 증가를 확인하고 싶다면 초두효과(초반 반짝)에 따른 결과를 제외하고 봐야 정확하기 때문에 기간을 길게 잡아야 할 수도 있다.
2. 결과해석 및 의사결정

- A/B 테스트가 결국에는 A와 B안에 대한 비교이고, 이는 두 그룹의 결과 비교와 같다.
- 통계적으로 두 그룹을 비교하기 위해서는 아래의 내용을 확인해야 한다.
1) 데이터 종류
- 먼저 결과 데이터의 종류(이산형, 연속형 등)를 알아야 한다.
- (결과가 클릭 수라면 1회, 2회 ... 100회 등으로 이산형, 결과가 접속 시간이라면 1.12초, 3.57초 .... 등으로 연속형 변수)
- 데이터(변수)의 종류를 구분하는 방법은 자료 특성에 따른 구분(이산형, 연속형)이 있고 수량적 특성(질적 변수, 양적 변수)로도 구분할 수 있는데, 두가지의 구분이 완전히 다른 것은 아니고 양적 변수이고 연속형인 데이터로 표현 가능하다.
2) 정규성, 등분산 검정
- 그리고 그룹 각각의 모집단이 정규성을 갖는지(정규분포를 따르는지) 확인해야 한다.
- 모집단 수가 30 이상인지부터 확인하고, shapiro-wilks test, QQ-plot 등으로 정규성을 확인한다.
- 추가로 등분산성을 검정한다.
- 만약 정규성을 만족하지 못한다면?
- 로그, 제곱근을 이용하여 결과값을 변환하거나, 이상치를 제거하거나,
- z-score normalization, rankit transformation의 방법이 있다.(이건 실제로 써본적은 없다.)
- 비모수 통계 방법(정규성을 만족하지 못할 때 사용)을 쓴다.
3) 두 그룹(A, B 두개)의 비교
- 결과값(변수)의 종류와 정규성 만족 여부에 따라 두 그룹을 비교하는 통계 방법이 달라진다.
- t-test, mann-whitney, kolmogorov-smirnov 등 적절한 방법을 사용한다.
- 이 방법들을 통해 두 그룹간 차이가 있는지 없는지를 p-value를 통해 확인한다.
- 'p-value가 0.05미만이면 귀무가설을 기각한다.'라는 어려운 말을 쓰는데,
- 쉽게 표현하면 '두 그룹이 같은 분포일 확률이 0.05미만이기 때문에 다른 분포로 볼 수 있다.'라는 의미이다.
- (귀무가설, 대립가설의 정의에 따라 0.05라는 기준보다 커야 차이가 있는지, 없는지가 다를 수는 있다.)
4) 세 그룹 이상의 비교
- 만약 세 그룹 이상이라면? 세 그룹 이상을 비교하는 방법도 있지만, 두 그룹씩 묵어서 각각 다 차이가 있는지를 확인하는 것이 가장 적절하다고 한다.
- 그리고 이때는 통계 유의 수준을 p-value 0.05가 아닌 각 그룹 쌍 수로 나누어서(0.05/3(=0.017)) 적용해야 하며 이를 '본 페로니 사후검정'이라고 한다.(이 외에도 몇가지 더 있긴 하다.)
- 이러한 과정을 통해 두 그룹의 차이가 통계적 계산값으로 유의미한지 확인하고, 결정한다.
---------------- 강의에서 다룬 내용은 여기까지지만... 얼마 전부터 인과추론을 공부중이라 몇자 더 써본다.
3. 인과추론

- A/B 테스트는 인과추론 중 하나의 방법이다.
- 사회적 현상을 이해하기 위해 A/B 테스트, 통계 등을 사용하는 이유는, 사실 그 현상의 원인과 결과를 이해하고 싶기 때문이다.
- 하지만 인과관계를 증명하기란 무척이나 어려운 일이기 때문에, 상관관계를 파악하는 정도로 끝나는 경우도 많다.
https://www.youtube.com/@causaldatascience
인과추론의 데이터과학
데이터 분석을 통해 원인과 결과를 탐구하는 인과추론 (causal inference) 연구를 다룹니다. 본 채널은 수익창출을 하지 않습니다. 하지만, 유튜브 정책에 의해 수익창출 여부 상관없이 모든 영상에
www.youtube.com
- 다행히도 인과추론에 대해 유튜브로 고퀄의 강의를 해주시는 분이 있어서 첨부한다.
- A/B 테스트는 실험에 따른 증명 방법이 직관적이고 간단하기 때문에 자주 사용된다.
- 그러나 A/B 테스트 외에도 인과관계를 설명하는 방법들은 다양하게 존재하고, 복잡한 관계성을 설명하기 위해서 그에 맞는 분석 방법을 숙지해야 한다.
- (인과추론 내용은 좀더 공부해서 따로 정리해야겠다.)
'클래스 리뷰 > 23.03 프리온보딩 데이터 챌린지' 카테고리의 다른 글
프리온보딩 후기 (0) | 2023.07.23 |
---|---|
데이터 분석가로 취업하기 (0) | 2023.07.21 |
프로덕트 개발 사이클, 그로스해킹, AARRR (0) | 2023.03.30 |
원티드 채용 데이터 EDA (0) | 2023.03.18 |
코랩에서 Word Cloud 시각화 (0) | 2023.03.17 |
댓글