DevCourse TIL Day1 Week12 - A/B Testing

김태준·2023년 6월 19일
0

Data Enginnering DevCourse

목록 보기
51/93
post-thumbnail

금일 TIL은 특강을 통해 학습한 AB Testing 내용을 정리하고자 한다.
인턴 경험을 하며 분석 결과를 바탕으로 AB Testing을 진행해보긴 했는데 코드 진행이 아닌 엑셀로 진행했었고 유저 비율을 적당히 나누어 어떤 플랫폼의 변화를 가한 경우 KPI가 어떻게 변화하는 지를 분석하는 경험을 해보았었다. 그러나 정확한 내용이 무엇인지, 언제 사용하는지 등 학습한 적이 없어 이번 기회에 정리해보고자 한다.

인턴 경험 상 A/B Test는 보통 타 부서 (마케팅 등)에서의 데이터팀으로 분석 요청을 하고 데이터 팀에서 가설 검증과 분석 과정 절차를 거쳐 나온 결과를 타 부서에게 제공해줌으로써 더 나은 대안을 채택하는 방안으로 진행하는 듯 하다. (물론 한 번 밖에 안해봤지만..)

✅ A/B test?

A/B test = 실험이라고 생각하면 되고, split test 또는 bucket test로 불리며 다수의 Variant(기존버전 vs 하나 이상의 테스트)로 구성되는 것이 특징이다.

  • 기존 버전을 통상 컨트롤이라 부른다.
  • A/B test는 정규분포를 가정하고 분석을 진행하는 경향이 있다. (유의수준 5%)
  • A/B test를 진행하기 위해선 일정 수준 이상의 traffic이 존재해야 한다.
  • 혁신적인 변화 (DX 전환)이 아닌 개발한 것에 대한 최적화 결과 비교를 위해 사용
  • Outlier(whale user, bot) 고려하여 A/B Test 진행할 것. (제거할 지 포함할 지는 분석가 역량)

보통 A/B Test는 프로덕션 환경에서 2개 혹은 그 이상의 버전을 비교한다.
또한 동시에 여러 개의 A/B Test를 진행하는 것이 일반적이다.

❗ Case - Do not using A/B Test

  • 데이터가 없는 경우, 버그 수정을 임팩트를 측정하는 경우, 아이디어 테스트가 구체적이지 않은 경우
  • 가설없이 굉장히 랜덤한 아이디어 테스트
  • 비교 대상 없이 굉장히 새로운 기능 테스트

❗ A/B Test Purpose

  • KPI 개선되는지 객관적으로 측정하기 위함.
  • 대안 선택 과정에 있어 통계기법을 활용함으로써 Risk를 줄이기 위함
  • agile해야 한다.

✨ Overall A/B Test process

  • Proposal & Approval
  • Implementation & QA
  • Rollout (Smoke test, Initial ramp, Intermediate ramp, Final ramp-up/launch)
  • Iterations
  • Periodic Review (weekly, biweekly)

✨ A/B Test problems

  • 가설이 없거나 혹은 정확하지 않은 가설로 A/B Test하는 경우
  • 분석에 필요한 데이터 품질이 낮은 경우
  • 결과를 선입견없이 객관적으로 분석하지 못하는 경우
  • Interactions between control and test
  • Data Infra cost
  • Not Comparing One to One (비교 대상이 하나가 아닌 경우. test와 control의 차이는 기능 1개 - 버튼 클릭 유무 등)
  • 얼마나 결과를 대기하고 결정을 내릴지

A/B Testing 예제

profile
To be a DataScientist

0개의 댓글