What a Beautiful Data!

A/B 테스트는 왜 필요하고 어떻게 할까? Part 1

by darami

책 'A/B 테스트- 론 코하비*다이앤 탕* 야 쉬 (일명 하마책)'를 읽고 개인적으로 정리한 내용입니다.

A/B 테스트를 공부하는 이유 

인과 추론 스터디 ver_1 을 끝내고 스터디원분들끼리 막 시작한 A/B 테스트 스터디..! 

인과 추론에 대해 공부하고, 이에 대해 이야기하면서 결국 비즈니스 측면에서는 책에서의 무작위 종합 대조 실험의 체계적 리뷰, 즉 메타 분석이 가장 효과적이고, 이를 사용할 수 없다면 신뢰도가 조금 낮아도 다양한 인과 추론의 방법을 사용할 수 있다고 설명하셨다. 따라서 윤리적/현실적 문제가 있는 연구 단이 아닌 소프트웨어 회사라면 적절한 실험이 인과를 추론하는 가장 효과적인 방법이라는 것..! 여담으로 한 데이터 분석 책 스터디에서 통계학 석사를 하신 분께서 본인은 통계는 안 믿고 싫어하는데 A/B 테스트는 신뢰한다라고 하셨다.. 따라서 이에 대해 열심히 공부한다면 현업에서 더 신뢰할 수 있는 데이터 결과물을 낼 수 있고, A/B 테스트 도입을 주장하는 말하기에도 더 설득력이 있지 않을까 

 

✨ 스터디원분께서 제공해 주신 재밌는 실험 기사

“술김에 ‘용기낸다’ 맞고 ‘콩깍지 씐다’ 틀려”… 스탠퍼드대 20대男 분석

 

Chapter 01 서론과 동기

 

왜 실험이 필요할까?

  • 넷플릭스와 같은 구독 사업의 예시
    • 신규 기능을 사용하는 사람들의 구독 이탈률이 매달 사용자의 이탈률의 반이라고 해서, 해당 기능이 이탈률을 줄인다고 말할 수 없다.
      따라서 이 기능을 더 쉽게 검색하고 더 자주 사용하게 할 수 있으면 가입자가 급증할 것이라는 것은 잘못된 결론이다. 주어진 데이터에서 사용자의 이탈의 증감의 원인을 알 수 없다.
  • 마이크로소프트 오피스 365 예시
    • 오류 메세지로 충돌을 경험한 오피스 365 사용자가 이탈률이 낮음 -> 오피스 365에서 오류 메세지를 더 많이 표시해야 하는 것은 아니다.
    • 3가지 이벤트 (오류 메세지 표시 다수, 충돌 발생 다수, 이탈률 낮음) 모두 사용률이라는 한 가지 요인에 의해 발생하기 때문
      • 이렇게 관찰에 너무 많이 의존하면 잘못된 결정을 내릴 수 있다.

하지만..! 실험을 통해서는 인과 관계를 추론할 수 있다.


무작위 추출 종합 대조 실험은 현재 인과 관계를 확립하는 최고의 기준이다.

 

image

  • 출처 : A/B 테스트

 

온라인 제어 실험을 실행하려는 조직에게 도움될 세 가지 핵심 원칙

사견 : 원칙인데 매우 어려운 것 같다..

 

원칙 1. 조직은 데이터 중심 결정을 내리고 OEC를 공식화한다.

  • OEC(Overall Evaluation Criterion)란?
    • 전체 평가 기준, 단기적으로 측정할 수 있어야 하면서도 결과적으로 장기적 전략 목표를 추진하는 원인이라고 믿을 수 있는 것이 되어야 한다.
  • 그저 계획을 짜고 실행해 "실행된 계획의 비율"로 성공을 측정하는 것이 쉽기 때문에 많은 조직에서 성과를 정의하고 측정하는 데에 드는 자원을 투자하지 않는다.

 

원칙 2. 조직은 종합 대조 실험을 실행하고 그 결과가 신뢰할 수 있는지 확인하기 위해 인프라와 실험에 기꺼이 투자한다.

  • 이 부분이 초기 단기 스타트업이나 데이터 기반 문화가 정착되지 않은 곳에서는 많이 힘들 것 같다. 다음에 근거로 쓰기!
  • 온라인 소프트웨어 영역에서는 종합 대조 실험에 필요한 조건을 충족할 수 있다. 즉, 사용자를 안정적으로 랜덤화 할 수 있다.
    • 랜덤화란: 연구에서 다루는 변수를 무작위로 할당하는 것
    • 종합 대조 실험은 MVP와 결합할 때 특히 유용하다.
    • 숫자를 얻는 것은 쉽다. 하지만 신뢰할 숫자를 얻는 것은 어렵다.

 

