A/B 테스트 (A/B Testing)

개요

두 가지 이상의 다른 UI나 알고리즘(A안, B안)을 실제 사용자들에게 동시에 제공하고, 데이터를 수집하여 어떤 버전이 비즈니스 목표(클릭률, 구매 전환율 등)에 더 효과적인지 검증하는 실험 기법입니다.

1. 무중단 배포와의 차이점

카나리 배포 vs A/B 테스트

  • 카나리 배포(01_무중단_배포): 시스템의 안정성을 확인하기 위해 에러율과 지연 시간을 모니터링하는 인프라 관점의 작업.
  • A/B 테스트: 사용자의 **반응(비즈니스 지표)**을 확인하기 위해 특정 사용자 그룹을 타겟팅하는 서비스 관점의 작업.

2. 네트워크 계층 관점 (OSI 7 Layer)

  • L7 (응용 계층): A/B 테스트는 전적으로 응용 계층의 데이터를 기반으로 이루어집니다.
    • HTTP 쿠키/세션: 한 번 A안을 본 사용자는 브라우저를 닫을 때까지 계속 A안을 보게 유지(Sticky)합니다.
    • HTTP 헤더/URI: 클라이언트 기기(모바일/PC), 지역, 브라우저 언어 등의 헤더 정보를 파악하여 실험군과 대조군으로 트래픽을 분기합니다.

3. 구현 도구 및 서비스

구분오픈소스 (직접 구축)상용 / 클라우드 서비스
라우팅 / 프록시Nginx, Istio, EnvoyAWS CloudFront (Lambda@Edge)
실험 및 지표 분석PostHog, GrowthBook, MatomoOptimizely, VWO, Amplitude
피처 플래그Unleash, FlagsmithLaunchDarkly, AWS AppConfig

4. 실제 적용 예시

넷플릭스 추천 알고리즘 개선 실험

  1. 넷플릭스 데이터 팀이 새로운 AI 추천 알고리즘(B안)을 개발했습니다. 기존 알고리즘은 A안입니다.
  2. 백엔드의 API 게이트웨이(Istio)에서 전체 사용자의 10%를 랜덤으로 추출하여 B안 서버로 트래픽을 라우팅합니다. (이때 사용자 ID를 해싱하여 세션 일관성 유지)
  3. 한 달 동안 A안 그룹과 B안 그룹의 ‘영상 시청 완료율’ 데이터를 모니터링 툴로 수집합니다.
  4. B안의 시청 완료율이 유의미하게 높게 측정되면, 피처 플래그(Feature Flag) 설정을 변경하여 100% 사용자에게 신규 알고리즘을 적용합니다.