SRM(샘플 비율 불일치): 고객 사례에 대한 솔루션이 포함된 전체 가이드
게시 됨: 2022-04-07
실패한 테스트보다 더 나쁜 것은 무엇입니까?
테스트 결과를 신뢰할 수 없게 만드는 테스트 데이터 품질 문제.
그러나 어떻게 나쁜 데이터를 멀리할 수 있습니까?
SRM(샘플 비율 불일치)을 확인하는 것은 잠재적인 문제를 조기에 포착하는 간단한 방법입니다. 뭔가 비린내가 있다면 빨리 알수록 좋습니다.
샘플 비율 불일치, 발견 방법, 테스트에 미치는 영향, SRM 검사 기능이 내장된 A/B 테스트 플랫폼에 대해 자세히 알아보려면 계속 읽으십시오. 따라서 스프레드시트를 옆에 두지 않아도 됩니다. .
- SRM(샘플 비율 불일치)이란 무엇입니까?
- A/B 테스트에 SRM이 있습니까? 샘플 비율 불일치를 계산하는 방법?
- 스프레드시트 사용
- 온라인 표본 비율 불일치 계산기 사용
- SRM은 A/B 테스트에 어떤 영향을 미칩니까?
- SRM은 빈도주의적 통계 모델과 베이지안 통계 모델 모두에 영향을 줍니까?
- 언제 SRM을 고려해야 합니까?
- SRM이 존재하는지 어디에서 확인해야 합니까?
- 실험 과제
- 실험 실행
- 실험 로그 처리
- 실험 분석
- 실험 간섭
- 비 실험 이유
- SRM 경고를 지원하는 A/B 테스트 플랫폼
- 경험 전환
- 최적화
- MiaProva를 통한 Adobe Target
- 그로스북
- 스플릿.io
- 표본 크기 비율 불일치 이해하기
SRM(샘플 비율 불일치)이란 무엇입니까?
샘플 비율 불일치 또는 SRM은 실제 샘플 수(또는 처리 그룹의 방문자)가 예상한 것과 일치하지 않을 때 A/B 테스트에서 발생합니다.
이를 예를 들어 설명하겠습니다.
웹사이트에 매주 약 15,000명의 방문자가 있다고 가정해 보겠습니다. 원본(변경되지 않은 페이지)과 2개의 변형, 3가지 변형이 있습니다. 트래픽이 동일하게 할당된 경우 각 트래픽이 얼마나 많이 수신될 것으로 예상합니까? 이상적인 세계에서 대답은 각 변형이 15,000 / 3 = 5000 방문자를 받아야 한다는 것입니다.
이제 각 변형이 실제로 5000명의 방문자를 수신할 가능성은 거의 없지만 4982 또는 5021과 같이 그 숫자에 매우 가깝습니다. 이러한 약간의 변형은 정상 이며 단순한 임의성 때문입니다! 그러나 변형 중 하나가 3500명의 방문자를 수신하고 다른 변형 중 하나가 5000명 정도의 방문자를 받는 것이라면 그 변형에 문제가 있을 수 있습니다!
이러한 문제를 발견하기 위해 우리 자신의 직관에 의존하는 대신 SRM 테스트를 진행할 수 있습니다. 카이제곱 적합도 검정을 사용하여 예를 들어 4850명 또는 4750명의 방문자가 수신된 다른 방문자 수와 비교하여 "정상"인지 여부를 알려줍니다!
통계적 측면에서 카이-제곱 적합도 검정은 관측된 표본 수와 예상 표본 수를 비교합니다. 그리고 실제 차이가 있는 경우 p-값은 99%의 신뢰에 해당하는 설정된 유의 수준 0.01보다 열등합니다.
Lukas Vermeer가 SRM의 세부 사항과 주제에 대한 더 많은 FAQ를 살펴보는 이 비디오를 시청하십시오.
A/B 테스트에 SRM이 있습니까? 샘플 비율 불일치를 계산하는 방법?
A/B 테스트에서 SRM은 부정확한 결과와 잘못된 결론을 초래할 수 있습니다. 좋은 소식은 두통을 피하는 데 도움이 되는 도구가 있다는 것입니다.
스프레드시트 사용
스프레드시트는 Microsoft Excel 및/또는 Google 제품의 광범위한 가용성으로 인해 SRM을 계산하는 가장 간단한 방법입니다.
다른 예를 보여드리겠습니다.
원본 및 변형에 대해 각각 214,598 및 241,156의 방문자 수와 50/50 트래픽 분할을 사용하여 A/B 테스트에 대한 SRM을 계산합니다.
관측된 트래픽 분할이 예상 트래픽 분할과 일치하는지 확인하기 위해 카이제곱 테스트를 사용합니다. 그렇지 않은 경우 관찰된 값이 예상 값과 충분히 다른지 여부를 알고 싶을 것입니다.
아래 스프레드시트에 표시된 대로 스프레드시트에서 CHISQ.TEST 함수를 사용하여 p-값을 계산해야 합니다.