원칙 3. 조직은 아이디어의 가치를 평가하는 데 서툴다는 것을 인지한다.

  • 팀에서는 각 기능이 유용하다고 생각해 개발하지만 많은 곳에서 대부분의 아이디어는 핵심 지표를 개선하는 데 실패한다.
    • 마이크로소프트에서 시험한 아이디어 중 개선을 보인 지표를 실제로 개선할 수 있었던 것은 3분의 1에 불과했다.
    • "실험을 주도하는 팀에 있다면 최소한 70% 이상의 작업이 버려지는 것에 익숙해져야 한다. 이에 따라 프로세스를 구축해야 한다." (슬랙의 제품 및 라이프 사이클 담당 이사 Mosavat)
    • 결론: 넷플릭스, 슬랙, 트위터 등에서도 대부분의 실험은 실패한다.

 

시나리오에 따른 실험 전략

시나리오 1 : 비즈니스 전략이 있고, 실험할 수 있는 충분한 사용자가 있는 제품이 있는 상황

  • 가드레일 지표를 정의하는 것은 조직이 무엇을 변화시키려 하지 않는지를 식별하기 위해 중요하다.

시나리오 2 : 제품과 전략을 갖고 있으나 결과는 Pivot을 검토할 필요가 있다는 것을 제시하는 상황

  • 아이디어 포트폴리오를 만들 것을 항상 권고한다.
  • 급진적인 아이디어를 테스트할 때 실행하고 평가하는 방법은 다소 바뀐다. 특히 아래 사항을 고려해야 한다.
    • 실험 기간
      • 주요 UI 재설계 테스트 할 때 단기적으로 측정하면 초두 효과(primary effect)나 변화 회피(change aversion)의 영향을 받을 수 있다.
    • 테스트한 아이디어의 수
      • 보통 실험은 전략의 일부인 가설을 테스트하는데, 주요 전략을 실험하려면 여러 테스트가 필요할 수 있다.

 

Chapter 2 실험의 실행과 분석-엔드-투-엔드 예제

 

온라인 상점 사이트의 가상 예시

  • 상황
    • 위젯을 판매하는 온라인 상점 사이트
    • 마케팅 부서에서 위젯의 할인 쿠폰 코드가 포함된 프로모션 이메일을 보내 판매를 늘리고자 함
      • 해당 경우의 좋은 OEC : 사용자당 매출
        • Why? : 전체 매출은 변형군에 따라 사용자 수가 다를 수 있음
        • 사용자당 매출에 좋은 분모는 무엇일까?
          • 사이트를 방문하는 모든 사용자 : 유효하지만, 중요한 이벤트를 전혀 하지 않은 사용자들은 우리의 변화에 영향을 받지 않기 때문에 노이즈가 될 수 있고, 이들을 제외할 때 더 민감한 A/B 테스트가 된다.
          • 구매 프로세스를 완료한 사용자 : 더 많은 사용자가 구매한다면, 총매출은 증가해도 사용자당 수입은 떨어질 것이기 때문에 잘못된 선택이다.
          • 구매 프로세스를 시작한 사용자 : 변화가 퍼널 내에 있다는 전제하에 최적의 선택
            • Why? : 잠재적으로 영향을 받은 모든 사용자를 포함하지만, 퍼널 영향을 받지 않는 사용자들은 포함하지 않기 때문이다.
            • 따라서 더 정교한 가설은 "쿠폰 코드 필드를 체크아웃 페이지에 더하면, 구매 프로세스를 시작하는 사용자에 대한 사용자당 수입이 저하한다."이다.

 

가설 검정 : 통계적 유의성 확립

  • 지표의 기능 파악
    • 기준 평균값, 평균의 표준오차, 즉 지표의 추정치가 어느 정도로 변동성이 큰 지를 이해함으로써 지표의 기능을 파악할 수 있음
  • 민감도
    • 통계적으로 유의미한 차이를 탐지하는 능력을 의미한다.
    • 평균의 표준오차가 낮을수록 개선된다.
  • 종합 대조 실험
    • 실험군 샘플 1, 대조군 샘플 1
    • 평균이 같다는 귀무가설하에 한쌍의 실험군과 대조군 샘플 간의 차이가 있을 가능성이 낮은지에 대한 여부를 정량적으로 시험한다.
    • 평균이 같을 가능성이 낮다면, 귀무가설을 기각하고 그 차이가 통계적으로 유의하다고 주장한다.
    • 구체적으로 대조군 및 실험군 샘플로부터의 사용자당 매출 추정치가 주어졌을 때, 차이에 대한 p값을 계산
    • p값
      • 귀무가설이 참이라고 가정할 때 그러한 차이 또는 더 극단적인 경우를 관찰할 확률을 의미한다.
      • p값이 충분히 작을 경우 귀무가설을 기각하고 실험 결과가 유의하다고 결론을 짓는다.
        • 충분히 작다는 것은 뭘까?
          • 과학적 표준 : 0.05 미만의 p값을 사용
          • 의미 : 효과가 실제로 없다면 100번 중 95번 효과가 없다는 것을 정확하게 추론할 수 있다는 것
    • 신뢰구간이 0을 포함하는지 확인하는 것, 95% 신뢰구간
  • 통계적 유의도
    • 귀무가설을 가정할 때, 우연히 관찰한 결과 또는 더 극단적인 결과가 발생할 수 있는 가능성을 의미한다.

