해결된 질문
작성
·
675
·
수정됨
0
안녕하세요! 강의 잘 듣고 있습니다. A/B 테스트 실험 기간에 대해 헷갈리는 부분이 있는데요!
A/B 테스트 시에 검정력 분석(power-analysis)를 통해 통계적인 유의미함을 판단 가능한 최소 샘플 사이즈를 정하고, 그에 따라 며칠동안 테스트를 하는게 좋을지 정해놓고 테스트를 하는 것으로 알고 있습니다!
여기서 궁금한 부분은 샘플 사이즈 계산기(검정력 분석)를 통해 나온 최소 샘플을 너무 단기간에 달성한다면 얼마 동안 실험을 지속하는게 좋을지인데요.
예를 들어 샘플 사이즈 계산기를 통해, 최소 샘플 사이즈와 우리 서비스의 DAU 등을 고려해서 필요한 실험 기간이 "3일"이라는 결과가 나왔다면, 과연 3일만 실험하고 끝내면 되는지 입니다.
이 때, '3일만 실험을 하면 너무 짧지 않나..? 단 3일 동안의 유저가 우리 서비스의 전체 유저들을 대표한다고 볼 수는 없는 것 같아. 게다가 평일과 주말의 유저 특성이 다른 부분도 고려를 해야지. 실험 기간을 7일로 해야겠다.' 라는 생각이 들었다고 가정해볼게요.
최소 샘플 사이즈를 달성한 3일이 되었을 때 아래와 같은 결과가 나왔습니다. (아래 구체적인 값들은 예시일 뿐입니다!)A군과 B군의 전환율은 각 0.1%, 0.18%로 그 차이는 0.08%인데요. 이 때는 p-value가 0.1303으로 통계적으로 유의미한 차이가 아니라는 결과가 나왔습니다.
그런데 7일이 지났을 때는 아래와 같은 결과가 나왔습니다.
A군과 B군은 샘플 사이즈가 각 10,000명에서 20,000명으로 증가했을 뿐, 전환율은 각 0.1%, 0.18%로 그 차이가 0.08%로 이전과 동일했는데 샘플 사이즈가 증가했다는 이유로 p-value 0.0324가 되어 통계적으로 유의미한 차이라는 결과가 나타났어요.
이런 경우에는 어떻게 해석을 해야 하는 걸까요..?
3일의 결과(통계적으로 유의미한 차이가 아니다.)로 의사결정한다면 '3일은 너무 짧지 않나..? 그 3일 동안 접속한 유저가 우리 서비스의 유저를 대변한다고 볼 수 있을까?'라는 생각이 들 것 같고
7일의 결과(통계적으로 유의미한 차이다.)로 의사결정한다면 '원래 통계적인 차이가 없는데, 내가 표본을 더 많이 수집함으로써 통계적으로 유의미한 차이가 있다고 만들어낸 것은 아닐까?(p-hacking은 아닐까?)'라는 생각이 들 것 같아요.
답변 1
1
헬로월드님 안녕하세요! 강의 잘 들어주셔서 감사합니다!
말씀해주신 부분 저도 회사에서 겪었던 적이 있어서 공감이 되네요. 좋은 질문해주셔서 감사합니다
제가 해석했던 경험을 공유드려볼게요
샘플 사이즈 계산기를 통해 나온 값은 "최소한으로 이정도는 필요하다"라는 값
꼭 이 기준으로 정하진 않습니다. 최소 이정돈 필요하겠구나!라는 생각을 합니다
그리고 계산기가 최소 3일이라고 해도 실제 데이터가 들어오는 패턴은 3일이 아닌 경우도 있습니다. 과거 데이터로 만든 값이라 갑자기 트래픽이 상승하거나 하락할 경우엔 이 값은 변경될거에요.
제약 조건을 생각해봅니다
과거 데이터를 통해 우리 서비스의 평일/주말 사용 패턴이 다르다는 것을 알게 되었다면 최소한 1번의 평일/주말이 모두 포함된 상황에서 실험을 합니다
더 안정적으로 하려면 저는 2번의 평일/주말이 끼면 좋다고 생각하곤 해요(우리가 통제할 수 없는 외부 변수가 있기에)
다만 회사에서 빠른 의사결정에 더 중심을 둔다라는 대전제가 있으면 1주일로 하기도 합니다
그 외에 통제할 수는 없지만 인지하고 있는 것들이 있으면 실험 기간을 수정합니다
예를 들어 실험하는 기간에 설 연휴가 포함되어 있다면? -> 그 기간을 포함해서 실험을 더 길게 할 것인지 or 그 기간이 있으므로 아예 실험을 미룰지 등으로 고민하는 것이지요
설 연휴 전 평일의 패턴은 금요일 밤의 패턴과 비슷할 수도 있는데, 주말이 늘어나는 효과가 나기도 하고 서비스마다 아예 다른 결과가 나오기도 할거에요
혹은 실험을 하다가 비가 많이 와서 데이터가 달라졌다면? -> 그 날의 데이터 패턴과 다른 날의 패턴을 분석해서 그 부분을 포함해서 해석할지 혹은 제외해야 할지 고민
소나기가 갑자기 많이 오고, 덥고 이런 요즘에 날씨 영향을 받는 서비스라면 AB Test를 어떻게 해야할까요?를 고민해보셔도 좋을 것 같아요
위 내용을 토대로 실험 기간을 정합니다
그러면 그 전의 기간엔 실험 결과를 해석하지 않습니다
3일차와 7일차의 결과가 다를 때 일희일비 할 가능성이 크고, 실험을 진행하는 사람이 원하는 형태로 해석할 가능성이 높습니다. 그래서 저는 PM분들에게 우리가 합의된 일자 전에는 판단하지 말자고 합니다(강의에서 말씀드린 내용에 이 내용이 있어요!)
이상적으론 사용자의 행동 변화를 고려할 수 있도록 충분히 긴 시간에 실험하도록 설계하는 것이 좋습니다
의사 결정 기준
최소 샘플 사이즈를 빠르게 확보하면 => 실험 빨리 끝내고 싶다라는 일이 정말 자주 발생합니다
이런 경우 초두 효과가 발생할 수도 있고, 정작 중요한 것을 놓칠 수 있습니다. 만약 실험을 빠르게 종료했으면 그 기간만큼 여러 리소스를 낭비하게 된 것이지요. 그래서 저는 신뢰할 수 있는 결과를 얻기 위해 최소 1주 이상을 설정합니다
이런 의사 결정을 하는 흐름을 정리해서 Decision Tree로 만들어두면 해석하기 좋을거에요
별도로 지금 숫자가 예시지만, Conversion이 너무 낮다는 생각이 들어요. 이런 경우라면 근본적으로 문제 정의를 다시 해야한다는 생각을 할 것 같네요
현실에서 특정 페이지 전환율을 구할 때 저정도로 나온다는 것은 문제가 있을거에요. 실험이 문제가 아니라 제품이나 우리가 설계를 잘못했을 가능성이 크다고 판단할 것 같네요
아예 PMF가 잘못되었거나, 유입에만 신경을 쓴다거나?
예시 데이터가 10000명, 10000명인데 => 메인 페이지 실험이라고 해도 최소 DAU 20000명이 필요할 것 같아요. 서비스의 규모에 따라 다르지만 국내용 서비스에서 1주 내로 데이터가 모이는 경우는 적었어요(메인 페이지 개편이 아닌 이상)
감사합니다! 추가적으로 질문 있으시면 언제든 댓글 남겨주셔요! (그리고 코칭 관련해서 디스코드 DM 보내드렸는데 이 부분도 확인해주시면 좋을 것 같아요..!)
상세한 답변 감사합니다! 덕분에 이해가 더 잘 되었습니다.
추가적으로 너무 긴 시간동안 표본을 수집하면, A군과 B군간의 전환율의 차이가 아주 작더라도 통계적으로 유의미한 차이라고 나올 것 같아요.
즉, 표본 크기가 클수록 작은 차이로도 통계적으로 유의하다는 결과를 나을 수 있으니 표본을 많이 수집하는 것이 반드시 좋은 것은 아니고(비용과 시간은 별개로 하더라도) 따라서 최소 샘플사이즈를 충족한다면 비즈니스와 시즈널리티를 고려하여 너무 짧지도, 너무 길지도 않은 기간(통상적으로는 최소 1~2주)을 미리 설정하고 결과를 확인하는 것이 좋다고 이해했습니다!
제가 제대로 이해한게 맞는지 모르겠네요😅