이 예에서 p-값은 0입니다. p-값이 0.05 미만이면 손에 SRM이 있고 대부분의 경우 테스트 결과를 기각하기에 충분한 증거가 있습니다.
온라인 표본 비율 불일치 계산기 사용
- Convert의 계산기는 샘플 비율 불일치를 진단하는 데 도움이 될 수 있으며 실험이 완료될 때까지 기다려야 하는 시간도 알려줍니다!
- 또 다른 SRM 전용 온라인 계산기는 Lukas Vermeer가 설계한 계산기입니다. 이 방법은 이전 기법과 동일한 방식으로 SRM을 계산하므로 과정을 따라하고 이해했다면 이 온라인 SRM 계산기를 사용할 수 있을 것입니다. 샘플의 숫자를 입력하면 결과가 다음과 같이 표시됩니다.
SRM은 A/B 테스트에 어떤 영향을 미칩니까?
실험 중에 변형 간의 트래픽 분할을 보고 얼마나 정확했는지에 대해 질문했을 가능성이 큽니다.
아마도 아래 보고서와 같은 모양일 것입니다. 당신은 그것을 보고 오리지널이 1330명의 방문자를 갖는 것이 정상인지 궁금할 수도 있지만 변형은 1713입니다.

SRM 비율의 짧은 통계 계산(위의 두 가지 방법 중 하나 사용)을 통해 변동 비율이 허용 가능한지 여부를 알 수 있습니다.
두 변형(원본 및 변형 1) 간의 실제 분할이 예상 값과 일치합니까? 그렇지 않은 경우 문제가 해결되면 데이터를 거부하고 테스트를 다시 시작해야 합니다.
SRM은 빈도주의적 통계 모델과 베이지안 통계 모델 모두에 영향을 줍니까?
예.
SRM의 원인은 데이터가 베이지안(Google Optimize, Optimizely, VWO, A/B Tasty) 분석이든, 빈도주의(Convert Experiences, Dynamic Yield) 접근 방식이든 실험 결과의 유효성에 동일한 영향을 미칩니다.
따라서 위의 SRM 계산기는 베이지안 통계를 사용하는 플랫폼에서 SRM을 확인하는 데에도 사용할 수 있습니다.
언제 SRM을 고려해야 합니까?
테스트에서 표본 비율 불일치를 찾는다고 해서 반드시 결과를 폐기해야 하는 것은 아닙니다.
그렇다면 SRM 계산을 진지하게 고려해야 할 때는 언제일까요?
몇 가지 예를 들어 알아보겠습니다.
원본 및 대안 페이지에 각각 사용자의 50%가 할당된 실험을 실행합니다. 따라서 각각에 대해 동일한 수의 사용자가 표시될 것으로 예상합니다.
결과는 다음과 같이 돌아옵니다.
- 통제: 21,588명의 사용자
- 치료: 15,482명의 사용자
SRM 검사기를 통해 입력해 보겠습니다.

이것이 우려의 원인입니까?
위의 표본 비율에 대한 p-값은 <0.0001이므로 동일한 비율을 요구하는 설계에서 이 비율 또는 더 극단적인 비율을 볼 확률은 <0.0001입니다!
매우 있을 법하지 않은 사건을 방금 목격 했으므로 무언가 잘못되었다는 것을 절대적으로 걱정해야 합니다 . 따라서 실험 구현에 일부 버그가 있을 가능성이 더 높으며 결과를 신뢰해서는 안 됩니다.
원본과 유사 콘텐츠에 동일한 비율의 사용자가 할당된 다른 실험을 실행합니다. p-값을 계산했는데 <0.002이므로 매우 가능성이 낮은 이벤트입니다.
측정항목이 얼마나 떨어질 수 있습니까? 정말 결과를 버려야 합니까?
Convert Experience와 같은 실험 플랫폼을 사용하여 일부 사후 테스트 세분화를 결과에 적용하고 Internet Explorer 사용자를 제외하면 SRM이 사라진 것을 확인할 수 있습니다.
이 경우 제외된 사용자는 대부분 SRM의 원인이었던 이전 IE 브라우저를 사용합니다. 변형의 일부 변경으로 인해 봇이 제대로 분류되지 않아 비율 불일치가 발생했습니다.
세그먼트가 없으면 나머지 사용자 비율이 적절하게 균형을 이루고 메트릭이 정상적으로 나타납니다.