실험 설계

 

실험 크기를 결정할 때 고려해야 할 사항

  • 실험은 안전한가?
    • 사용자가 어떻게 반응할지 모르는 대규모 변경의 경우, 먼저 더 적은 비율의 사용자로 시작하는 것이 좋다.
  • 이 실험은 다른 실험과 트래픽을 공유할 필요가 있는가?
    • 동시나 순차적 실험을 선택할 수 있고, 여러 동시 테스트 간에 트래픽을 분할해야 하는 경우 더 적은 양의 트래픽으로 실험해야 한다. 실험 기간을 결정할 때 고려해야 할 사항
  • 더 많은 사용자
    • 실험 기간이 들어질 수록 더 많은 사용자들이 참여하게 되고, 일반적으로 통계적 검정력을 증가시킨다.
    • 다만 재방문 사용자들이 늘어나기 때문에 사용자 누적률이 저선형으로 될 수 있다.
      • 그러니까, 이미 해당 기능으로 테스트를 해 본 사람들이 다시 방문하니까 첫째날에 비해서 둘째, 셋째 날 등에 실험 참여자가 적어질 수 있다는 말 같다.
  • 주간 효과
    • 평일과 주말에 따라 사용자 분포가 달라질 수 있다.
    • 실험이 주간 사이클을 포착했는지 확인하는 것이 중요하기 때문에, 최소 1주일 동안 실험하는 것을 추천한다.
  • 계절성
    • 공휴일과 같이 사용자 행동이 달라지는 시기가 있을 수 있다.
      • 글로벌 서비스라면 미국뿐 아니라 다른 나라 공휴일이 영향을 미칠 수 있다는 것을 인지해야 한다.
      • 외적 타당성 (external validity)
        • 어떤 기간의 결과를 다른 기간에 일반화할 수 있는 정도를 나타낸다.
  • 초두 효과 (primacy effect) 및 신기성 효과(novelty effect)
    • 실험초기 효과는 정상보다 크거나 작은 경향이 있어서 효과의 안정화에 시간이 걸리는 실험들이 있다.
      • 예시) 새로운 플래시 버튼을 사용해 보지만, 유용하지 않다는 것을 발견함에 따라 버튼 클릭수는 줄어들 수 있다. 반면 익숙해지는 데에 필요한 기능은 시간이 걸린다. 실험 실행과 데이터 수집
  • 4장에서 자세하게 설명

실험을 하려면 아래 세 가지가 필요하다.

  • 사용자가 사이트와 상호작용 하는 방식
  • 로그 데이터 계측
  • 인프라

 

결과 해석

  • 적절성 검사 수행이 필요하다.
    • 가드레일 지표 또는 불변성 지표를 살펴봐야 한다. 이러한 지표들은 대조군과 실험군 사이에서 변경돼서는 안 되는데, 만약 변경된다면 실험의 차이는 테스트 기능에 의한 것이 아닐 가능성이 높다.
  • 불변성 지표의 유형
    • 신뢰 관련 가드레일 지표
      • 예시 : 대조군 및 실험군 샘플의 크기가 실험 설정을 그대로 따르리라 기대하는 지표 등
    • 조직 가드레일 지표
      • 조직에 중요하고 많은 실험에서 불변할 것으로 예상되는 지연 시간과 같은 지표
  • 적절성 검사가 실패한다면 기초적 실험 설계, 인프라, 데이터 처리에 문제가 있을 것이다.

 

결과에서 의사결정으로

  • 여려 지표 간의 트레이드오프를 고려해야 하는가?
  • 서비스를 출시하는 데 드는 비용은 얼마인가?
  • 잘못된 의사 결정의 단점은?

 

스터디, 책 느낀 점

  • 이 멤버들 너무 좋다..! 하지만 책이 번역이 어색한 부분이 많아 이해가 어려운 내용이 꽤나 있다. 따라서 원서를 참고하면서 읽어야 할 것 같다.
  • A/B 테스트의 바이블이라고 불릴만한 것 같다.

블로그의 정보

다람

darami

활동하기