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, Envoy | AWS CloudFront (Lambda@Edge) |
| 실험 및 지표 분석 | PostHog, GrowthBook, Matomo | Optimizely, VWO, Amplitude |
| 피처 플래그 | Unleash, Flagsmith | LaunchDarkly, AWS AppConfig |
4. 실제 적용 예시
넷플릭스 추천 알고리즘 개선 실험
- 넷플릭스 데이터 팀이 새로운 AI 추천 알고리즘(B안)을 개발했습니다. 기존 알고리즘은 A안입니다.
- 백엔드의 API 게이트웨이(Istio)에서 전체 사용자의 10%를 랜덤으로 추출하여 B안 서버로 트래픽을 라우팅합니다. (이때 사용자 ID를 해싱하여 세션 일관성 유지)
- 한 달 동안 A안 그룹과 B안 그룹의 ‘영상 시청 완료율’ 데이터를 모니터링 툴로 수집합니다.
- B안의 시청 완료율이 유의미하게 높게 측정되면, 피처 플래그(Feature Flag) 설정을 변경하여 100% 사용자에게 신규 알고리즘을 적용합니다.