가능하다면 매월 듣고 있는 데이터리안 월간 세미나! 늦었지만 세미나 당시 들었던 내용들을 노션에서 블로그에 옮김으로서 내용 리마인드가 될 것 같아 정리해본다.
세미나에서 접했던 내용 중 '실험의 최소효과 크기 MDE' 개념은 처음 알게 된 고려사항이었는데, A/B 테스트 설계에 중요한 부분이므로 관련 내용을 추가로 팔로업하면서 알아봐야 겠다.
A/B TEST의 진행 목적
인과관계를 찾아내기 위해 진행한다.(무엇을 바꾸면 사용성이 좋아질까? CTR이 높아질까? 등)
외부 요인은 동일하고 오로지 실험 변수의 차이에 의한 성과 차이를 측정한다.
그러나 여기서 주의할 점은 두 사건이 함께 일어났다고 해서 하나의 사건이 다른 사건의 원인이 된다는 결론에 이르는 건 아주 중대한 오류를 범하는 것!!
아이스크림 판매량의 변화가 물놀이 사고 빈도에 영향을 주는 것이 아니다.
A/B TEST의 진행 과정
1. 테스트 목표 및 가설 설정
- 실험의 목적을 확실히 한다.
- 실험 가설을 뾰족하게 설정한다.(가설은 추후 액션을 염두에 두고 설정한다.)
- 실험 가설 : 예상하는 원인과 결과
2. 실험 설계
- 실험과 관련된 지표를 확인한다.
- 핵심 지표 : 실험을 통해 개선하고 싶은 핵심 목표(e.g. 트윗 작성 버튼 클릭률)
- 보조 지표 : 핵심 지표 이외에 추가로 봐야 하는 지표(e.g. 트윗 작성률 - 트윗 쓰기 창을 들어간 것만이 아닌 실제 작성을 완료 했는가?)
- 가드레일 지표 : 실험의 영향으로 떨어지면(올라가면) 안되는 주요 지표(e.g. 이탈률, Page Load Time)
- 실험을 위한 사전 작업을 확인한다.
- 개발, 디자인 등 실험을 위해 필요한 작업 리스트
- 실험 대상을 정의한다.(e.g. 안드로이드 1.0.1 버전 이상 사용자)
- 실험 기간과 규모를 정한다.
- A/B 테스트 툴이나 테스트 규모 계산기 등을 활용할 수 있다.
- MDE 확인
- MDE 최소효과 크기 : A/B 테스트에 최소한으로 기대하는 성과 수준
- 개발의 공수가 많이 들수록 MDE는 커진다.(즉, 개발 리소스를 고려해야한다.)
- MDE가 크다면 샘플 사이즈가 작아도 된다. MDE가 작다면 샘플 사이즈가 커야 한다.

현실적으로는 아래와 같은 여러 문제가 있다.
- 최소 효과 크기(MDE)를 정하기 쉽지 않음
- 서비스의 트래픽이 실험을 하기에 충분하지 않음
- 서비스의 트래픽은 충분하지만, 동시에 여러 실험을 한다면 한 가지 실험에 할당할 수 있는 규모의 한계가 있음
- 특정 머신러닝 모델의 경우 학습을 위한 최소 트래픽이 필요한 경우가 있음
- 고객의 행동이 주기에 영향을 받음
따라서 현실에서는 완전무결한 통계적인 방법보다는 현실의 조건들과 타협해서 경험적으로 결정하는 경우가 많다.
3. 개발
4. A/B 테스트 실행
- 테스트가 제대로 되고 있는지 확인한다.
- 실험군과 대조군이 랜덤하게 나누어지고 있는지
- 실험을 진행하는 동안 사용자 경험은 어떤지
- '내가 원하는 결과를 봤을 때 실험을 멈추고 싶다', '내가 원하는 결과를 보기까지 실험을 계속하고 싶다'는 욕망을 주의하고 처음 설계한 대로 목적에 맞게 실험을 진행한다.
5. 실험 결과 해석
- 실험 결과 정리
- A, B 실험군의 수
- 지표 평균 - 핵심 지표, 보조 지표, 가드레일 지표 확인
- p-vlaue 등 주요 실험 결과 정리 - 통계적으로 유의미한 결과인지 확인
- 실험 결과 분석
- 실험을 통해 배운 점
서비스와 이를 사용하는 사용자는 끊임없이 변화한다. 테스트로 얻은 결론이 언제까지 유효하고 우리 서비스에 어느 정도 보편성이 있는지 파악해야 한다.
레슨런은 영원히 적용되지 않는 다는 점을 주의하자.
6. 의사 결정
또한 실험 = 의사결정이 아니다!
A/B TEST시 주의할 점
실험 초반에 지표가 갑자기 많이 상승할 수 있다.
신기 효과와 초두 효과를 염두에 두자!
- 신기 효과 : 기존 사용자들은 단지 실험에 포함된 기능이 '새롭기' 때문에 사용해볼 수 있다.
- 지표 상승이 신기 효과 때문이라면 긍정적인 지표가 단기간 동안에만 지속된다.
- 신기 효과를 피하는 법
- A/B 각 그룹에서 신규 사용자만 뽑아서 지표를 확인한다.
- 실험 시작 이후로 N회차 방문 별로 세그먼트를 쪼개어 데이터를 확인한다.(더 이상 신규 기능이 새롭지 않게 됐을 때도 기능을 사용하는지 확인하기 위함)
- 실험을 길게 진행한다.
- 초두 효과 : 사용자들이 새 기능에 적응하는데 시간이 걸릴 수 있다. 시간이 지날수록 새 기능에 학습을 하기 때문에 반응을 하기 시작한다.
숫자 놀음을 조심하자.
전환율은 그대로인데 데이터의 크기가 커지면 p-value가 달라질 수 있다.

실험이 실제 현실에서 어떤 효과를 내는지 고려하자.
실험 결과 A, B군의 차이가 근소할 수 있다. 그러나 실험의 결과가 매출에 아주 중요한 요인이라면?
차이를 매출이나 수익의 스케일로 계산했을 때 큰 영향을 내는 경우도 있다.(전환률 0.17% 차이가 매출 500만원 서비스와 매출 20억 서비스에서는 매우 다르다.)
따라서 테스트 하나로만 의사결정 하는 것이 아니라 여러 요인과 연결지어 이야기해야 한다.
개발 공수도 고려해야 하며, 비즈니스 적으로 실험과 연관된 지표의 의미 - 매출 혹은 수익도 고려해야 한다.
실험의 결과가 비슷할 때 단순히 비슷하다고 결론을 내거나, 다른 실험을 시작하거나, 통계적 유의성을 확보할 때 까지 실험을 계속하지 말고,
보조 지표를 확인해보거나, 고객 세그먼트를 나누어 지표를 분석해 본다.
'컨퍼런스, 세미나, 세션' 카테고리의 다른 글
| 데이터리안 8월 세미나 <데이터 분석가 채용의 모든 것> 후기 (1) | 2022.09.02 |
|---|---|
| 효과적인 A/B 테스트를 위해서 해야 할 질문 (from. 헤이조이스 '호모데이터쿠스) (0) | 2022.08.28 |