Firebase Remote Config를 사용하여 애플리케이션을 운영 중이면 해당 애플리케이션을 정답을 맞히세요. A/B Testing 실험을 사용하면 다음을 결정합니다.
- 사용자 환경을 최적화하는 최선의 기능 구현 방법: 앱 개발자는 사용자가 새로운 기능이나 업데이트된 사용자 환경을 좋아하지 않는다는 것을 앱 스토어에서 앱 평점이 하락한 후에야 깨닫는 경우가 너무나 많습니다. A/B 테스팅을 통해 사용자가 변경된 새 기능을 좋아하는지 아니면 상태 그대로의 앱을 선호하는지 측정할 수 있습니다. 또한 사용자 중 대다수를 기준 그룹에 두면 대부분의 사용자층은 실험이 끝날 때까지 앱의 동작이나 모양에 어떠한 변화도 없이 앱을 계속 그대로 사용할 수 있습니다.
- 비즈니스 목표를 위한 최선의 사용자 환경 최적화 방법: 수익이나 유지율과 같은 측정항목을 최대화하기 위해 제품을 변경하는 경우가 종종 있습니다. A/B 테스팅을 통해 비즈니스 목표를 설정하면 Firebase에서 통계 분석을 수행하여 선택한 목표에서 기준보다 대안의 실적이 우수한지 확인합니다.
기준을 활용해 여러 기능 대안에 대한 A/B 테스팅을 하는 방법은 다음과 같습니다.
- 실험을 만듭니다.
- 테스트 기기에서 실험의 유효성을 검증합니다.
- 실험을 관리합니다.
실험 만들기
Remote Config 실험을 사용하면 하나 이상의 실험에서 여러 대안을 Remote Config 매개변수 더보기
로그인 Firebase 콘솔 프로젝트에 Google Analytics가 사용 설정되어 있는지 확인하여 실험에서 Analytics 데이터에 액세스할 수 있습니다.
프로젝트를 만들 때 Google Analytics를 사용 설정하지 않았다면 GCP 콘솔에서 이를 사용 설정할 수 통합 탭 - 를 사용하여 액세스할 수 있습니다. > Firebase 콘솔의 프로젝트 설정.
Firebase 콘솔 탐색 메뉴의 참여 섹션에서 A/B Testing
실험 만들기를 클릭한 후 다음 경우에 Remote Config을(를) 선택합니다. 프롬프트가 표시됩니다.
실험의 이름 및 설명(선택사항)을 입력하고 다음을 클릭합니다.
실험을 사용할 앱을 먼저 선택하고 타겟팅 입력란을 작성합니다. and를 클릭한 후 다음 목록에서 옵션을 선택하여 사용자의 일부만 실험에 참여하도록 타겟팅할 수도 있습니다.
- 버전: 하나 이상의 앱 버전입니다.
- 빌드 번호: 앱의 버전 코드입니다.
- 언어: 실험에 포함될 수 있는 사용자를 선택하는 데 사용되는 하나 이상의 언어입니다.
- 국가/리전: 실험에 포함되어야 하는 사용자를 선택하는 데 사용되는 하나 이상의 국가 또는 리전입니다.
- 잠재 사용자: 다음과 같은 사용자를 타겟팅하는 데 사용되는 Analytics 잠재고객 실험에 포함될 수 있음
- 사용자 속성: 다음에 대한 하나 이상의 Analytics 사용자 속성: 실험에 포함될 수 있는 사용자 선택
최초 실행: 사용자가 앱을 처음으로 실행한 시간을 기준으로 사용자를 타겟팅합니다.
첫 실행 시간별 사용자 타겟팅은 Android 또는 iOS 앱 이 서비스는 SDK 버전 Remote Config개: Apple 플랫폼 SDK v9.0.0 이상 및 Android SDK v21.1.1 이상 (Firebase BoM v30.3.0 이상)
첫 번째 실행 중에 클라이언트에서 Analytics도 사용 설정해야 합니다. 이벤트를 엽니다.
대상 사용자 비율 설정: 대상 사용자에 설정한 기준과 일치하는 앱 사용자층 중에서 기준 및 하나 이상의 실험 대안 간에 균등하게 나눌 비율을 입력합니다. 0.01%~100% 사이의 백분율을 입력할 수 있습니다. 사용자는 중복 실험을 포함하여 실험마다 무작위로 할당됩니다.
(선택사항) 사용자의 데이터만 사용되도록 활성화 이벤트를 설정합니다. 일부 Analytics 이벤트를 처음 트리거한 사용자는 있습니다. 타겟팅 매개변수와 일치하는 모든 사용자는 Remote Config의 실험 값을 수신하지만, 활성화 이벤트가 실험 결과에 포함됩니다.
실험의 유효성을 보장하기 위해서는 선택한 이벤트가 앱에서 가져온 구성 값이 활성화된 후에 발생하는지 확인해야 합니다. 또한 다음 이벤트는 항상 가져온 값이 활성화되기 전에 발생하므로 사용할 수 없습니다.
app_install
app_remove
app_update
dynamic_link_first_open
실험의 목표에는 추적할 기본 측정항목을 선택하고 목록에서 추적하려는 추가 측정항목을 추가합니다. 여기에는 기본 목표(구매, 수익, 유지율, 비정상 종료가 발생하지 않은 사용자 등)가 포함됩니다. 전환 이벤트 Analytics개 등 Analytics 이벤트. 완료되면 다음을 클릭합니다.
대안 섹션에서 기준을 선택하고 실험에 사용할 하나 이상의 대안을 선택합니다. 선택 또는 새로 만들기 목록을 사용하여 실험할 매개변수를 하나 이상 추가합니다. 인덱스 1과 0이 같은 Firebase 콘솔에서 사용된 적이 없지만 다음 위치에 있어야 합니다. 영향을 줄 수 있어야 합니다. 이 단계를 반복하여 여러 매개변수를 실험에 추가할 수 있습니다.
(선택사항) 실험에 둘 이상의 대안을 추가하려면 다른 대안 추가를 클릭합니다.
대안에서 하나 이상의 매개변수를 변경합니다. 변경하지 않은 매개변수는 실험에 포함되지 않은 사용자의 매개변수와 동일합니다.
대안 가중치를 펼쳐 실험의 대안 가중치를 보거나 변경합니다. 기본적으로 각 대안에는 동일한 가중치가 부여됩니다. 가중치가 균일하지 않으면 데이터 수집 시간이 늘어날 수 있으며 실험이 시작된 후에는 가중치를 변경할 수 없습니다.
검토를 클릭하여 실험을 저장합니다.
프로젝트당 최대 300개의 실험이 허용되며 최대 24개까지 진행 중인 실험으로, 나머지는 초안 또는 완료로 구성할 수 있습니다.
테스트 기기에서 실험 검증
Firebase를 설치할 때마다 설치와 연결된 설치 인증 토큰을 가져올 수 있습니다. 이 토큰을 사용하면 앱이 설치된 테스트 기기에서 특정 실험 대안을 테스트할 수 있습니다. 테스트 기기에서 실험의 유효성을 검증하는 방법은 다음과 같습니다.
- 다음과 같이 설치 인증 토큰을 가져옵니다.
Swift
do { let result = try await Installations.installations() .authTokenForcingRefresh(true) print("Installation auth token: \(result.authToken)") } catch { print("Error fetching token: \(error)") }
Objective-C
[[FIRInstallations installations] authTokenForcingRefresh:true completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) { if (error != nil) { NSLog(@"Error fetching Installation token %@", error); return; } NSLog(@"Installation auth token: %@", [result authToken]); }];
Java
FirebaseInstallations.getInstance().getToken(/* forceRefresh */true) .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() { @Override public void onComplete(@NonNull Task<InstallationTokenResult> task) { if (task.isSuccessful() && task.getResult() != null) { Log.d("Installations", "Installation auth token: " + task.getResult().getToken()); } else { Log.e("Installations", "Unable to get Installation auth token"); } } });
Kotlin+KTX
val forceRefresh = true FirebaseInstallations.getInstance().getToken(forceRefresh) .addOnCompleteListener { task -> if (task.isSuccessful) { Log.d("Installations", "Installation auth token: " + task.result?.token) } else { Log.e("Installations", "Unable to get Installation auth token") } }
C++
드림 <ph type="x-smartling-placeholder">firebase::InitResult init_result; auto* installations_object = firebase::installations::Installations::GetInstance( firebase::App::GetInstance(), &init_result); installations_object->GetToken().OnCompletion( [](const firebase::Future<std::string>& future) { if (future.status() == kFutureStatusComplete && future.error() == firebase::installations::kErrorNone) { printf("Installations Auth Token %s\n", future.result()->c_str()); } });
Unity
Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith( task => { if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) { UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result)); } });
- Firebase 콘솔 탐색 메뉴에서 A/B 테스팅.
- 초안(또는 원격 구성 실험인 경우 실행 중)을 클릭하고 마우스를 실험 위에 가져간 다음 컨텍스트 메뉴(more_vert)를 클릭하고 테스트 기기 관리를 클릭합니다.
- 테스트 기기의 설치 인증 토큰을 입력하고 테스트 기기로 전송할 실험 대안을 선택합니다.
- 앱을 실행하고 선택한 대안이 테스트 기기에 수신되는지 확인합니다.
Firebase 설치에 관한 자세한 내용은 다음을 참고하세요. Firebase 설치 관리
실험 관리
Remote Config, 알림 작성기 또는 Firebase In-App Messaging 그런 다음 실험을 검증 및 시작하고, 실적을 모니터링할 수 있습니다. 실험에 참여할 수 있는 사용자 수를 늘리고 확인할 수 있습니다
실험이 끝나면 우수한 대안에 사용된 설정을 기록해 두고 이후에 모든 사용자에게 이 설정을 적용하거나 다른 실험을 진행할 수 있습니다.
실험 시작
- Firebase 콘솔 탐색 메뉴의 참여 섹션에서 A/B Testing
- 초안을 클릭하고 실험 제목을 클릭합니다.
- 실험에 포함될 사용자가 앱에 있는지 검증하려면 초안 세부정보를 펼치고 타겟팅 및 분포에서 0%보다 큰 숫자가 있는지 확인합니다(예: 기준과 일치하는 사용자 1%).
- 실험을 변경하려면 수정을 클릭합니다.
- 실험을 시작하려면 실험 시작을 클릭합니다. 한 번에 프로젝트당 최대 24개의 실험을 실행할 수 있습니다.
실험 모니터링
실험이 일정 시간 진행되면 실험의 진행 상황을 확인하고 지금까지 실험에 참여한 사용자의 결과가 어떤지 살펴볼 수 있습니다.
- Firebase 콘솔 탐색 메뉴의 참여 섹션에서 A/B Testing
실행 중을 클릭하고 실험 제목을 클릭하거나 검색합니다. 이 페이지에서는 다음을 포함하여 진행 중인 실험에 대한 다양한 관찰 및 모델링된 통계를 확인할 수 있습니다.
- 기준과의 차이(%): 기준과 비교하여 특정 대안의 측정항목 개선도를 측정한 값입니다. 대안의 값 범위를 기준의 값 범위와 비교하여 계산합니다.
- 기준 초과 가능성: 특정 대안이 선택한 측정항목의 기준을 초과할 것으로 예측되는 확률입니다.
- 사용자당 observed_metric: 실험 결과를 기준으로 시간 경과에 따라 측정항목 값이 속할 것으로 예상되는 범위입니다.
- 전체 observed_metric: 기준 또는 대안에서 관찰된 누적 값입니다. 이 값은 각 실험 대안의 효과를 측정하고 개선, 값 범위, 기준 초과 가능성, 최적의 대안이 될 확률을 계산하는 데 사용됩니다. 대상 측정항목에 따라 이 열에 '사용자당 기간', '사용자당 수익', '유지율', '전환율' 등의 라벨을 지정할 수 있습니다.
일정 기간 (FCM의 경우 최소 7일) 동안 실험을 진행한 후 In-App Messaging 또는 Remote Config의 경우 14일), 이 페이지의 데이터 '주요 변수'가 있는 경우 이를 나타냅니다. 일부 측정항목은 데이터를 시각적으로 표현하는 막대 그래프가 함께 제공됩니다.
모든 사용자에게 실험 적용
목표 측정항목을 기준으로 가장 우수한 대안이 판명될 때까지 실험이 충분히 진행되었으면 이를 사용자 전체에 적용할 수 있습니다. 이렇게 하여 앞으로 모든 사용자에게 게시할 대안을 선택할 수 있습니다. 실험을 통해 우열이 명확히 가려지지 않은 경우에도 대안 중 하나를 모든 사용자에게 적용할 수 있습니다.
- Firebase 콘솔 탐색 메뉴의 참여 섹션에서 A/B Testing
- 완료됨 또는 실행 중을 클릭하고 모든 사용자에게 적용할 실험을 클릭한 다음 컨텍스트 메뉴( )대안 적용을 클릭합니다.
다음 중 하나를 수행하여 실험을 모든 사용자에게 적용합니다.
- 실험에서 알림 작성기를 사용하는 경우 메시지 전파 대화상자를 사용하여 이전에 실험에 참여하지 않았던 나머지 타겟팅 사용자에게 메시지를 보냅니다.
- Remote Config 실험의 경우 대안을 선택하여 어떤 대안을 결정할지 결정합니다. 업데이트할 매개변수 값 Remote Config개. 실험을 만들 때 정의된 타겟팅 기준은 템플릿에 새 조건으로 추가되어 실험에서 타겟팅되는 사용자에게만 출시되도록 합니다. 원격 구성에서 검토를 클릭하여 변경사항 게시를 클릭하여 출시를 완료합니다.
- In-App Messaging 실험의 경우 대화상자를 사용하여 어떤 실험을 수행할지 결정합니다. 대안은 독립형 In-App Messaging 캠페인으로 출시해야 합니다. 선택하면 Firebase 인앱 메시지 작성 화면으로 리디렉션되며 필요한 경우 게시하기 전에 변경할 수 있습니다.
실험 확장
실험에서 A/B Testing을(를) 위한 사용자 유입이 충분하지 않은 경우 주요 변수를 선언하려면 실험 분포를 늘려 더 큰 비중을 차지할 수 있습니다.
- Firebase 콘솔 탐색 메뉴의 참여 섹션에서 A/B Testing
- 수정하려는 실행 중인 실험을 선택합니다.
- 실험 개요에서 컨텍스트 메뉴( )를 클릭한 후 실행 중인 실험 수정을 클릭합니다.
- 타겟팅 대화상자에는 실행 중인 실험에 있는 사용자의 비율을 높일 수 있는 옵션이 표시됩니다. 현재 백분율보다 큰 숫자를 선택하고 게시를 클릭합니다. 그러면 지정한 비율의 사용자에게 실험이 적용됩니다.
실험 복제 또는 중지
- Firebase 콘솔 탐색 메뉴의 참여 섹션에서 A/B Testing
- 완료됨 또는 실행 중을 클릭하고 마우스 포인터를 실험 위에 가져간 다음 컨텍스트 메뉴( )를 클릭하고 실험 복제 또는 실험 중지를 클릭합니다.
사용자 타겟팅
다음과 같은 사용자 타겟팅 기준을 사용하여 실험에 포함할 사용자를 타겟팅할 수 있습니다.
타겟팅 기준 | 연산자 | 값 | 참고사항 | |
---|---|---|---|---|
버전 | 포함, 제외, 정확히 일치함, 정규식 포함 |
실험에 포함할 하나 이상의 앱 버전 값을 입력합니다. |
포함, 제외 또는 정확히 일치함 연산자를 사용하는 경우 쉼표로 구분된 값 목록을 제공할 수 있습니다. 정규식 포함 연산자를 사용하면 RE2 형식의 정규 표현식을 만들 수 있습니다. 정규 표현식은 타겟 버전 문자열의 일부 또는 전부와 일치할 수 있습니다. ^ 및 $ 앵커를 사용하여 타겟 문자열의 시작, 끝 또는 전체와 일치시킬 수도 있습니다. |
|
잠재 사용자 | 다음을 모두 포함, 다음 중 1개 이상 포함, 다음을 모두 포함하지 않음, 다음 중 최소 1개를 포함하지 않음 |
다음과 같은 사용자를 타겟팅하려면 Analytics 잠재고객을 하나 이상 선택하세요. 포함되어 있습니다 |
Google Analytics명의 잠재고객을 타겟팅하는 일부 실험의 경우
Analytics의 영향을 받기 때문에 데이터를 축적하는 데 며칠 정도 걸립니다.
데이터 처리 지연 시간.
다음과 같은 신규 사용자가 지연을 경험할 가능성이 가장 높습니다.
일반적으로 생성 후 24~48시간 이내에 자격 요건을 충족하는 잠재고객에 등록됨
대상:
잠재고객을 만들 수 있습니다.
Remote Config의 경우 이는 사용자가 기술적으로 잠재고객(Analytics에서 아직 사용자를 잠재고객에 추가하지 않은 경우) `fetchAndActivate()` 가 실행되면 사용자는 있습니다. |
|
사용자 속성 | 텍스트:
포함, 제외, 정확히 일치함, 정규식 포함 숫자: <, ≤, =, ≥, > |
Analytics 사용자 속성은 포함될 수 있는 사용자를 선택하는 데 사용됩니다.
실험에서 사용자 속성을 선택하는 다양한 옵션이 제공됨
값으로 사용됩니다.
클라이언트에서는 속성 숫자 연산자를 사용하는 조건의 경우 Remote Config 서비스는 상응하는 user 속성을 정수/부동 소수점 수로 변환합니다. |
정규식 포함 연산자를 사용하면 RE2 형식의 정규 표현식을 만들 수 있습니다. 정규 표현식은 타겟 버전 문자열의 일부 또는 전부와 일치할 수 있습니다. ^ 및 $ 앵커를 사용하여 타겟 문자열의 시작, 끝 또는 전체와 일치시킬 수도 있습니다. | |
국가/지역 | N/A | 실험에 포함될 수 있는 사용자를 선택하는 데 사용되는 하나 이상의 국가 또는 지역입니다. | ||
언어 | N/A | 실험에 포함될 수 있는 사용자를 선택하는 데 사용되는 하나 이상의 언어입니다. | ||
최초 실행 |
이전 이후 |
앱을 처음 실행할 때를 기준으로 사용자를 타겟팅합니다.
|
첫 실행 기준 사용자 타겟팅은 Android 또는 iOS를 선택한 후에 사용할 수 있습니다. 있습니다. 현재 다음 Remote Config SDK에서 지원됩니다. 버전: Apple 플랫폼 SDK v9.0.0 이상 및 Android SDK v21.1.1 이상 (Firebase BoM v30.3.0 이상). Analytics도 다음이 있어야 합니다. 클라이언트에서 사용 설정되어 있어야 합니다. |
측정항목 A/B Testing개
실험을 만들 때는 가장 우수한 대안을 판단하는 데 사용할 기본 또는 목표 측정항목을 선택합니다. 또한 각 실험 대안의 성과를 더 잘 파악하고 사용자 유지, 앱 안정성, 인앱 구매 수익 등 대안마다 차이가 있을 수 있는 중요한 추세를 추적하는 데 도움이 되는 다른 측정항목도 추적해야 합니다. 실험에서 목표 이외의 측정항목을 최대 5개까지 추적할 수 있습니다.
예를 들어 Remote Config를 사용하여 두 개의 다른 게임을 실행한다고 가정해 보겠습니다. 인앱 구매와 광고 수익에 맞게 최적화하려는 경우 각 대안의 안정성과 사용자 유지율도 추적하려고 합니다. 이 경우 예상 총수익을 인앱 구매 수익과 광고 수익이 포함되어 있기 때문입니다. 추적할 기타 측정항목에 대해 다음을 추가할 수 있습니다.
- 일일 및 주간 사용자 유지를 추적하려면 유지(2~3일) 및 유지(4~7일)를 추가합니다.
- 두 게임 흐름의 안정성을 비교하려면 비정상 종료가 발생하지 않은 사용자를 추가합니다.
- 각 수익 유형을 자세히 확인하려면 구매 수익 및 예상 광고 수익을 추가합니다.
다음 표에서는 목표 측정항목과 기타 측정항목이 계산되는 방식을 상세히 확인할 수 있습니다.
목표 측정항목
측정항목 | 설명 |
---|---|
비정상 종료가 발생하지 않은 사용자 | 앱에서 오류가 발생하지 않은 사용자의 비율입니다. 실험 중에 Firebase Crashlytics SDK에서 감지되었습니다. |
예상 광고 수익 | 예상 광고 순익입니다. |
예상 총수익 | 구매 및 추정 광고 수익의 합산 값입니다. |
구매 수익 | 모든 purchase 및 in_app_purchase 이벤트의 합산 값입니다.
|
유지(1일) | 앱을 매일 다시 사용하는 사용자 수입니다. |
유지(2~3일) | 2~3일 이내에 앱을 다시 사용하는 사용자 수입니다. |
유지(4~7일) | 4~7일 이내에 앱을 다시 사용하는 사용자 수입니다. |
유지(8~14일) | 8~14일 이내에 앱을 다시 사용하는 사용자 수입니다. |
유지(15일 이상) | 앱을 마지막으로 사용하고 15일 이상 경과한 후에 앱을 다시 사용하는 사용자 수입니다. |
first_open | 사용자가 다음 이후에 앱을 처음 열 때 트리거되는 Analytics 이벤트 또는 재설치를 할 수 있습니다. 전환 유입경로의 일부로 사용됩니다. |
기타 측정항목
측정항목 | 설명 |
---|---|
notification_dismiss | 다음에서 알림을 보낼 때 트리거되는 Analytics 이벤트: 알림 작성기가 닫힙니다 (Android만 해당). |
notification_receive | 다음에서 알림을 보낼 때 트리거되는 Analytics 이벤트: 알림 작성기가 백그라운드에 있는 동안 수신됨 (Android 전용) |
os_update | 기기 운영체제가 언제 실행되는지 추적하는 Analytics 이벤트 새 버전으로 업데이트되었는지 확인하세요.자세한 내용은 자동 확장 기능 수집 이벤트를 참조하세요. |
screen_view | 앱의 화면 조회를 추적하는 Analytics 이벤트 배우기 위해 자세한 내용은 추적 화면 조회수. |
session_start | 앱의 사용자 세션 수를 계산하는 Analytics 이벤트입니다. 자세히 알아보려면 자세한 내용은 수집 이벤트를 참조하세요. |
BigQuery 데이터 내보내기
다음에서 A/B Testing 실험 데이터를 확인하는 것 외에도 Firebase 콘솔에서 실험 데이터를 검사하고 분석할 수 있습니다. BigQuery입니다. A/B Testing는 BigQuery 테이블, 실험, 대안 멤버십이 Analytics 이벤트 테이블 내의 Google Analytics 이벤트.
실험 정보가 포함된 사용자 속성은 userProperty.key like "firebase_exp_%"
또는 userProperty.key =
"firebase_exp_01"
형식이며, 여기서 01
은 실험 ID이고 userProperty.value.string_value
에는 실험 대안의 색인(0부터 시작)이 포함됩니다.
이러한 실험 사용자 속성을 사용하여 실험 데이터를 추출할 수 있습니다. 이를 통해 실험 결과를 다양한 영역으로 분할할 수 있습니다. A/B Testing의 결과를 독립적으로 검증합니다.
시작하려면 이 가이드에 설명된 대로 다음을 완료하세요.
Firebase Console에서 Google Analytics에 BigQuery 내보내기 사용 설정
Spark 요금제를 사용 중인 경우 BigQuery 샌드박스: BigQuery 무료 이용, 샌드박스 한도. 자세한 내용은 가격 책정 및 BigQuery 샌드박스 를 참조하세요.
먼저 Analytics 데이터를 BigQuery:
- Google 검색 앱 홈 화면의 오른쪽 상단에 있는 Integrations 탭 을(를) 사용하여 액세스할 수 있습니다. Firebase 콘솔의 > 프로젝트 설정으로 이동합니다.
- 이미 다른 Firebase 서비스에서 BigQuery를 사용 중인 경우 다음 안내를 따르세요. 관리를 클릭합니다. 그렇지 않으면 연결을 클릭합니다.
- Firebase를 BigQuery에 연결하는 방법을 검토한 후 다음을 클릭합니다.
- Configure integration(통합 구성) 섹션에서 Google Analytics 전환 버튼
지역을 선택하고 내보내기 설정을 선택합니다.
BigQuery에 연결을 클릭합니다.
선택한 데이터 내보내기 방식에 따라 테이블을 사용할 수 있을 때까지 최대 하루가 걸릴 수 있습니다. 프로젝트 데이터를 BigQuery, 다음을 참고하세요. 프로젝트 데이터를 BigQuery로 내보냅니다.
BigQuery의 A/B Testing 데이터에 액세스
특정 실험 데이터를 쿼리하기 전에 쿼리에 사용할 다음의 일부 또는 전체를 얻는 것이 좋습니다.
- 실험 ID: 실험 개요 페이지의 URL에서 이 값을 가져올 수 있습니다. 예를 들어 URL이
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25
, 실험 ID는 25입니다. - Google Analytics 속성 ID: 9자리 숫자입니다.
Google Analytics 속성 ID입니다. 이 내용은
Google Analytics 펼치면 BigQuery에도 표시됩니다.
Google Analytics 이벤트의 이름을 표시하는 프로젝트 이름
표 (
project_name.analytics_000000000.events
) - 실험일: 보다 빠르고 효율적인 쿼리를 작성하려면
쿼리를 매일 Google Analytics로 제한하는 것이 좋습니다.
실험 데이터가 포함된 이벤트 테이블 파티션 - 테이블
YYYYMMDD
서픽스로 식별됩니다. 실험이 2024년 4월 1일 2024년 2월 2일부터 2024년 5월 2일까지는_TABLE_SUFFIX between '20240202' AND '20240502'
를 지정합니다. 예를 보려면 다음을 참조하세요. 특정 실험의 값을 선택합니다. - 이벤트 이름: 일반적으로 실험에서 구성한 목표 측정항목과 일치합니다. 예:
in_app_purchase
이벤트,ad_impression
,user_retention
이벤트 중 하나입니다.
쿼리를 생성하는 데 필요한 정보를 수집한 후에는 다음 단계를 따르세요.
- BigQuery 열기 (Google Cloud 콘솔에서 확인)
- 프로젝트를 선택한 후 SQL 쿼리 만들기를 선택합니다.
- 쿼리를 추가합니다. 실행할 쿼리의 예시는 다음을 참조하세요. 예시 쿼리 살펴보기
- 실행을 클릭합니다.
Firebase Console의 자동 생성 쿼리를 사용하여 실험 데이터 쿼리
Blaze 요금제를 사용하는 경우 실험 개요 페이지에 보고 있는 실험의 실험 이름, 대안, 이벤트 이름, 실험의 이벤트 수를 반환하는 샘플 쿼리가 제공됩니다.
자동 생성된 쿼리를 가져와 실행하려면 다음 안내를 따르세요.
- Firebase 콘솔에서 다음을 엽니다. A/B Testing 드림 쿼리하려는 A/B Testing 실험을 선택하여 실험 개요:
- '옵션' 메뉴의 BigQuery 통합에서 실험 데이터 쿼리 BigQuery에서 프로젝트가 열립니다. Google Cloud 콘솔 콘솔 내에서 사용하여 실험 데이터를 쿼리합니다.
다음 예시는 'Winter welcome experiment'이라는 이름의 3가지 대안(기준 포함)이 있는 실험에 대해 생성된 쿼리를 보여줍니다. 각 이벤트의 활성 실험 이름, 대안 이름, 순 이벤트, 이벤트 수를 반환합니다. 쿼리 빌더는 프로젝트 이름을 테이블 이름에 입력합니다.
/*
This query is auto-generated by Firebase A/B Testing for your
experiment "Winter welcome experiment".
It demonstrates how you can get event counts for all Analytics
events logged by each variant of this experiment's population.
*/
SELECT
'Winter welcome experiment' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'Welcome message (1)'
WHEN '2' THEN 'Welcome message (2)'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_000000000.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
추가 쿼리 예시를 보려면 다음으로 이동하세요. 예시 쿼리 살펴보기
쿼리 예시 살펴보기
다음 섹션에서는 Google Analytics 이벤트 테이블에서 A/B Testing 실험 데이터를 추출하는 데 사용할 수 있는 쿼리의 예시를 보여줍니다.
모든 실험에서 구매 및 실험 표준 편차 값 추출
실험 결과 데이터를 사용하여 독자적으로 검증하고
Firebase A/B Testing개의 검색결과가 있습니다. 다음 BigQuery SQL 문
추출 실험
대안, 각 대안의 순 사용자 수, 총수익 합계
in_app_purchase
및 ecommerce_purchase
이벤트로부터의 값 및 표준 편차
_TABLE_SUFFIX
시작으로 지정된 기간 내의 모든 실험
지정할 수 있습니다 이 쿼리에서 얻은 데이터를
단측 t-검정을 위한 통계적 유의성 생성기를 통해
Firebase에서 제공하는 결과는 여러분의 분석과 일치합니다.
A/B Testing에서 추론을 계산하는 방법에 관한 자세한 내용은 다음을 참고하세요. 테스트 결과를 해석합니다.
/*
This query returns all experiment variants, number of unique users,
the average USD spent per user, and the standard deviation for all
experiments within the date range specified for _TABLE_SUFFIX.
*/
SELECT
experimentNumber,
experimentVariant,
COUNT(*) AS unique_users,
AVG(usd_value) AS usd_value_per_user,
STDDEV(usd_value) AS std_dev
FROM
(
SELECT
userProperty.key AS experimentNumber,
userProperty.value.string_value AS experimentVariant,
user_pseudo_id,
SUM(
CASE
WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
THEN event_value_in_usd
ELSE 0
END) AS usd_value
FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
CROSS JOIN UNNEST(user_properties) AS userProperty
WHERE
userProperty.key LIKE 'firebase_exp_%'
AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
GROUP BY 1, 2, 3
)
GROUP BY 1, 2
ORDER BY 1, 2;
특정 실험의 값 선택
다음 쿼리 예는 특정 BigQuery에서 진행 중인 실험. 이 샘플 쿼리는 실험 이름, 대안 이름(기준 포함), 이벤트 이름, 이벤트 수를 반환합니다.
SELECT
'EXPERIMENT_NAME' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'VARIANT_1_NAME'
WHEN '2' THEN 'VARIANT_2_NAME'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_ANALYTICS_PROPERTY.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
GROUP BY
experimentVariant, eventName