[A/B test] 실험의 실행과 분석 : 엔드-투-엔드 예제

실험의 실행과 분석 : 엔드-투-엔드 예제에 대해 알아보자 :)

Apr 29, 2024
[A/B test] 실험의 실행과 분석 : 엔드-투-엔드 예제

실험 실행과 데이터 수집

실험 실행 시, 필요한 것들

  • 사용자가 사이트와 상호작용하는 방식
  • 이러한 상호작용이 어떤 실험에 속하는지에 대한 로그 데이터를 얻기 위한 계측 (13장에서 자세히 다룰 예정.)
    • 계측이란?
      어떤 시스템이나 장치의 특정 측정값을 기록하거나 모니터링하는 과정
  • 실험 구성부터 변형 할당에 이르기까지 실험을 수행할 수 있는 인프라 (4장에서 자세히 다룰 예정)
💡
① 실험을 실행하고, 위와 같은 방식인 ② 필요한 계측으로 로그 데이터를 수집하면, 데이터를 처리하고 요약 통계를 계산하고 결과를 시각화할 준비가 된 것이다.

결과 해석

실험 데이터 예제

Q. 사용자당 수익 결과를 알아보자!

적절성 검사

사용자당 수익 결과를 알아보기 전에 몇 가지 적절성 검사를 수행할 필요가 있다. 특히, 실험 결과를 무효로 할 수 있는 버그가 숨어들어올 수 있는 방법이 있으며, 다음 지표들을 살펴보면 된다.
  • 가드레일 지표
    • 정의 : 가드레일 지표는 실험이나 시스템의 안전성과 품질을 보장하기 위해 지속적으로 모니터링하는 지표.
      → 이 지표들은 시스템이 잘못된 방향으로 나아가지 않도록 경고 역할을 함.
      • 실험을 할 때 절대 악화시켜서는 안되는 지표.
      • 비행기 기내식을 개선하기 위한 실험을 할 때 비행기 추락에 영향을 미치는 음식은 X
      • 여기서 비행기 안정성이 가드레일 지표
    • 예시 : 사용자 이탈률, 시스템 응답 시간, 오류 발생률 등
      → 예를 들어, A/B 테스트를 진행할 때 새로운 기능이 사용자 경험을 현저히 떨어뜨리거나 시스템 오류를 유발하지 않도록 이러한 지표들을 모니터링하면 됨.
  • 불변성 지표 (Invariant Metrics):
    • 정의 : 실험 조건에 관계없이 일정하게 유지되어야 하는 지표
      → 이 지표는 실험 그룹과 대조군 간의 분포가 일관되게 유지되는지 확인하여 실험 설정이 제대로 되었는지 검증하는 데 사용 함.
    • 예시 : 사용자의 기본 특성(예: 나이, 성별, 지역 분포)이나 트래픽 분포 등
      → 예를 들어, 실험이 올바르게 랜덤화되었는지 확인하기 위해 이러한 지표들이 실험 그룹과 대조군 간에 일관되게 유지되는지 확인하면 됨.
    • 해당 책에서 명시한 불변성 지표의 두 가지 유형
      1. 신뢰 관련 가드레일 지표
        1. : 대조군 및 실험군 샘플의 크기가 실험 설정을 그대로 따르거나 이들의 캐시 적중률이 동일하리라 기대하는 지표
      1. 조직 가드레일 지표
        1. : 조직에 중요하고 많은 실험에서 불변할 것으로 예상되는 지연 시간과 같은 지표

결과 검토

