issues
search
CausalInferenceLab
/
OCE-Materials
<온라인 통제 실험 연구자로 거듭나기> 프로젝트 스터디 자료 모음
https://www.notion.so/chanrankim/6f637b9572f14c61b6ae84c2739ffc41
MIT License
52
stars
2
forks
source link
상반기 스터디 3회차 - 예제를 통한 A/B 실험의 과정 이해
#12
Closed
be-favorite
closed
7 months ago
be-favorite
commented
7 months ago
@ddongmiin 님 요약 감사합니다.
쿠폰 코드 시스템 예제
가설 - 쿠폰 코드 필드를 체크아웃 페이지에 더하면 매출 저하 될 것
고려하면 좋을 것?
Feature, Domain, Metric
Q. 최소 기능 개발, 실제로 얘기 꺼내기가 쉽지 않음 (조직 문화 차이), 다른 분들은 어떻게 하시는지?
꺼내봤지만, 설득은 못해봄 담에 말할 때는 이득을 같이 말해줘야 할듯
개발 회의에 참관해도 말 꺼내기가 쉽지는 않음, 개발 계획이 다 잡혀져 있다보니..
단순히, A/B테스트만 하자고 말할 수는 없고 엮여 있는 여러 요인들을 같이 말해야 함(개발, A/A테스트…등)
상대방이 원하는 말 먼저 해주기
sample size / 검정력 관련.. sample size 가 크면 자연스럽게 기각 확률이 높아지는데..
트래픽이 4천만명.. 너무 많은데? 이렇게 하면 안될 것 같은데..
최소 샘플은 얘기 하지만 최대 샘플에 대한 얘기를 하지는 않음
실무적 유의도를 고려 해봐야 할듯, 모든 트래픽을 다 태울 필요는 없을듯. 그정도로 정밀한 실험은 필요 없을듯 (0.1%개선해서 100만원 만 얻으면? 별 의미 없을 수도). 차라리 병렬로 여러가지 가설을 테스트 해볼 수도
OEC메트릭 집계 대상 어떻게 선정? 퍼널 관점에서 고객의 동선 파악
실험을 통해 개선하고자 하는 feature를 경험한 고객인가?
가설 정교화
쿠폰 코드 필드를 체크아웃 페이지에 더하면
구매 프로세스를 시작하는 사용자에 대한 사용자 당 수입이 저하한다.
좋은 가설이 갖추고 있는 3요소
feature - 쿠폰 코드 필드 / Domain - 체크 아웃 페이지 / Metric - 사용자당 수입(테스트 feature를 경험한 사용자 기준)
검정력
Variant간에 차이가 있을 때 이 차이가 유의미하다고 올바르게 판단하는 경우!
검정력 분석 - 80%의 검정력을 달성하기 위한 표본 크기를 알아 낼 수 있음
Q. 표본크기와 실험기간을 결정 해본 경험?
클러스터링 된 라벨이 있어서 비교 가능한 집단을 비교군으로 설정, 기간은 여유롭게 하지는 못함
달성하고자 하는 매출/트래픽 등을 타겟으로 하고 그걸 달성하기 위한 기간 등을 역순으로 보기도
정해진 예산 따라 하기도
(마케팅) 정해진 예산이 2억이면, 이 2억 안에서 benefit을 줄 수 있는 트래픽과 기간을 설정
허들 낮고(효과가 없고) / 높음(너무 예산을 빨리 소진)
동시에는? 소비자 보호법 - 혜택에 대한 차별이 있으면 법적 문제가 될 수 있음
실험이 어려울 때는 DID를 하기도..
통계적 유의도
P값에 의한 의사결정 = 신뢰구간에 의한 의사결정
후자가 좋은 이유? 다양한 상황에서 좀 더 다양한 의사결정을 해볼 수 있음
실험 설계시 고려 4요소
무작위 추출 단위
대부분은 사용자
굉장히 특수한 상황에서 PV(페이지가 랜더마이제이션)로 추출하기도
다른 단위를 쓰더라도 바이어스 조정은 가능, 다만 실험 할 수 있는 영역이 줄어듬
무작위 추출 단위의 모집단 대상(타케팅)
지리, 플랫폼, 앱 버전(런칭한 경우 - 특정 버전 구동 확인 필요한 경우)
트래픽
대규모 변경 시 적은 비율로 사용자 시작
실험 기간
트래픽과 실험 기간은 - 결과의 정밀도에 직접 영향을 미침
검정력 분석과 연관
MDE - 1%효과 보는 실험 할래? 3% 효과보는 실험 할래? (이 기준이 제일 중요 !)
트래픽은 얼마나 사용할 수 있는지
실험을 오래해봤자 표본 확보에는 한계가 있을 수 있음
그래도 주간은 권장.. 왜? 주말과 평일의 사용자 분포가 다를 수 있음
계절성 (외적 타당성)
크리스마스에 기프트 카드가 잘 팔리는 건 당연한 것 아닌가?
Q. 이벤트 같은 경우 되게 효과가 좋을 텐데 피해서 하는지?
피해서 안함. 홈 도메인에 특정 알고리즘을 돌릴 것인가? (=개인화를 할 것인가?). 해야된다고 생각하긴 함(개인)
왜? 프로모션 기간일 때, 프로모션 기간이 아닐 때 모두 다 고객이 어떻게 반응하는지 알 필요가 있음
메타분석이 중요할 듯 - 프로모션 결과들을 계속해서 누적
정밀도 올리기 - 분산을 축소하는 방향
지표 변경 및 변환
사용자 당 수익 - (추천은 안함.. 민감도가 낮음, 대부분 값들이 0, 왜도가 매우 높음)
N원 이상 구매한 유저들로(넷플릭스)
왜 이렇게 민감한 실험? 실험 목표가 다름. 누군가에게는 1점 올리는게 큰 의미가 없을 수도 있지만, 이미 95점에 도달한 사람에게는 1점 올리는 것도 큰 의미가 있을 수 있음
CUPED
예제 대입시
트래픽 100% 쓰는 이유?
검정력 80% 하에 사용자 당 수익 1%의 상대적 변화를 감지하기 위해(민감한)
왜 균등분할? - 검정력 최대 (특수한 상황 아니면 거의 이걸로)
Q. 균등분할 - 실제로 많이 하는지? 대조군을 최대한 많이 세팅하고 싶어하는 경향이 있는데?
실험군 숫자를 줄여서 리스크를 감소시키기 위해
80% 검정력, MDE 1% → 각 군의 트래픽 10%로 14일 실험해야 돼
실험군2개 10%, 80%남음 → 대조군으로 다 넣어도 됨
이래서 검정력 분석이 매우 중요
최소 트래픽만 충족하면 뭐든 OK!
실험 실행을 위해 필요한 2가지
로그 데이터를 얻기 위한 계측 과정(13장)
실험키 + 실험버전(비슷한 유형의 실험을 여러번 반복) → 유니크 키
실험키 1, 실험 버전 1 → 가중치 30% 피쳐
실험키 1, 실험 버전 2 → 가중치 60% 피쳐
실험 키 2, 실험 버전 1 → UI 개선
변형군 할당 정보
이게 안남아 있으면, 쿼리할 때 userid에 대해 해쉬 알고리즘을 써야할수도(정렬키)
실험 인프라
최소 필요 인프라
실험 구성(트래픽, 실험기간, 타게팅 등) 변형군 할당 가능 실험 인프라
완성형
실험 플랫폼, 메트릭 스토어, stats engine, 로그 시스템 + 디자인 시스템 → 처음봐도 할당한 사람이 뭘 경험하고 있는 알 수 있음
적절성 검사 - 결과 해석 전
가드레일 지표 검토 - 무조건 있어야 함(어떤 것 만은 떨어트리면 안돼!)
신뢰 관련
SRM, 캐시 적중률(서버 캐시 관련, 할당 비율이 높은 그룹의 경우 더 좋은 경험 = latency 낮음)
조직 관련 (팀 간의 KPI가 충돌하는 경우)
페이지 로드 속도
만약에 신뢰 관련 가드레일 지표가 깨진 경우
실험 설계, 인프라에 문제가 있다는 의미 → 실험 결과 신뢰도가 떨어짐
Q. 궁금한 사항이, 실험마다 목표가 다르다보니 가드레일 지표가 실험마다 달라질 수도 있나요? 현업에서 가드레일 지표를 설계해보신 경험이 있는지 궁금합니당
재방문주기
프로모션에 측정하면? 끝나고나면 당연히 떨어지긴 하지만 결국에는 상대적인 변화를 측정하는 것(실험군 VS 대조군)
카니발라이제이션
다른 예시
검색 쿼리 횟수 → 많다고 꼭 좋은 것만은 아님
결과 해석
폐기 결정의 근거
실험도 유의미했고
쿠폰 처리 + 유지보수 추가하는데 드느 ㄴ구현 비용
쿠폰 코드 처음 추가 시 발생하는 부정적 영향
결론적으로 출시 전 최소 테스트로 많은 노력 절감
최종 의사결정시 고려 할 부분
재현 가능성 - 그래서 반복 실험 중요(신뢰에 매우 중요한 요인)
여러 지표간 트레이드오프 고려 필요
서비스 출시 비용 (구현 비용, 유지보수 비용)
통계적 유의도와 실무적 유의도(태모님이 용어를 좀 바꾸심 4번부터 한번 참고)
Q. 실제 이 표처럼 실험 지속에 대해 비용적인 관점에서 결정을 하는 근거가 있는지?
CTR은 좋아졌으나, 전환률은 높아지지 않음.
추가 실험은 안했지만, 2~3주 정도 뒤에 특정 지표를 다시 트래킹 해봄
4, 5번 차이쯤에 결과가 걸쳐 나온 경우
기간을 늘려서 다시 실험 진행, 2번으로 나와서 제품 출시
그래서 검정력 분석이 매우 중요하기는 함, 필요한 만큼의 표본 크기를 애초에 뽑았는가?
추가 사례. 모델 비교 (실험군별로 다른 모델 테스트)
좋을 것이라 생각했던 모델이 더 안 좋은 경우
폐기는 시키지 않음. 왜?
실험 했을 때 성과는 안좋았지만, 모델에서 튜닝할 부분이 더 많았기 때문
튜닝을 할 수 있다 = 포텐셜이 더 크다
@ddongmiin 님 요약 감사합니다.