본문 바로가기
PM study log

study log.15 AB Test

by 댕댕이처럼 2023. 2. 22.

AB Test

개념
-임의로 나눠진 두 집단에게 서로 다른 UI/UX 등을 제시하고, 두 집단 중 어떤 집단이 더 높은 성과를 보이는지 정량적으로 평가하는 방식
-대부분의 IT기업에서 데이터 기반 의사 결정의 도구로 활용하고 있음: 상시 진행
-대표적인데이터 기반의 의사결정 서비스 기획 방법

전환율 중요 > 해당 이미지에서는 어플 다운로드 수 의미



AB 테스트를 하는 이유
1)급변하는 시장에서 정답은 아무도 알 수 없다. 전문가 의견 맹신할 수 없다.
2)쉽고 빠르게 테스트할 수 있는 환경(굳이 모두 모여서 오랜 시간 고민하거나, 경험 있는 개인에게 의지하는 것은 너무 위험하거나, 너무 비효율적이다.)
3)최고의 인재도 틀릴 확률이 높다. 세계적 인재들이 모인 구글, MS 등에서 하는 실험도 10~30%만이 긍정적인 결과를 얻는다.

넷플릭스의 커버 화면 AB Test




AB테스트 프로세스



목표 설정
-테스트를 진행할 때 반드시 목표를 구체화해야 유의미한 지표 선정 및 가설 설정이 가능해진다. 더 많은 시간을 할애하길 추천
-명확한 목표를 세웠다면, 그에 맞는 지표를 설정한다. 서비스 가입자를 늘리고 싶다면 서비스 가입 전환율, 버튼 클릭 인원을 높이고 싶다면 버튼 클릭 전환율을 지표로 잡을 수 있다.
-지표를 설정할 때 분자와 분모를 명확히 해야 한다.
>>동일한 가입 전환율이라도 분모가 가입페이지 방문자 수인지, 인스톨 유저인지에 따라 값이 크게 차이나기 때문이다.

가설수립*강사님이 생각하는 가장 중요한 단계
-어떤 일을 해야 해당 지표가 개선될 수 있을지에 대한 가설을 수립해야 한다.
-가설 기반으로 어떻게 실험을 진행할 지, 무엇을 학습할지가 결정되기 때문에 신중하게 가설을 세워야 한다.
-가설이 목표와 얼라인되는지 반드시 확인해야 한다!
해당 가설과 관련한 정보를 충분히 탐색하는 것이 중요! 신입 기획자로 업무 시작할 경우 이미 회사에서 진행됐던 다양한 실험을 꼼꼼하게 파악해야 자원 낭비를 줄일 수 있다.
>>테스트 진행할 때 마다 가설과 실험 통한 결과를 반드시 기록해 둬야 한다.

넷플릭스의 AB테스트 가설 수립 및 검증


실험 설계
실험이 완료됐을 때 어떤 지표를 살펴볼 예정이고 해당 지표를 어떻게 해석할지 중요하다.

1)지표의 종류: 합계 지표 (sum), 평균이나 중앙값(mean, median)

네…?

mode: 최빈값, 가장 자주 등장하는 값
다양한 지표 확인해서 전체 상황을 파악하는 것이 중요
비율: 앰퍼센트(&)로 표기하기도 한다. 전환율을 비율 지표로 나타냄

 

민감도(sensitivty)와 강건성(robustness)
-아무 변화도 가하지 않았는데 둘쑥날쑥하는 지표는 강건성이 낮아 실험에 적절한 지표라고 할 수 없다.
-어떠한 변화를 가해도 크게 변화하지 않는 지표는 충분히 민감하지 못해 적절한 지표라고 볼 수 없다.
실험을 통해 변화시킬 수 있지만 실험 외에 영향에서는 어느 정도 안정성을 유지하고 있는 지표를 설정하는 것이 중요하다.