SRM이 발견되지 않았다면 전체 실험은 중대한 실패로 간주되었을 것입니다.
그러나 SRM이 발견되면 작은 부분을 제거할 수 있고 적절한 분석을 위해 실험을 사용할 수 있습니다.
유사한 시나리오 에서 제외된 사용자를 안전하게 무시할 수 있으며 실험을 사용할 수 있습니다 .
실험을 실행하고 테스트에 태그가 지정된 SRM이 있음을 알게 됩니다.
그러나 그래프에 주의를 기울이면 전환율 곡선이 평행을 유지하고 계산된 신뢰도가 99.99%임을 알 수 있습니다. 이 패턴은 테스트가 유효하다는 충분한 확신을 제공해야 합니다.

이 경우 SRM을 안전하게 무시하고 데이터를 계속 신뢰할 수 있습니다 .
SRM이 존재하는지 어디에서 확인해야 합니까?
SRM이 발생할 수 있는 몇 가지 영역이 있습니다. Lukas Vermeer의 원인 분류법을 살펴보겠습니다.
- 실험 할당 – 잘못된 버켓팅(사용자가 잘못된 클러스터에 배치됨), 잘못된 무작위화 기능 또는 손상된 사용자 ID의 경우가 있을 수 있습니다.
- 실험 실행 – 변형이 다른 시간에 시작되었거나(일치하지 않음) 필터 실행 지연이 있을 수 있습니다(실험 대상 그룹 결정).
- 실험 로그 처리 – 실제 사용자를 제거하는 자동 봇, 로그에 정보 도착 지연.
- 실험 분석 – 변형이 잘못 실행되었거나 잘못 시작되었습니다.
- 실험 간섭 – 실험이 공격 및 해킹의 대상이 되거나 진행 중인 다른 실험의 영향이 현재 실험을 방해할 수 있습니다.

SRM이 있고 어디에서 답을 찾아야 할지 모르겠다면 위의 분류 체계를 시작하는 것이 좋습니다.

그리고 더 명확하게 하기 위해 이제 이러한 각 경우에 대한 실제 예를 보여 드리겠습니다.
실험 과제
여기에서 주시해야 할 가장 흥미로운 점 중 하나는 A/B 테스트 플랫폼에서 사용하는 무작위화 기능입니다.
아래 예에서 Wish의 데이터 과학자들은 A/A 테스트에서 SRM 문제를 발견했으며 오랜 조사 끝에 SRM이 무작위 배정이 완전히 무작위가 아니기 때문에 발생했다는 결론을 내렸습니다.

유효한 실험 결과를 얻으려면 무작위화 절차가 중요합니다.
A/B 테스트에 사용되는 통계 테스트의 중요한 가정은 무작위 표본의 사용입니다. 실험 버킷 간에 무작위화는 관찰된 사용자 속성과 관찰되지 않은 사용자 속성의 균형을 유지하여 테스트 중인 제품 기능과 시험 결과의 결과 차이 사이의 인과 관계를 설정합니다.
PRO TIP : 변환은 변이 사이에 균일한 분포를 보장하는 자체 임의화 알고리즘이 있으므로 이로 인해 SRM이 발생할 수 없습니다. 그러나 다른 도구를 사용하여 무작위화를 구현한 경우 다음 단계에 따라 방문자를 유사 콘텐츠로 분류할 수 있습니다.
실험 실행
실험 실행과 관련하여 경험에서 SRM을 유발할 수 있는 두 가지 주요 이유가 있습니다.
1. 스크립트가 변형 중 하나에 올바르게 설치되지 않았습니다.
A/B 테스트 플랫폼의 스크립트가 원본 및 변형에 올바르게 설치되었는지 항상 확인하십시오.
당사 고객 지원 팀은 최근 변형 중 하나에 변환 스크립트가 추가되지 않아 테스트에서 SRM이 발생하는 경우를 해결했습니다.
아래와 같이 경험을 실행하려는 모든 페이지에 스크립트를 추가해야 합니다.

