O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

8.474 visualizações

Publicada em

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

Publicada em: Dados e análise
  • Entre para ver os comentários

실무에서 활용하는 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 알고리즘, 다변량 테스트

×