본문 바로가기
Causal inference

Part 1. 01~02

by Night Fury 2023. 8. 30.
론 코하비, 다이앤 탕, 야 쉬, 『A/B 테스트 신뢰할 수 있는 온라인 종합 대조 실험』, 이기홍, 김기영, 에이콘출판사-MANNING(2022), p30-77.

 

1. 소개와 동기

  • Bing의 헤드라인 표시법 변환: 타이틀 라인을 바로 밑 첫째 줄 문장과 합치기 → 매출 12% 증가

개념

  • 종합 대조 실험 (controlled experiment)
    • 실험: UI, 관련 알고리즘 (검색, 광고, 추천 등), 지연 시간/성능, 콘텐츠 관리 시스템, 고객 지원 시스템
    • 채널: 웹사이트, 데스크톱 app, 모바일 app, 이메일 등
  • 전체 평가 기준 (Overall Evaluation Criterion, OEC): 실험 목적의 계량적 지표 (ex. 사용자별 활동일 수)
    • 단기적으로 측정 가능해야 함
    • 장기적 전략 목표를 추진하는 원인이라고 믿을 수 있는 것이 되어야 함
  • 변형군: 대조군, 실험군

대조 실험을 실행하기 위한 필요한 요소

  • 변형군은 서로 간의 간섭 효과가 없어야 함
  • 통제된 경험이 유용하려면 수천 개의 실험 단위를 권장
  • 핵심지표(이상적인 OEC)가 측정하기 어렵다면, 대체 지표에 대해 합의하는 것이 중요

온라인 제어 실험을 위한 조직의 3가지 핵심 원칙

  1. 데이터 중심 결정을 내리고 OEC를 공식화
    • 비교적 짧은 기간(1-2주)에 걸쳐 쉽게 측정할 수 있는 OEC를 정의해야 함
    • 단기적에 측정되고, 장기 목표를 예측할 수 있는 지표를 찾아내는 것이 어려움 (ex. LTV)
  2. 종합 대조 실험을 실행하고 그 결과가 신뢰할 수 있는지 확인하기 위해 인프라와 실험에 기꺼이 투자
    • 사용자를 안정적으로 랜덤화해 야함
    • 종합 대조 실험은 애자일 소프트웨어 개발, 고객 개발 프로세스, MVP와 결합할 때 특히 유용함
    • 실험에 대한 신뢰성을 확보하는 것이 중요
  3. 조직은 아이디어의 가치를 평가하는데 서툴다는 것을 인지
    • 각 기능이 유용하다고 생각해서 개발하지만, 많은 곳에서 대부분의 아이디어는 핵심 지표를 개선하는 데 실패함 (ex. 마이크로소프트: 33.3%, 구글: 10~20%, 슬랙: 30%)

개선 사례

  • 실제 주요 지표의 개선은 0.1%~2%의 수많은 작은 변화로 달성됨
    • 많은 실험은 사용자들 일부에게만 영향을 미치기 때문 (ex. 10% 사용자에게 5% 개선) → 전체 관점에서 영향이 희석됨
  • 구글 광고 사례
    • 1년 이상의 점진적 개발 실험을 거쳐 향상된 광고 순위 메커니즘을 출시
    • 광고주들에게 미치는 영향을 이해하기 위해 수백 개의 실험 실행
  • Bing 관련성 팀 사례
    • OEC 측정지표를 매년 2%씩 개선하는 수백 명의 사람들로 구성
    • 수 천 개의 실험 진행 → 2%에 대한 공헌도는 반복 실험을 기반으로 부여
      • 정밀한 공헌도 결정을 위해 베이지안 수축법을 사용하기도 함
  • Bing 광고 팀 사례
    • 꾸준히 연간 15% 매출을 성장시킴
    • 매달 기준으로 보면 개선이 조금씩 이루어졌음

