Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

실무에서 활용하는 A/B테스트

2,184 views

Published on

최근 실무에서 유용하게 다각도로 활용되고 있는 A/B테스트의 정의와, 관련된 지식, 주의사항, 현재 트렌드 등에 대해서 알아보자.

Published in: Data & Analytics
  • 좋은 자료 감사합니다!!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

실무에서 활용하는 A/B테스트

  1. 1. 실무에서 활용하는 A/B 테스트 권정민 (cojette@gmail.com)
  2. 2. Agenda ● A/B 테스트란? ● A/B 테스트 설계 - 실험 설계 ● A/B 테스트 평가 - 결과 분석 ● 주의사항 및 관련 정보 ● Wrap Up 및 Q&A
  3. 3. 이 강의에서 다루는 것 ● A/B 테스트의 개념 ● A/B 테스트 설계 및 관련 지식 ● A/B 테스트 효과 분석 및 관련 팁 ● A/B 테스트의 장단점 ● 약간의 확률 통계, 약간의 컴퓨터 용어, 약간의 사회조사방법론
  4. 4. 이 강의에서 다루지 않는 것 ● A/B 테스트 구현 ● A/B 테스트 자동화 툴 소개/구현 ● 결과 분석 대시보드 만들기 ● 복잡한 수식 ● 빅데이터
  5. 5. A/B 테스트란?
  6. 6. 고객 분석을 위한 테스트 고객분석 종단적 연구 횡단적 연구 코호트 분석 A/B 테스트 다변량 분석
  7. 7. (출처: 위키피디아 https://ko.wikipedia.org/wiki/A/B_%ED%85%8C%EC%8A%A4%ED%8A%B8) A B
  8. 8. A/B 테스트 1. 실제 대상자를 반으로 나눈 후 2. 두 가지 포맷의 테스트 자료(버튼, 이미지 등을 바꿈)를 만들어서 3. 이를 A, B 그룹 각각에 제공 4. 이에 따라 각 그룹이 얼마나 반응했는지를 판단 5. 결과가 우수한 내용을 실전에 반영
  9. 9. A/B 테스트의 배경 ● 내생성 vs. 외생성 ○ 내생성: 해당 시스템 내에서 결정되거나 생성되는 것 ○ 외생성: 시스템 밖의 요소로 결정되거나 생성되는 것 ● 사용자의 행동 ○ 많은 경우 여러 가지 요소가 복합적으로 작용함 -> 외생성 및 고려하는 변수의 영향으로 명확한 요인 및 원인 분석 어려움 ○ 많은 실제 상황(실무)의 경우 내생성을 위한 시스템을 일부 요소만으로 구축하기 어려움 ● 상관관계는 인과관계를 나타내지 않는다 ○ 최대한 다른 요인을 제거함으로써 인과관계에 최대한 가까운 근거를 만들고자 함
  10. 10. A/B 테스트 실제 사용 사례 ● Highrise (출처: https://signalvnoise.com/posts/2977-behind-the-scenes-highrise-marketing-site-ab-testing-part-1)
  11. 11. 기본편
  12. 12. A/B 테스트 설계
  13. 13. 테스트 설계
  14. 14. 실험 설계 (Experimental design) ● A/ B 테스트: 사용자의 반응도에 대한 실험 -> 사용자를 대상으로 한 실제 환경에서의 실험
  15. 15. 사회조사방법론에서의 실험 설계
  16. 16. 유사실험설계의 특징 ● 사회 현상에서의 인과관계 판단용 ● 순수실험설계만큼의 통제가 불가한 환경에서 대안적인 방식으로 통제 집단을 구성함 ● 외생변수의 개입 가능성이 높음 ● 실험에 대한 통제가 적으므로 외적 타당성이 상대적으로 높아 현실 문제 해결에 유용함
  17. 17. 실험 설계 과정 ● 대상선정: 연구대상을 선정 ● 실험환경 선정: 실험실, 실험도구 등의 실험환경을 선정 ● 무작위표집: 연구대상을 무작위로 표본추출 ● 무작위할당: 추출된 표본을 무작위로 실험집단과 통제집단에 배치 ● 사전검사: 두 집단에 종속변수에 대한 사전검사를 실시 ● 실험조치: 실험집단에만 실험조치를 실시 ● 사후검사: 두 집단에 종속변수에 대한 사후검사를 실시 ● 비교 및 검증: 사전, 사후검사 결과 변수 간의 의미있는 변화를 비교
  18. 18. A/B 테스트 설계 과정 ● 대상선정: 연구대상을 선정 -> 사용자 및 지표 ● 실험환경 선정: 실험실, 실험도구 등의 실험환경을 선정 -> 실제/실제 예정 환경 ● 무작위표집: 연구대상을 무작위로 표본추출 -> 사용자 무작위 선정 ● 무작위할당: 추출된 표본을 무작위로 실험집단과 통제집단에 배치 ● 사전검사: 두 집단에 종속변수에 대한 사전검사를 실시 -> 실험 환경 확인 ● 실험조치: 실험집단에만 실험조치를 실시 -> 분기 ● 사후검사: 두 집단에 종속변수에 대한 사후검사를 실시 -> 실험 환경 재확인 ● 비교 및 검증: 사전, 사후검사 결과 변수 간의 의미있는 변화를 비교 -> 결과 분석
  19. 19. 목적 지표 선정 ● 가설 검정에 가장 직관적이면서 구하기 용이한 지표 선정 ● 양적으로 확인 가능한 실질적 지표 ○ 감정 정도(사용자 만족도 등) 같은 모호한 지표는 제외함 ○ 실험을 통해서 기록되지 않는 데이터가 필요한 수치는 제외함 ● 비율 : 사용 흐름상 전 후 ○ 퍼널의 실험 참여 단계 -> 실험 결과 반응 단계 ○ 예) CTR (Click-Through Rate) : 클릭 수 / 페이지 뷰 수 ● 실험 대상 : 사람 -> 지표 대상도 사람이 되어야 보다 정확한 결과를 얻을 수 있음 ○ 예: 클릭한 사용자 / 페이지를 본 사용자
  20. 20. 지표 관련 대푯값 ● 대푯값: 집단의 특성을 반영하는 요약값. ● 평균 ○ 지표 생성 시 가장 많이 사용되는 값 ○ 전체 집단에서의 분포상 기댓값 ○ 소수의 이상치 값에 대한 민감도가 높음 ● 중앙값 ○ 전체 집단에서 중앙에 위치하는 값 ○ 이상치 값에 대한 민감도가 낮음 ○ 분포가 쌍봉형으로 되어 있는 경우 한 쪽에 치우쳐서 적당한 대푯값이 되지 않는 경우 발생 ● 최빈값 ○ 전체 집단에서 가장 많이 나타나는 값 ○ 다양한 값을 가지는 경우 적절하지 못함
  21. 21. 지표 관련 분포 ● 히스토그램 ○ 값의 분포를 막대그래프로 나타낸 것 ○ 대푯값만으로 판단이 어려울 때 같이 확인할 수 있음 ○ 이상치로 인해 대푯값이 기울어진 경우 파악 후 보정할 수 있음
  22. 22. A/B 테스트 평가
  23. 23. 사용자 퍼널(Funnel)
  24. 24. 목적 지표의 해석 ● 비교 전 확인 ○ 실험군과 대조군(A군과 B군)의 사용자 집합 크기가 동일한가? ○ 실험군과 대조군의 사용자 분포가 크게 다르지 않는가? ● 확인 방법 ○ 집합 크기가 다름: 1:1 비교 대신 집합 크기를 통한 비교의 유의성 판단 ○ 분포 파악: 성질이 다른 집합끼리의 비교는 무의미할 수 있음 ● 유의 사항 ○ 실험으로 얻은 값은 항상 그와 동일한 결과를 담보하는 것이 아님 ○ 실험 크기가 통제가 되지 않을 경우에는 사후 추정으로 판단할 수 있음
  25. 25. 이항 분포 ● 이항 분포: 매회 사건 X가 일어날 확률이 동일한 독립시행의 경우에 있어서 확률변수X가 따르는 분포 ● 클릭 등 간단한 단일 이벤트 대상 A/B 테스트의 경우 다른 서비스 내의 요인은 동일하게 통제된 상태로 사용하므로 해당 이벤트가 발생할 확률은 동일하다고 가정하고, 사용자는 모두 독립적으로 이에 반응한다고 할 때, 이는 이항 분포의 조건에 들어맞는다.
  26. 26. 가설 검정 ● 통계적 가설 ○ 특정 주장을 특정 변수(모수)에 대해서 나타낸 것을 뜻함. (예: 이 수업을 듣는 사람들의 평균 만 나이는 28살이다) ● 절차 ○ 귀무가설과 대립가설 설정, 유의수준 설정 ○ 검정통계량 설정 ○ 기각역 설정 ○ 검정통계량 계산 ○ 결과 기반 의사 결정 통계적 추측의 하나로서, 모집단 실제의 값이 얼마가 된다는 주장과 관련해, 표본의 정보를 사용해서 가설의 합당성 여부를 판정하는 과정
  27. 27. A/B 테스트에서의 가설 검정 ● 귀무가설과 대립가설 ○ 귀무가설(영가설): 실험군(Pexp)의 결과와 대조군(Pcont)의 결과의 차이가 없을 것이다. ○ 대립가설: Pexp <> Pcont / Pexp>Pcont (two-sided / one-sided ) ● 유의수준 ○ 95%의 경우 (일반적으로 많이 사용) (1-0.95) = 0.05가 유의수준이 됨 ● 유의확률 (p-value) ○ 귀무가설이 맞을 경우에 얻을 수 있는 결과보다 더 극단적인 값이 관측될 확률. ○ P-value 가 작을 수록 귀무가설과 양립하는 데이터가 나타날 확률이 낮음 ○ P-value가 작은 경우 귀무가설을 기각함. ○ P-value의 경우 표본 크기가 커짐에 따라 값이 달라지거나 특정 경우에 값이 커지는 등의 문제가 발생할 수 있음 -> 통계적 유의성과 현실 상에서의 문제를 고려해서 결과를 판단함.
  28. 28. 결괏값 비교 ● 이항 분포의 상태 비교 ○ 해당 집단의 크기가 np>5, n(1-p)>5인지를 확인 (일반적으로 정규 분포에 적용하기에 무난한 정도의 확인) ● 비교군의 해당 지표에 대한 신뢰구간을 구한 뒤 실험군의 지표의 크기가 이 신뢰 구간에 들어가는지(유사), 벗어나는 지를 확인함 ○ 간단하게 독립 t-검정 등을 사용해서 유의성 및 차이 비교 가능 ○ R, 파이썬, Excel 등의 함수 사용 (t.test 등) ○ A/B test calculator 사이트들(예: https://neilpatel.com/ab-testing-calculator/) 에서는 기본적으로 이를 기반으로 함
  29. 29. Case Studies
  30. 30. Insurance Company Case
  31. 31. Online Education Case (https://vwo.com/blog/10-kickass-ab-testing-case-studies/)
  32. 32. Shopping Mall Case ● 목적: 판매량 증대 ● 가설: 구매 시점에 신뢰도 및 결제 정보 등을 사용자에게 제공하면 사용자가 더 구매를 하게 될 것이다 ● A/B 테스트: 기존의 사이트와 신뢰 및 결제 정보를 구매 버튼 근처에 추가한 사이트를 사용자에게 임의로 제공 ● 기간: 7일
  33. 33. 심화편
  34. 34. 실험 설계 시 유의점 ● 목표와 가설의 애매함 ○ A/B 테스트 같은 실제 환경에서의 실험에서는 실험 연구법과 같이 확정된 데이터와 연구환경이 존재하는 것이 아니라서 문제와 가설이 애매할 수 있음 ○ 선행연구, 최대한 수치로 표현할 수 있는 정확한 목표 및 가설 설정, 관련 분야의 전문가의 자문 필요 ● 데이터 수집 ○ 사회윤리에 반하는 자료수집의 금지 ○ 정확한 도구 제작의 어려움 ○ 사회윤리에 반하지 않아도 사생활 관련 데이터 수집은 실험에 적절하지 않음
  35. 35. 실험 설계 시 유의점 ● 자료의 정리와 구조 설정 ○ 데이터의 집계 기준을 실험 전에 명확하게 설정해 놓아야 함 ○ 데이터의 사용 방식 및 수집 절차 등에 대한 명확한 정의 필요 ● 해석설계의 문제 ○ 실험 전에 해석 방식 및 기준을 명확하게 마련해 두는 것이 좋음 ○ A/B 테스트를 반복할 수 있으면 반복하는 것이 좋으나 일반적으로는 어려움 ○ 데이터 수집 후 해석 방식을 부득이하게 변경해야 하는 경우 최대한 원래 실험의 목적과 지표를 해치지 않는 선에서 활용 ● 자료의 해석문제 ○ A/B 테스트의 결과는 해당 시점에서의 결과일 뿐이므로 작은 숫자 등에 너무 집착하지 않는다 ○ 서비스의 특성에 따른 시계열성이나 사용자 특징 등을 고려해서 결과를 해석 ○ 최종 결과는 서비스의 목적이나 운영 방식 등을 반영해서 사용한다.
  36. 36. 서비스 실험 설계 시 사용자 대상 주의점 1. 사용자에게 서비스에서 기본적으로 주어지는 것 이상의 위험을 감수하게 해야 할 가능성이 있는가? a. 건강, 재정, 심리적, 사회적 불이익의 가능성이 있는 실험 요소는 배제되어야 함 2. 사용자가 해당 서비스 및 실험을 통해 어떤 데이터가 수집되고 있는 지를 이해하고 있는가? a. 사용자 고지 의무 3. 실험 사용자 데이터가 식별 가능한가? a. 개인 식별이 아니라 서비스 내에서의 사용자 식별도 실험 윤리에 어긋날 수 있음 4. 데이터는 어떤 식으로 처리되고 있는가? a. 공개 범위 및 사용 범위 명시 및 관리
  37. 37. 실험 후 서비스 운영시 주의점 ● 실험 관련 내용은 기록으로 남겨두도록 함 ● 한 번에 과하게 많은 실험은 가능한 한 피하도록 함 ○ 실험 간에 영향을 미칠 수 있음 ○ 데이터 기록에 문제가 생길 수 있음 ○ 사용자를 모두 구분하는 경우 모수가 불충분한 경우가 발생할 수 있음 ● 사용성이 불안정적이 되지 않도록 유의함 ● 이후 여러 데이터 분석 시에 이전 실험 내용으로 인한 영향이 미치지 않도록 함 ○ 실험 사용자는 따로 목록을 만들어 둔 후 이후에도 확인할 수 있도록 함 ○ 사용자에 대한 추적 분석을 통해서 이후 사용성에도 실험 내용이 영향을 미칠 수 있는 지를 확인해 두는 것 필요 ● A/B 테스트를 자주 할 경우 관련 API 등을 구성해 두는 것도 필요
  38. 38. 다변량 테스트 ● 여러 옵션을 한 번에 테스트하고 싶을 때 활용
  39. 39. MAB 알고리즘 ● 강화학습의 하나로, 결과를 보면서 집단을 선택적으로 조절하는 알고리즘 ● Exploration-Exploitation Trade off 문제를 위해 성과와 테스트 효과 모두를 최적으로 가져올 수 있게 하는 방법론 및 알고리즘을 총칭함 ● A/B 테스트에서의 집단의 크기를 지속적으로 조율함
  40. 40. MAB 알고리즘 ● ε-greedy ○ MAB 알고리즘 중 가장 직관적이어서 널리 쓰이는 알고리즘 ○ 1−ε의 확률로 지금까지 관측한 arm 중에 가장 좋은 arm을 고르고 (exploitation), ε의 확률로 나머지 arm 중에서 임의로 arm을 골라서 실행하는 (explore) 알고리즘 ■ 1−var(ε)의 확률로 지금까지 empirical reward가 가장 좋은 arm을 고른다. ■ var(ε)의 확률로 임의의 나머지 arm을 고른다. ○ 알고리즘을 수정해서 활용 가능 ● UCB ○ empirical mean이 가장 좋은 arm을 실행하는 대신, 시간 t마다 과거의 관측결과와 확률 계산을 토대로 구한 각각의 arm i의 upper confidence bound (UCB)를 구하고 이것이 가장 좋은 arm을 고르는 알고리즘 ■ i=arg maxi μi +Pi . 에 해당하는 arm i를 고른다. ■ Pi 에 따라 UCB가 다양하게 만들어짐
  41. 41. MAB 알고리즘 ● Thompson Sampling ○ Probability matching이라고도 하며, GA의 MAB 기능에서 사용되는 알고리즘 ○ 각각의 시간 t마다 정책에 따라 action a를 선택하고, 그에 상응하는 reward r을 받는다고 가정했을 때, 관측값 observation (at ,rt )과 parameter θ를 사용해 likelihood function Pr[r | a,θ]를 설계한 다음, prior를 가정해 MAP 문제를 해결 ■ Maximize 𝔼[r | a]=∫𝔼[r | a,θ]Pr[θ | D]dθ. ○ m-1개의 arm은 empirical result가 제일 좋은 arm을 고르고, 마지막 m번째 arm만 Thompson sampling으로 푸는 방법 등 여러 arm을 고르는 방식으로 확장 가능
  42. 42. Summary ● A/B 테스트란? ● A/B 테스트를 사용한 주변 사례 ● A/B 테스트 설계 (유사실험설계 중) 방법 ○ 주제 선정 -> 지표 및 관련 기준 설정 -> 실험 환경 설정 -> 사용자 분기 및 데이터 수집 -> 지표 확인 ● A/B 테스트 결과 확인 ○ 이벤트의 형태 및 분포 확인 ○ 퍼널을 통한 지표값 수집 -> 집계 -> 가설 검정을 통한 확인 ● 유의사항 ○ 실험 설계 및 사용자 대상 유의사항, 서비스 운영 시의 유의사항 확인 ● 그 외 테스트 ○ MAB 알고리즘, 다변량 테스트

×