2. 페이지 타겟팅이 잘못 구성되었습니다.
이 경우 SRM 불일치는 테스트 대상이 잘못 설정되었기 때문입니다.
잘못된 설정을 사용하면 일부 방문자가 변형으로 전달되도록 선택되지만 리디렉션은 실패합니다. 원래 URL 표현식이 테스트에서 버킷화되고 리디렉션된 모든 방문자의 모든 URL과 일치하지 않기 때문일 가능성이 큽니다.
이를 방지하려면 실험 대안 URL 표현식을 재구성하고 테스트를 다시 실행하십시오.
다음은 분할 URL 테스트에서 SRM을 피하기 위해 경험 변환으로 페이지 타겟팅을 설정하는 방법을 보여주는 두 가지 시나리오입니다.
시나리오 1: 분할 URL을 사용하여 홈페이지(https://www.convert.com)만 대상으로 지정하고 방문자가 가질 수 있는 모든 쿼리 매개변수 전달
여기에서 사이트 영역에서 페이지 URL은 https://www.convert.com과 정확히 일치해야 합니다. 제외 섹션에서 쿼리 문자열에는 리디렉션이 발생하지 않도록 v1=true 가 포함되어야 합니다. 왜냐하면 https://www.convert.com ?v1=true 에 도달하고 트래픽이 분배가 고르지 않게 끝날 수 있음).
그런 다음 변형을 정의할 때 다음과 같이 유지합니다.

시나리오 2: 분할 URL 및 전달 쿼리 매개변수를 사용하여 홈페이지(https://www.convert.com)뿐만 아니라 모든 페이지를 대상으로 지정
여기에서 https://www.convert.com 을 포함하는 "페이지 URL"로 사이트 영역을 정의해야 합니다. 제외 섹션에서 쿼리는 v1=true를 포함해야 합니다.
변형을 정의할 때 아래의 정규식 레시피를 사용하여 모든 페이지를 포착하세요.

실험 로그 처리
여기에서 SRM의 주된 이유는 귀하의 경험을 표적으로 삼을 수 있는 봇을 식별합니다. 사용자 에이전트에서 비정상적인 패턴을 찾을 수 있는 경우 당사에 연락하여 보관하는 추가 로그를 확인할 수 있습니다.
예를 들어, 지원 팀은 테스트에 SRM이 있는 고객을 지원했습니다.
이들의 경우 Browser=Other 로 보고서를 필터링했을 때 고르지 않은 분할과 SRM이 나타났습니다. 그러나 Browser=Chrome+Safari 로 동일한 보고서를 필터링했을 때 SRM이 감지되지 않았고 고르지 않은 분포도 없었습니다.


그래서 우리는 브라우저 가 기타로 설정된 몇 가지 이벤트를 확인했고 모두 "site24x7"의 사용자 에이전트를 보여주었습니다. 우리는 이것이 일종의 모니터링 소프트웨어라는 것을 즉시 알았습니다. 이는 광고이고 별개의 사용자 에이전트를 사용하기 때문에 다행입니다. 이것이 일반적인 사용자 에이전트 뒤에 숨겨져 있었다면 찾기가 불가능했을 것입니다.
이 문제를 해결하기 위해 트래픽에서 제외하는 봇 목록에 이 User-Agent를 추가했습니다. 유감스럽게도 이 변경 사항은 봇을 목록에 추가한 후 향후 데이터에 영향을 미칠 수 있지만 적어도 발견되어 수정되었습니다.
실험 분석
이 범주는 주로 수동 트리거로 설정된 경험에 영향을 줍니다.
이는 예를 들어 트리거를 직접 처리해야 하는 단일 페이지 응용 프로그램에서 발생합니다.
따라서 아래와 유사한 코드를 사용하여 수동으로 수행해야 할 때마다 테스트에서 잠재적인 SRM에 세심한 주의를 기울이십시오.
창._conv_q = _conv_q || []; window._conv_q.push(["실행","참"]);
실험 간섭
이는 경험 중에 변형 중 하나가 일시 중지되는 사용자 개입을 나타냅니다. 몇 주 동안 실행 중인 분할 URL 테스트가 있고 실수로 또는 고의로 변형을 일시 중지하고 원본만 실행 상태로 두는 경우를 상상해 보십시오.
직후에 웹사이트 트래픽에 따라 테스트를 위해 계산된 SRM을 확인할 수 있습니다.

이 경우 변형이 일시 중지된 날짜 범위를 제외하거나 경험 데이터를 재설정할 수 있습니다.
비 실험 이유
위의 카테고리 중 어느 것도 SRM의 근본 원인을 밝히지 않으면 웹사이트에 오류 추적 소프트웨어(예: Sentry)를 추가하여 사이트의 더 깊은 문제를 식별하는 것이 좋습니다.
SRM 경고를 지원하는 A/B 테스트 플랫폼
어떤 A/B 테스트 플랫폼이 이 SRM 기능을 지원하고 직접 계산할 필요 없이 경고를 제공하는지 궁금할 것입니다.
조사를 마치고 도구 목록을 작성했습니다.
경험 전환
2021년 12월부터 자체 SRM 방식을 도입했습니다.
사용자인 경우 프로젝트 구성 > 추가 설정에서 SRM 검사를 활성화할 수 있습니다.

그러면 보고서에서 SRM 태그를 볼 수 있습니다.

최적화
2021년 9월에 누구나 SRM을 감지하기 위해 구현할 수 있는 순차 테스트 솔루션을 최적화하여 오픈소스화했습니다.
Optimizely는 ssrm-test를 실행 중인 모든 실험에서 동시에 실행할 수 있는 프로덕션 준비 백엔드 마이크로서비스로 전환했습니다.
Optimizely의 결과 페이지에서 경고를 설정하고 ssrm-test에서 실시간 결과를 얻을 수 있습니다.

Optimizely Staff Statistician인 Michael Lindon은 SRM이 테스트가 제대로 수행되지 않을 때 발생하는 전형적인 문제라고 말합니다.
제품 실험을 하기 위해서는 상당한 인프라가 필요하기 때문에 오차가 있을 수 있습니다. 예를 들어 웹사이트 방문자가 지속적으로 유사 실험으로 분류되지 않고 원본 조건과 대안 조건 모두에서 전환되는 경우 해당 사용자에 대해 얻은 데이터는 실험의 영향을 평가하는 데 유효하지 않습니다.
주요 관심사는 SRM이 측정항목에 영향을 미치고 감지되지 않을 수 있는 부정확한 데이터를 생성하는 경우입니다.
MiaProva를 통한 Adobe Target
2021년 4월 Adobe Target은 MiaProva와 제휴하여 A/B 활동에 대한 SRM 경고를 제공했습니다.
이러한 경고는 불일치가 감지되면 Adobe Target을 사용하는 MiaProva 고객에게 알립니다. 이 접근 방식은 모든 라이브 A/B 테스트에 카이제곱 테스트를 자동으로 적용합니다.


그로스북
GrowthBook은 베이지안 통계 엔진과 모든 실험에 대한 자동 SRM 검사가 포함된 오픈 소스 A/B 테스트 플랫폼입니다.

모든 실험은 SRM을 찾고 식별된 경우 사용자에게 경고합니다.
특정 트래픽 분할(예: 50/50)을 예측했지만 대신 크게 다른 것(예: 40/60)이 표시되면 경고가 표시됩니다. 이는 p-값이 0.001보다 작은 경우에만 표시되며, 이는 우연히 발생할 가능성이 극히 낮다는 것을 나타냅니다.

그러한 테스트의 결과는 잠재적으로 기만적이어서 경고하므로 신뢰해서는 안 됩니다. 대신 사용자는 실험을 다시 시작하기 전에 버그의 원인을 찾아 수정해야 합니다.
스플릿.io
Split은 기능 플래그 관리, 소프트웨어 실험 및 지속적인 제공을 지원하는 기능 제공 플랫폼입니다.
각 계산 업데이트에서 Split 플랫폼은 샘플 비율을 확인하여 목표 샘플 비율과 현재 샘플 비율 사이에 상당한 차이가 있는지 확인합니다. 이 샘플 비율 확인은 기간 및 마지막 업데이트와 같은 기타 중요한 세부 정보와 함께 주요 및 조직 메트릭 요약 아래에서 찾을 수 있습니다.

표본 크기 비율 불일치 이해하기
얼마나 자주 SRM을 보는 것이 "정상"입니까?
Lukas Vermeer가 가장 잘 말했습니다. 대형 기술 회사조차도 온라인 제어 실험에서 SRM의 고유 빈도가 6~10%임을 관찰합니다.
이제 SRM이 더 자주 반복되면 실험 설계 또는 웹 사이트에 대한 더 깊은 조사가 필요합니다.
위와 같은 문제가 발생하면 저희 팀이 항상 도움을 드릴 수 있습니다! 여기를 클릭하여 저희 팀에 연락하십시오.