2)타깃 유저: 어떤 유저 대상으로 실험을 수행할 것인가?


실험군과 대조군 - 기존 상태 그대로를 대조군(어떤 변화도 없는 것이 원칙) / 새로운 기능을 넣거나 개선이 이뤄진 상태를 실험군

 

실험군의 모수 설정
-많은 유저가 사용하고 있는 서비스라면, 실험의 부작용을 최소화 하기 위해서 실험군을 5~10%로 설정하는 경우가 많음(실험 위험도에 따라 다르다, 위험도 높을 시에는 1%까지도 설정)반면, 아직 초기 단계 스타트업이라면 유의미한 실험 모수를 빠르게 확보하기 위해 50%가량으로 진행하기도 한다. 샘플 세일
샘플 수가 많을 수록, 샘플 사이즈가 클수록 결과의 신뢰도가 올라간다
다양한 A/B testing sample size calculator가 있어서 쉽게 계산 가능
>>구글에서 검색하면 다양한 계산기 나옴, 복습 필요…
대조군(통제군), 최소 측정 가능 효과(MD, 낮을수록 더 정밀한 실험, 더 많은 샘플 사이즈 필요), 통계적 유의도(보통 95% 기준으로 하나 샘플사이즈 부족한 상황일 시 낮춰나갈 수도 있다) 고려해서 = sample size per variation 결과값 산출

 

3)Unit of Diversion 어떻게 나눌 것인가? 분기 단위
-A와 B가 온전히 랜덤이어야 두 그룹의 차이점이 실험에 의한 변화라고 확신할 수 있게 된다.
-자주 사용되는 것: ID(DB에 저장되는 유저들의 고유값, 안정성이 높음, 홀수 짝수 등) event(유저가 특정 행동을 했을 때 무작위로 A 혹은 B의 결과를 보여줌, 가장 랜덤한 샘플을 뽑을 수 있으나 서비스의 일관성이 떨어질 수 있기 때문에 유저는 쉽게 눈치채지 못할 변화, 반복적으로 사용하지 않는 기능에서만 사용)

 

4)Unit of Analysis 분석 단위
-A/B 테스트를 통해 영향을 주고자 하는 최소 단위
-지표의 분모: 지표가 ARPU(average revenue per user 알푸, 유저 한명 당 평균 얼마의 수익을 가져다 주는가, 총 구매액/회원수)라면 분석 단위는 ‘회원’
-분기 단위를 정할 때는 분석 단위와 일치 시키는 것이 바람직하다.
>>만약 분석하고 싶은 단위가 ‘회원’인데, 분기단위가 ‘페이지뷰로’ 분기되었다면, 한 명의 회원이 여러 개의 페이지 뷰를 만들 수 있다. 이 경우 각 페이지뷰는 동일 회원이 만들었으므로 서로 확률이 연관되어 있고, 독립성이 없다. 만약 어떤 회원은 페이지뷰를 100번하고 어떤 회원은 1번 했을 때 실험 데이터가 왜곡될 가능성이 커진다.(어렵…)


-Duration
>보통 기간이 길어질 수록 정확성은 높아진다.
적당한 샘플 사이즈에 도달했을 때 대조군과 실험군 중 하나를 위너로 선정하고 진행 중지하는 것이 필요하다. 대조군이 위너일 시 롤백
롤백: 새로운 코드 작성 혹은 코드 수정으로 반영해 유저들에게 배포했는데 결과가 좋지 않다거나 에러 발생 등으로 인해 기존 버전으로 돌아가야 할 때, 배포 이전으로 되돌리는 행위
-명절과 같은 특수한 이벤트가 포함될 경우 결과 분석에 유의하여야 한다. (ex- 명절기간 구매 전환율 급등, 실험 기간에 특수 이벤트가 껴있으면 평균 낼 때 빼고 낸다거나 분석 시 에티켓으로 두거나 하는 등으로 주의해야 한다.)