종합 대조 실험 사례

  • 기대 결과와 실제 결과의 절대적 차이가 큰 실험
  • 사용자 인터페이스 사례
    • 구글 검색 결과 페이지에 대해 41개 색조의 파란색을 테스트 → 긍정적인 결과 발생
    • 마이크로소프트 Bing 색상 조정 → 성공 시간 향상, 매출 연간 천만 달러 이상 향상
    • 광범위한 색상이 테스트된 것을 감안하면, 추가 실험에서 색상 변경에 의해 큰 개선을 얻을 가능성은 낮아 보임
  • 아마존 신용카드 제안 사례
    • 홈페이지에서 홍보를 했는데, 수익성이 좋았지만 CTR이 낮았음
    • 물품을 추가한 후, 사용자가 볼 수 있는 쇼핑 카트 페이지로 제안을 이동하는 실험을 진행했음 → 연간 수입 수천만 달러 증가
  • 아마존의 개인화 추천
    • 쇼핑 카트 아이템 기반 추천 기능 도입 → 현재는 여러 곳에서 사용 중
  • Bing HTML 길이 감소 사례
    • 성공률, 성공 시간과 같은 주요 사용자 지표를 상당히 개선했음
    • 매 10밀리 초의 성능 개선 (눈 깜빡임 속도의 1/30)은 엔지니어의 1년 연봉에 상응하는 수익을 초과 창출
  • Bing 악성코드 감소
    • 악성코드로 인해 여러 개의 광고가 보이는 불편함을 해결
    • 사용자 지표 개선
    • 사용자들이 더 많은 검색을 했고, 연간 수익 수백만 달러 증가
  • 백엔드 알고리즘 변화
    • ex. 아마존의 추천 알고리즘
      • X 품목을 산 사람은 Y 품목을 산다 → X 품목을 검색한 사람은 Y 품목을 산다
      • 전체 매출 3% 증가

전략, 전술과 실험의 관계

  • 적절한 지표를 사용해 잘 실행된 실험은 비즈니스 전략, 제품 설계를 보완하고, 조직의 데이터 중심화를 통해 운영 효율성을 개선
  • Scenario 1: 비즈니스 전략이 있고, 실험할 수 있는 충분한 사용자가 있는 제품이 존재
    • 현재 전략과 제품에 기초해, 국지최적화를 달성하는 데 도움
    • 적절한 OEC를 선정하여 전략을 명시적으로 만들고 기능을 전략과 일치시킴 → 전략 무결성
  • Scenario 2: 제품과 전략이 존재하지만, 결과는 pivot을 검토할 필요가 있다는 것을 제시하는 상황
    • 항상 아이디어 포트폴리오를 만드는 것을 권고
    • 더 큰 성공으로 이어지려면, 급진적인 아이디어들이 시도돼야 함
    • 에릭 리스 제안
      • 진정한 실험은 과학적 방법을 따른다.
      • 어떤 일이 일어날지 예측하는 명확한 가설에서 시작된다.
      • 그러고 나서 실험은 그 예측들을 경험적으로 테스트한다.
    • 종합 대조 실험을 실행할 수 있는 능력은 MVP를 시도하고, 데이터를 얻고, 반복함으로써 불확실성을 줄일 수 있게 해 준다.

 

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

예제 설명

  • 목적: 위젯의 할인 쿠폰 코드가 포함된 프로모션 이메일을 보내 판매량 증가
  • 변화: 잠재적인 비즈니스 모델 변화 (이전에는 쿠폰 제공 X)
  • 문제: 쿠폰 코드를 추가하고 상당한 수익을 잃은 레퍼런스 자료 참고
    • 사용자가 쿠폰 코드 필드를 보는 것 자체가 속도가 저하됨
    • 쿠폰 코드를 검색해야 하고 사용자가 이탈할 수 있는 우려도 존재
  • 퍼널: 홈페이지 방문 > 위젯 브라우즈/검색 > 카트에 위젯 담기 > 구매 프로세스 시작 > 구매 프로세스 완료

A/B 테스트

  • 1안:
    • A: 과거 체크아웃 페이지
    • B: 신용카드 정보 아래 쿠폰 or 기프트 코드 필드 추가
  • 2안:
    • A: 신용카드 정보 아래 쿠폰 or 기프트 코드 필드 추가
    • B: 팝업으로 쿠폰 or 기프트 코드

가설 검정

  • OEC: 사용자당 매출 증가
  • 사용자 정의:
    • 사이트 방문: 불필요한 노이즈가 추가됨 (체크아웃을 전혀 개시하지 않은 사용자 포함)
    • 구매 프로세스 완료: 변화가 사용자당 구매액뿐만 아니라, 구매 완료 사용자 수에도 영향을 미치기 때문에 선택 X
    • 구매 프로세스 시작: 변화가 퍼널 내에 있다는 전제하에 적절!
  • 가설: 쿠폰 코드 필드를 체크아웃 페이지에 추가하면, 구매 프로세스를 시작하는 사용자에 대한 사용자당 수입이 저하한다. (대립)
  • 통계적 유의도: 귀무가설을 가정할 때, 우연히 관찰한 결과 or 더 극단적인 결과가 발생할 수 있는 가능성을 측정
    • 모든 통계적으로 유의한 결과가 실질적으로 의미가 있지는 않음
    • 차이가 변경 비용을 지불할 가치가 있는지를 기반으로 실질적인 경계를 설정하는 것이 좋다.
      • ex. google/bing: 0.2%, 스타트업: 10%

