이 페이지에서

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

실험 평가

평가는 주어진 플래그 구성에 따라 사용자가 수신할 변형(있는 경우)을 결정합니다. 평가는 사용자와 플래그 구성을 입력으로 받아들이고 변형을 출력합니다.

사용자 및 플래그부터 변형에 이르는 실험 평가 단계 도표

사전 타겟팅

사전 타겟팅 단계는 타겟팅 세그먼트가 실행되기 전에 평가된 변형을 결정할 수 있습니다.

활성화

플래그는 활성 상태이거나 비활성 상태입니다. 비활성 플래그는 결코 평가에서 변형을 반환하지 않습니다.

모범 사례

켜기/끄기 플래그의 경우, Amplitude는 트래픽을 제어하기 위해 활성화/비활성화 플래그 버튼을 사용하지 않고 모든 사용자 세그먼트 할당을 100% 또는 0%로 설정할 것을 권장합니다. 활성화/비활성화 버튼을 사용하여 기능이 완전히 시작된 후 또는 플래그의 인스트루멘테이션을 제거한 후 플래그를 제거하십시오.

플래그 종속성

플래그는 다른 플래그의 평가에 대한 종속성을 정의할 수 있습니다. 의존성이 충족되지 않으면 변형이 반환되지 않습니다. 그렇지 않으면 평가는 계속됩니다. 플래그 종속성은 상호 배제 그룹과 홀드아웃 그룹을 구현합니다.

예를 들어, Flag-2는 Flag-1이 on 변형으로 평가되는 것에 대한 종속성을 정의할 수 있습니다.

  • Flag-1 (50% on).
  • Flag-2 (50% control, 50% treatment).
    • Flag-1=on. 종속

이 의존성은 Amplitude가 항상 Flag-2보다 먼저 Flag-1을 평가하도록 보장합니다. Flag-1의 평가 결과가 on로 나오면 Amplitude는 Flag-2를 완전히 평가합니다. Flag-1이 변형으로 평가되지 않거나 on가 아닌 변형으로 평가되는 경우 Flag-2는 종속성 검사를 실패하고 Amplitude는 변형을 할당하지 않습니다. 이를 통해 종속성 검사가 건너뛰거나 정의되지 않은 결과가 반환되는 엣지 케이스를 방지할 수 있습니다. 또한 종속성은 노출 이벤트와 감사 추적의 일관성을 유지합니다.

이 예제에서 Amplitude는 평가 대상 사용자의 50%에게 Flag-2 변형을 할당합니다.

개별 포함 항목

Inclusions는 특정 사용자(사용자 ID 또는 디바이스 ID로 식별됨)를 특정 변형에 강제로 배정합니다. Inclusions는 주로 개발을 지원합니다.

예를 들어 새로운 다변량 기능을 개발하고 있으며 애플리케이션의 각 변형을 테스트하려는 경우 실험의 포함 섹션에 사용자 또는 장치 ID를 추가하고 애플리케이션을 새로 고칩니다.

할당 고정

스티키 버킷팅을 주의해서 사용하십시오. 스티커 버킷팅을 비활성화한 경우에도 사용자 및 타겟팅 규칙이 변경되지 않을 경우 일관성 있는 버킷팅은 사용자를 동일한 변형에 배치합니다. 스티키 버킷팅이 활성화된 활성 플래그에서 타겟팅 규칙을 변경하면 샘플 비율 불일치(SRM)가 발생할 수 있으며, 이는 실험 결과를 왜곡할 수 있습니다.

스티키 버켓팅을 활성화하면 Amplitude는 현재 타겟팅에 관계없이 항상 사용자를 이전에 버킷화된 동일한 변형으로 평가합니다. Amplitude가 아직 사용자를 변형에 버킷화하지 않은 경우 스티키 버켓팅은 적용되지 않습니다.

자세한 내용은 Sticky Bucketing으로 이동하십시오.

세그먼트 타겟팅

규칙(where 절)을 정의하지 않고 대상 세그먼트를 추가하면 추정치에 사용자가 0명으로 표시되더라도 모든 사용자가 캡처됩니다.

플래그 또는 실험에는 0-n 타겟팅 세그먼트가 있을 수 있습니다. Amplitude는 타겟팅 세그먼트를 위에서 아래로 평가합니다. 사용자가 세그먼트 타겟팅 규칙과 일치하는 경우 일관성 있는 버킷팅은 구성된 할당 비율과 변형 분배 가중치를 기반으로 사용자가 받는 변형(있는 경우)을 결정합니다.

모든 사용자 세그먼트

모든 사용자 세그먼트는 타겟팅 세그먼트와 일치하지 않는 모든 사용자(전체)를 캡처합니다. 정합성 보장 버킷팅은 구성된 할당 비율과 변형 분배 가중치를 기준으로 사용자를 변형에 할당하거나 변형을 사용하지 않도록 할당합니다.

일관된 버킷화

Amplitude Experiment의 버킷팅은 사용자, 버킷팅 키, 버킷팅 솔트, 할당 비율 및 변형 가중치에 따라 일관됩니다. 동일한 입력값이 주어지더라도 출력은 일정하게 유지됩니다.

버킷팅 논리는 두 단계로 나뉩니다. 할당 버킷화는 할당 비율을 기준으로 사용자가 변형을 받을지 여부를 결정합니다. 변형 버킷화는 할당 버킷화에서 사용자를 할당한 경우에만 실행됩니다. 두 단계 모두 동일한 일관성 있는 해시 함수를 약간 다른 방식으로 사용합니다.

버킷 솔트는 실험 배분을 통계적으로 독립적으로 만듭니다. 솔트가 없으면 Amplitude가 실험군에 할당한 모든 사용자에게 모든 실험에서 실험군이 적용됩니다.

두 가지 경우에 버킷 솔트를 업데이트하십시오.

  1. 실험의 버그 또는 기타 문제로 인해 사용자를 다시 무작위로 지정하려는 경우. 솔트를 새로운 임의의 문자열로 업데이트합니다.
  2. 두 실험의 평가를 일치시키기 위해. 두 프로젝트에서 솔트를 동일한 값으로 업데이트합니다.

해싱

Amplitude Experiment의 일관된 버킷팅은 주어진 세그먼트의 버킷팅 키 값에 대해 murmur3일관된 해싱 알고리즘을 사용합니다. 버킷 솔트나 버킷 값이 변경되면 해시 출력이 변경되고 사용자가 variant jump를 경험할 수 있습니다.

text
murmur3_x86_32("bucketing_salt/bucketing_value")

할당 버킷팅

해시 값의 모듈로(100)가 세그먼트에 구성된 할당보다 작을 때 사용자는 할당됩니다.

text
murmur3_x86_32("bucketing_salt/bucketing_value") % 100

변형 버켓팅

할당 후에는 변형 버킷팅이 사용자가 받는 변형을 결정합니다. Amplitude는 가중치를 기준으로 0에서 42949672 사이의 대상 구간 값을 변형과 연결합니다.

text
floor(murmur3_x86_32("bucketing_salt/bucketing_value") / 100)

예를 들어 A 변형의 가중치가 1이고 B 변형의 가중치가 1인 경우, Amplitude는 A 변형을 [0, 21474835] 구간 내의 값과 연결하고 B 변형을 [21474836, 42949672] 구간 내의 값과 연결합니다.

이 내용이 도움이 되었나요?