Oprócz wyświetlania A/B Testing danych eksperymentu w konsoliFirebase możesz sprawdzać i analizować dane eksperymentu w BigQuery. A/B Testing nie ma osobnej tabeli, ale informacje o eksperymentach i wariantach są przechowywane w każdym zdarzeniu w tabelach zdarzeń Analytics.BigQueryGoogle Analytics
Właściwości użytkownika, które zawierają informacje o eksperymencie, mają postać userProperty.key like "firebase_exp_%"
lub userProperty.key =
"firebase_exp_01"
, gdzie 01
to identyfikator eksperymentu, a userProperty.value.string_value
to indeks (liczony od zera) wariantu eksperymentu.
Za pomocą tych właściwości użytkownika eksperymentu możesz wyodrębniać dane eksperymentu. Dzięki temu możesz analizować wyniki eksperymentu na wiele różnych sposobów i niezależnie weryfikować wyniki A/B Testing.
Aby rozpocząć, wykonaj te czynności zgodnie z opisem w tym przewodniku:
- Włącz BigQuery eksportowanie Google Analytics w konsoli Firebase
- Dostęp do danych A/B Testing za pomocą BigQuery
- Przykładowe zapytania
Włączanie eksportowania BigQuery dla Google Analytics w konsoli Firebase
Jeśli korzystasz z abonamentu Spark, możesz używać BigQuerypiaskownicy, aby uzyskać dostęp do BigQuery bez żadnych opłat, z zastrzeżeniem limitów piaskownicy. Więcej informacji znajdziesz w sekcji Ceny i BigQuery sandbox.
Najpierw upewnij się, że eksportujesz dane Analytics do BigQuery:
- Otwórz kartę Integracje, do której możesz przejść, klikając > Ustawienia projektu w Firebase konsoli.
- Jeśli korzystasz już z BigQuery w innych usługach Firebase, kliknij Zarządzaj. W przeciwnym razie kliknij Połącz.
- Zapoznaj się z informacjami w sekcji Informacje o łączeniu Firebase z BigQuery, a potem kliknij Dalej.
- W sekcji Skonfiguruj integrację włącz przełącznik Google Analytics.
Wybierz region i ustawienia eksportu.
Kliknij Połącz z BigQuery.
W zależności od wybranego sposobu eksportowania danych udostępnienie tabel może potrwać do 1 dnia. Więcej informacji o eksportowaniu danych projektu do BigQuery znajdziesz w artykule Eksportowanie danych projektu do BigQuery.
Dostęp do danych A/B Testing w BigQuery
Zanim wyślesz zapytanie o dane dotyczące konkretnego eksperymentu, musisz uzyskać niektóre lub wszystkie z tych informacji, aby użyć ich w zapytaniu:
- Identyfikator eksperymentu: możesz go uzyskać z adresu URL strony Przegląd eksperymentu. Jeśli na przykład Twój adres URL wygląda tak:
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25
, identyfikator eksperymentu to 25. - Google Analytics identyfikator usługi: to 9-cyfrowy identyfikator usługi.Google Analytics Znajdziesz go w sekcji Google Analytics. Pojawia się też w sekcji BigQuery, gdy rozwiniesz nazwę projektu, aby wyświetlić nazwę tabeli zdarzeń Google Analytics (
project_name.analytics_000000000.events
). - Data eksperymentu: aby utworzyć szybsze i wydajniejsze zapytanie, warto ograniczyć zapytania do Google Analytics codziennych
partycji tabeli zdarzeń, które zawierają dane eksperymentu – tabel oznaczonych sufiksem
YYYYMMDD
. Jeśli więc eksperyment był prowadzony od 2 lutego do 2 maja 2024 r., musisz podać_TABLE_SUFFIX between '20240202' AND '20240502'
. Przykład znajdziesz w artykule Wybieranie wartości konkretnego eksperymentu. - Nazwy zdarzeń: zwykle odpowiadają one danym celu skonfigurowanym w eksperymencie. Na przykład
in_app_purchase
wydarzeniaad_impression
lubuser_retention
wydarzenia.
Po zebraniu informacji potrzebnych do wygenerowania zapytania:
- Otwórz BigQuery w konsoli Google Cloud.
- Wybierz projekt, a następnie kliknij Utwórz zapytanie SQL.
- Dodaj zapytanie. Przykładowe zapytania znajdziesz w artykule Przykładowe zapytania.
- Kliknij Wykonaj.
Tworzenie zapytań o dane eksperymentu za pomocą automatycznie generowanego zapytania w konsoli Firebase
Jeśli korzystasz z abonamentu Blaze, na stronie Przegląd eksperymentu znajdziesz przykładowe zapytanie, które zwraca nazwę eksperymentu, wersje, nazwy zdarzeń i liczbę zdarzeń w eksperymencie, który wyświetlasz.
Aby uzyskać i uruchomić automatycznie wygenerowane zapytanie:
- W Firebase konsoli otwórz A/B Testing i wybierz eksperyment A/B Testing, o który chcesz wysłać zapytanie, aby otworzyć Przegląd eksperymentu.
- W menu Opcje w sekcji Integracja z BigQuery wybierz Zapytanie o dane eksperymentu. Spowoduje to otwarcie projektu w BigQueryw konsoli Google Cloud i udostępnienie podstawowego zapytania, którego możesz użyć do wysyłania zapytań o dane eksperymentu.
Poniższy przykład pokazuje wygenerowane zapytanie dotyczące eksperymentu z 3 wariantami (w tym z elementem bazowym) o nazwie „Eksperyment powitalny na zimę”. Zwraca nazwę aktywnego eksperymentu, nazwę wariantu, unikalne zdarzenie i liczbę zdarzeń dla każdego zdarzenia. Pamiętaj, że w nazwie tabeli w konstruktorze zapytań nie jest podana nazwa projektu, ponieważ konstruktor otwiera się bezpośrednio w projekcie.
/*
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
Więcej przykładów zapytań znajdziesz w artykule Przykładowe zapytania.
Przykładowe zapytania
W sekcjach poniżej znajdziesz przykłady zapytań, których możesz używać do wyodrębniania danych eksperymentu z tabel zdarzeń Google Analytics.A/B Testing
Wyodrębnianie wartości odchylenia standardowego zakupu i eksperymentu ze wszystkich eksperymentów
Dane z wynikami eksperymentu możesz wykorzystać do niezależnego weryfikowaniaFirebase A/B Testing wyników. Poniższe BigQueryinstrukcje SQLBigQuerywyodrębniają warianty eksperymentu, liczbę unikalnych użytkowników w każdym wariancie i sumują łączne przychodyBigQueryze zdarzeń in_app_purchase
i ecommerce_purchase
oraz odchylenia standardoweBigQuerywszystkich eksperymentów w zakresie czasu określonym jako daty rozpoczęcia i zakończenia _TABLE_SUFFIX
. Dane uzyskane z tego zapytania możesz wykorzystać w generatorze istotności statystycznej dla testów t-Studenta jednostronnych, aby sprawdzić, czy wyniki podawane przez Firebase są zgodne z Twoją analizą.
Więcej informacji o sposobie obliczania wnioskowania przez A/B Testing znajdziesz w sekcji Interpretowanie wyników testów.
/*
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;
Wybieranie wartości konkretnego eksperymentu
Poniższy przykład zapytania pokazuje, jak uzyskać dane dotyczące konkretnego eksperymentu w BigQuery. To przykładowe zapytanie zwraca nazwę eksperymentu, nazwy wersji (w tym wersji podstawowej), nazwy zdarzeń i liczbę zdarzeń.
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