가드레일 지표를 기반으로 적절성 검사를 실행한 후 결과를 검토한다.
여기서 잠깐! 적절성 검사가 실패한다면 다음에 문제가 있을 것이기에 보완할 필요가 있다. (21장 참고)
✔️ 기초적인 실험 설계
✔️ 인프라
✔️ 데이터 처리
사용자당 수입, 실험군
사용자당 수입, 대조군
차이
p값
신뢰구간
실험군 1 대 대조군
3.12 달러
3.21 달러
- 0.09 달러 (-2.8%)
0.0003
[-4.3%, -1.3%]
실험군 2 대 대조군
2.96 달러
3.21 달러
- 0.25 달러 (-7.8%)
1.5e-23
[-9.3%, -6.3%]
💡
결과 총 정리
📌 두 가지 실험군에 대한 p값이 0.05보다 작기 때문에, 실험군과 대조군의 평균이 같다는 귀무가설 기각
→ UI에 쿠폰 코드를 추가하면 수익이 감소한다.
→ 구매 결정을 완료하는 사용자 수가 적기 때문에 감소한다.
 
✔️ 쿠폰 코드를 발송하는 마케팅 이메일은 쿠폰 처리와 유지보수를 추가하는데 드는 비용뿐만 아니라, 쿠폰 코드를 처음 추가할 때 발생하는 부정적인 영향의 비용도 회수할 필요가 있다.
따라서 실험 결과에 대한 검토는 다음과 같다.
  • A/B 테스트에 따라 모든 사용자에게 상당한 수익 감소를 나타냈기 때문에, 프로모션 코드를 도입하는 아이디어를 폐기하기로 결정했다.
  • 출시 전 최소 테스트로 A/B 테스트를 수행함으로써 많은 노력이 절약됐다.
 

결과에서 의사결정으로

A/B 테스트의 실행 목표

의사결정을 유도하기 위한 데이터를 수집하는 것이며, 올바를 결정을 내릴 수 있도록 결과가 반복 가능하고 신뢰할 수 있는데 노력이 필요하다.

의사결정 과정의 고려 사항

  1. 여러 지표 간 트레이드 오프를 고려할 필요가 있는가?
      • 사용자 참여 증가 vs. 수익 감소 → 출시할 것인가?
  1. 서비스 출시하는데 드는 비용은 얼마인가?
      • 출시 전 기능 구축 비용
        • 개발 시간 : 새로운 기능을 개발하기 위해 개발자들이 투입되는 시간과 비용.
        • 도구 및 인프라 비용 : 새로운 기능을 개발하기 위해 필요한 소프트웨어 도구나 하드웨어 인프라에 대한 비용.
        • 디자인 및 사용자 테스트 비용 : 사용자 경험(UX) 및 인터페이스(UI)를 디자인하고 사용자 테스트를 진행하는 비용.
        • (참고) 어떤 기능들은 실힘하기 전에 완진히 만들어졌을 지도 모른다. 이러한 경우, 1% 에서 100% 출시까지 가는 비용은 제로다.
      • 출시 후 유지 보수 비용
        • 버그 수정 : 새로운 기능 출시 후 발생하는 버그를 수정하기 위한 비용.
        • 성능 최적화 : 시스템 성능을 유지하거나 향상시키기 위해 추가적인 최적화 작업을 수행하는 비용.
        • 테스트 비용 증가 : 복잡한 코드 구조로 인해 테스트 시나리오가 복잡해지고, 더 많은 테스트 케이스를 작성하고 실행해야 하는 비용.
        • (참고) 만약 유지 비용이 많이 든다면, 예상되는 이득이 그것을 커버할 수 있는지 확인해야 한다. 이러한 상황에서는 실무적 유의도 임계값이 이를 반영하기에 충분한지 확인해야 한다.
  1. 잘못된 의사결정의 단점은 무엇인가?
      • 영향이 없는 변화를 시작 → 하방위험은 없을 것
      • 영향을 미치는 변화를 포기 → 기회비용이 높을 것

의사결정 시 통계적 및 실무적 유의도 고려

위 의사결정 과정의 고려 사항들을 유념하여, 통계적 및 실무적 유의도 임계값을 구축해야 한다. 의사결정 시 통계적 및 실무적 유의도 고려 사항의 예시는 다음과 같다.
  • 실험 시작 전 임계값 업데이트
  • 임계값을 통해 의사결정 도출