A/B테스트의 신뢰성을 저하하는 현상, SRM(Sampling Ratio Mismatch)

A/B테스트의 신뢰성을 저하하는 현상, SRM(Sampling Ratio Mismatch)
Photo by Chanhee Lee / Unsplash

SRM(Sampling Ratio Mismatch)란?

  • SRM(Sampling Ratio Mismatch)은 A/B 테스트에서 두 개 이상의 그룹에 할당된 샘플 수가 의도한 비율과 일치하지 않는 현상을 말합니다.
  • 예를 들어, A/B 테스트를 진행할 때 A와 B 그룹에 각각 50%씩 트래픽을 할당하는 것이 일반적입니다. 하지만 예상과 다르게, A 그룹에 70%, B 그룹에 30%가 할당되는 문제가 발생하면 이를 SRM이라고 합니다.

예시

  • 새로운 추천 시스템이 **실험군 A(20%)**에 적용되고, 기존 추천 시스템이 **대조군 B(80%)**에 적용되는 A/B 테스트를 진행하고 있습니다.목표는 사용자의 클릭 전환율을 비교하는 것입니다.
  • 만약 실험 설계에서 트래픽을 20% 대 80%로 분배하려고 했는데, 결과적으로 다른 비율로 트래픽이 할당되었다면 SRM 문제가 발생합니다.

SRM이 문제가 되는 이유

  • A/B 테스트의 전제 조건 중 하나는 트래픽의 무작위 할당입니다. 각 그룹에 균등하게 트래픽이 분배되어야만 통계적으로 유효한 결론을 도출할 수 있습니다. SRM이 발생하면 샘플링에 의한 오차가 비대칭적으로 발생하여 실험 결과의 신뢰성이 저하됩니다.
  • 즉, 테스트 결과에서 특정 그룹이 과대표되거나 과소대표되면, 해당 그룹에서 발생한 결과를 일반화하기 어렵게 됩니다.
  • SRM이 발생할 경우, 다음과 같은 문제가 발생합니다:
    • 결과 왜곡: 트래픽이 불균등하게 배분되면, 실험 결과는 해당 그룹에 치우칠 수 있으며 이는 결론의 왜곡을 초래합니다.
    • 전환율 오류: 각 그룹의 전환율 계산이 불균형해져서 통계적으로 유의미한 결과를 얻기 힘듭니다.
    • 테스트 시간 증가: 실험이 제대로 이루어지지 않았기 때문에 더 많은 트래픽을 필요로 하게 되어 실험 기간이 길어집니다.

원인

  • 랜덤화 오류: 트래픽을 무작위로 분배하는 과정에서 시스템 오류가 발생할 수 있습니다.
  • 사용자 세분화 오류: 실험을 위해 특정 사용자 세분화(subgroup)를 설정할 때, 해당 세분화가 잘못 적용되면 특정 그룹으로 트래픽이 쏠릴 수 있습니다.
  • 동일 사용자의 중복 참여: 동일 사용자가 여러 번 참여하거나, 세션이 여러 개 생성되면 트래픽 할당이 왜곡됩니다.
  • 시스템 성능 문제: 서버나 네트워크의 병목 현상으로 트래픽이 특정 그룹으로 집중될 수 있습니다.

SRM 확인방법

  • SRM은 실험이 진행되는 도중에 카이제곱(Chi-Square) 검정을 통해 확인할 수 있습니다. 이 방법은 실제 트래픽 배분이 기대치와 통계적으로 차이가 있는지를 확인합니다.
import numpy as np
from scipy.stats import chisquare

# 각 그룹에 할당된 트래픽 수
group_A = 7000  # A 그룹
group_B = 3000  # B 그룹

# 기대 트래픽 비율 (50:50)
expected_A = 0.5 * (group_A + group_B)
expected_B = 0.5 * (group_A + group_B)

# 카이제곱 검정 수행
chi2_stat, p_value = chisquare([group_A, group_B], f_exp=[expected_A, expected_B])

print(f"Chi2 Statistic: {chi2_stat}, p-value: {p_value}")

if p_value < 0.05:
    print("SRM 발생 가능성이 높습니다.")
else:
    print("SRM이 발생하지 않았습니다.")

해소방안

  • 무작위 할당 검토: 테스트 그룹에 트래픽이 제대로 무작위로 할당되고 있는지 확인합니다. A/B 테스트에서 사용자 세분화와 랜덤화 과정이 문제없이 작동하는지 점검해야 합니다.
  • 샘플링 단계에서 검증: 실험을 시작하기 전, 각 그룹에 대해 샘플을 추출하는 단계에서 샘플링 비율을 미리 확인합니다. 이로 인해 SRM을 사전에 감지할 수 있습니다.
  • 데이터 분석 도구 활용: SRM을 자동으로 감지할 수 있는 도구나 알고리즘을 사용합니다. Google Optimize, Optimizely 같은 A/B 테스트 플랫폼은 SRM을 감지하는 기능을 기본 제공하는 경우가 많습니다.
  • 네트워크 성능 개선: 시스템 성능 문제로 인해 트래픽 분배에 차질이 발생하지 않도록 서버 성능을 점검하거나 네트워크 병목을 해결해야 합니다.
  • SRM 발생 시 실험 중단: SRM이 감지된 경우, 실험을 지속하기보다 일단 중단하고, 문제를 해결한 후 재시작하는 것이 좋습니다.

Read more

[책]Reshuffle: Who wins when AI restacks the knowledge economy

[책]Reshuffle: Who wins when AI restacks the knowledge economy

원래는 Amazon에 가서 Personal Knowledge Managment에 관한 책을 사려고 했다. Sketch Your Mind라는 책이었는데, 그 때 이 책 “Reshuffle”을 발견하였다. AI가 어떻게 Knowledge Economy를 흔들 것가? 라는 부제를 훑어보면서 저자가 쓴 다른 책을 보게 되었는데 거기에 내가 좋아했던 책을쓴 저자라는 것을 알게 되었다. 그래서 크게 고민하지 않고 구매를 하고

By Bongho, Lee
[책]올라운드투자, 누군가의 투자일기

[책]올라운드투자, 누군가의 투자일기

“올라운드 투자”라는 제목을 보았을 때는, “올라운드 플레이어”가 생각이 났다. “올라운드”라는 표현을 오랜만에 들어본 까닭이었다. 그럼에도 불구하고 이 책을 고른 것은 저자가 그간 보여준 컨텐츠에 대한 신뢰가 있던 까닭이었다. 컨텐츠를 다양하게 보는 편이지만 깊이가 아주 있지는 않았다. 여기서 깊이라 함은 기존 전문적인 정량적 분석의 내용의 수준을 말하는 것이다.

By Bongho, Lee
내가 놓치고 있던 미래, 먼저 온 미래를 읽고

내가 놓치고 있던 미래, 먼저 온 미래를 읽고

장강명 작가의 책은, 유학시절 읽고 처음이었다. 유학시절 "한국이 싫어서"라는 책은 동기부여가 상당히 되는 책이었다. 한국을 떠나 새로운 정채성을 학생으로서 Build up 해나가고 있던 상황에서 이 책은 제목부터 꽤 솔깃하였다. 물론 결말이 기억날 정도로 인상깊은 책은 아니었지만 말이다. 그렇게 시간이 흘러 장강명 작가의 책은 더 이상 읽지 않던

By Bongho, Lee