실험 설계

  • Step
    1. 무작위 추출 단위는 무엇인가?
      → 사용자
    2. 무작위 추출 단위의 모집단을 어느 정도 대상으로 하고 싶은가?
      → 모든 사용자를 대상으로 체크아웃 페이지를 방문하는 사용자 분석
    3. 어느 정도 규모의 실험이 필요한가?
      • 실험 크기(사용자 수)는 결과의 정밀도에 직접적인 영향을 미침
      → 사용자당 수익의 1% 이상의 변화를 감지할 수 있는 80%의 통계적 검정력을 갖기 위해 검정력 분석을 실시해 실험 크기 결정
    4. 실험을 얼마나 오래 진행할 것인가?
      → 대조군/실험군 1/실험군 2 간에 최소 4일 동안 실험 실행
      → 요일 효과를 확실히 이해하기 위해 일주일 내내 실험 실행 (신기성 or 초두 효과 감지 시 더 오래 걸림)
  • 고려 사항
    • 변경사항 관련
      1. OEC를 구매 여부로 변경하면, 표준오차가 작아져 동일한 민감도를 얻기 위해 많은 사용자를 실험에서 사용할 필요가 없게 됨
      2. 실질적인 유의도 수준을 높인다면, 표본의 크기를 줄일 수 있음
      3. 귀무가설을 기각하기 전 변화가 발생했다는 것을 더욱 확신하기 위해, 낮은 p값 임계치를 사용하려면 표본 크기를 늘려야 함
    • 실험 크기 결정 관련
      1. 실험이 얼마나 안전한가? → 대규모 변경의 경우, 적은 비율의 사용자로 시작하는 것이 좋음
      2. 다른 실험과 트래픽을 공유할 필요가 있는가?
        • 다른 변경사항이 있다면, 동시에 실행하거나 순차적으로 실행하도록 선택할 수 있음
        • 동시 테스트 간에 트래픽을 분할해야 하는 경우, 각 테스트는 더 적은 양의 트래픽으로 끝남
    • 실험을 얼마나 오래 할 것인가
      1. 더 많은 사용자
        1. 오래 실행될수록 더 많은 사용자들이 실험 참여 → 통계적 검정력 증가
        2. 시간에 따른 사용자 누적률은 저선형이 될 가능성 높음 → 동일한 사용자가 돌아올 수 있음
      2. 주간 효과
        1. 평일과 주말에는 사용자 분포가 달라질 수 있음 (같은 사용자도 다르게 행동 가능)
        2. 최소 1주일 동안 실험하는 것이 좋음
      3. 계절성
        1. 공휴일과 같이 사용자의 행동이 달라지는 시기가 있을 수 있음
        2. 외적 타당성(external validity): 어떤 기간의 결과를 다른 기간에 일반화할 수 있는 정도
          • ex. 기프트 카드 → 크리스마스 시즌에만 효과가 좋은 경우
      4. 초두 효과(primacy effect) 및 신기성 효과(novelty effect)
        • 실험 초기의 효과는 정상보다 크거나 작은 경향이 있어서 효과의 안정화에 시간이 걸리는 실험이 존재
          ex. 특정 버튼 클릭 수가 시간이 지나면서 줄어드는 경우
          ex. 익숙해지는 것이 필요한 기능은 익숙해져서 효과가 나타나는 데 시간이 걸림

결과

  • 적절성 검사
    • 가드레일 지표 or 불변성 지표 탐색
      • 실험 효과를 무효로 할 수 있음
      • 대조군과 실험군 사이에 변경돼서는 안 됨
        ex. 대조군 및 실험군 샘플 크기가 실험 설정을 따르거나 캐시 적중률이 동일하다고 기대하는 신뢰 관련 가드레일 지표
        ex. 많은 실험에서 불변할 것으로 예상되는 지연 시간과 같은 조직 가드레일 지표
  • 실험군 A/B 모두 귀무가설 기각 → UI에 쿠폰 코드 추가 시, 수익이 감소함 ⇒ 아이디어 폐기 + 시간 절약

 

 

 

 

 

 

 

 

 

반응형

댓글