-Variation 설정
어떤 것을 다르게 보여줄 것인가?
둘의 차이가 너무 복합적이면 유의미한 결과 해석이 어려워짐
최대한 실험 단위를 쪼개서, 영향력을 확인하고 싶은 부분을 제외하고는 통제하는 것이 좋다.
욕심을 줄이고 작은 단위의 실험을 해나가야 각 컴포넌트의 영향력을 파악할 수 있다.


실험 진행
분기가 제대로 이뤄지고 있는지 파악해야 한다.
실험 기간이 너무 짧을 경우, 유의미한 결과값을 얻을 가능성이 낮아진다.
지속적으로 데이터를 확인하면서 통계적 유의미성이 확보되었는지 확인해야 한다.

 

결과 분석
-통계적 유의성 확인
실험군, 대조군의 각각의 모수와 전환 유저값을 통해서 통계적 유의미도(p-value등)계산한다. (p-value 가 뭘까, 0.05보다 낮을 경우 유의미하다고 보통 판단)
>계산기 툴 활용 abtestguide.com, wwo.com/ab-test-significance-calculator 등
>충분히 유의미한 통계가 확보되지 않은 상태에서 섣부른 결론을 내서는 안된다. -불편지표 확인
>실험 과정이 문제 없었는지 점검하기 위해서 실험 과정에서 변하면 안되는 수치인 ‘불변지표‘를 확인해야 한다. (AA test를 통해 불변요소가 확실한지 체크)

 

주의사항
1) A/B test는 최적화 도구일 뿐 큰 그림을 보여주지는 못한다. 완전히 새로운 기능을 추가하거나 훨씬 높은 단계의 의사결정에 관해서는 효과적이지 않다. 즉 산을 잘 올라가고 있는지 말해주지만, 어느 산에 올라가야 하는지 말해주지 못한다.

2) 대부분의 가설은 틀린다는 것을 명심해야 한다. 스스로 만든 가설이 잘못됐다는 두려움을 갖는다면 올바른 자료 해석이 불가능하다. 실험을 통해 잘못된 가설이었다는 것을 증명하는 것도 매우 큰 성과이므로 두려움 없이 직면할 것!

3) 실험을 너무 빨리 끝내면 안된다. 많은 기업에서 공들여 AB테스트를 진행하지만 실험의 결과의 통계적 유의미성이 낮은 상황에서 조기 종료하는 경우가 많다.

4) 너무 많은 변인을 한꺼번에 테스트하면 안된다. 한 번에 여러가지 테스트를 진행하고자 욕심을 부릴 경우, 정작 실험 결과에 영향을 미친 변인이 무엇인지 해석할 수 없게된다. 분석에 용이한 단위로 쪼개서 실험 진행하고 변인을 최대한 작은 단위로 테스트하는 것을 추천!


AB test case study
goodui.org 실험 아카이브

유저 별점을 함께 노출하는 것이 더 높은 효율을 발휘함 (2019.09.03)


별점을 정확하게 알려주지 않으면 유저 입장에서 의사 결정에 도움이 되지 않을 수 있고, 호스트 입장에서도 4.5점이든 4.6점이든 별이 다섯개 그려져 있는 것이 똑같으면 무의미
괄호 안의 숫자가 별점을 말하는건지 무엇인지 알기 어려움 -> 문제 정의
테스트를 통해서 개선: 별은 그림으로 하나 넣고 숫자로 정확히 표시, 괄호 안에 있는 숫자도 리뷰의 개수라는 것을 표시



'PM study log' 카테고리의 다른 글

study log.15 서비스 정책서 (법률 이해)  (0) 2023.02.28
study log.16  (0) 2023.02.24
study log.14 스크럼과 칸반  (0) 2023.02.21
study log.13 PM스쿨 3주차 시작  (0) 2023.02.20
study log 12. 프로젝트 관리 (2)  (0) 2023.02.19