Oprócz przeglądania danych eksperymentów testów A/B w konsoli Firebase możesz sprawdzać i analizować dane eksperymentów w BigQuery. Chociaż testy A/B nie mają osobnej tabeli BigQuery, członkostwa w eksperymentach i wariantach są przechowywane w każdym zdarzeniu Google Analytics w tabelach zdarzeń Analytics.
Właściwości użytkownika zawierające 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
zawiera indeks (liczony od zera) wariant eksperymentu.
Możesz użyć tych właściwości użytkownika eksperymentu, aby wyodrębnić dane eksperymentu. Daje to możliwość dzielenia wyników eksperymentu na wiele różnych sposobów i niezależnej weryfikacji wyników testów A/B.
Aby rozpocząć, wykonaj następujące czynności zgodnie z opisem w tym przewodniku:
- Włącz eksport BigQuery dla Google Analytics w konsoli Firebase
- Uzyskaj dostęp do danych testów A/B za pomocą BigQuery
- Przeglądaj przykładowe zapytania
Włącz eksport BigQuery dla Google Analytics w konsoli Firebase
Jeśli korzystasz z planu Spark, możesz korzystać z piaskownicy BigQuery , aby uzyskać dostęp do BigQuery bezpłatnie, z zastrzeżeniem ograniczeń Sandbox . Więcej informacji znajdziesz w artykule Cennik i piaskownica BigQuery .
Najpierw upewnij się, że eksportujesz dane Analytics do BigQuery:
- Otwórz zakładkę Integracje , do której dostęp uzyskasz poprzez > Ustawienia projektu w konsoli Firebase .
- Jeśli używasz już BigQuery z innymi usługami Firebase, kliknij Zarządzaj . W przeciwnym razie kliknij opcję Link .
- Przeczytaj artykuł Informacje o łączeniu Firebase z BigQuery , a następnie kliknij Dalej .
- W sekcji Konfiguruj integrację włącz przełącznik Google Analytics .
Wybierz region i wybierz ustawienia eksportu.
Kliknij opcję Link do BigQuery .
W zależności od wybranej metody eksportowania danych udostępnienie tabel może zająć nawet jeden dzień. Więcej informacji o eksportowaniu danych projektu do BigQuery znajdziesz w artykule Eksportowanie danych projektu do BigQuery .
Uzyskaj dostęp do danych testów A/B w BigQuery
Przed zapytaniem o dane do konkretnego eksperymentu warto uzyskać niektóre lub wszystkie z poniższych informacji, które można wykorzystać w zapytaniu:
- Identyfikator eksperymentu: można go uzyskać z adresu URL strony przeglądu eksperymentu . Na przykład, jeśli Twój adres URL wygląda następująco
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25
, identyfikator eksperymentu to 25 . - Identyfikator usługi Google Analytics : To jest Twój 9-cyfrowy identyfikator usługi Google Analytics. Można to znaleźć w Google Analytics; pojawia się również w 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, dobrą praktyką jest ograniczenie zapytań do partycji tabeli zdarzeń dziennych Google Analytics, które zawierają dane eksperymentu – tabel oznaczonych sufiksem
YYYYMMDD
. Jeśli więc eksperyment trwał od 2 lutego 2024 r. do 2 maja 2024 r., należy określić wartość_TABLE_SUFFIX between '20240202' AND '20240502'
. Aby zapoznać się z przykładem, zobacz Wybieranie wartości konkretnego eksperymentu . - Nazwy zdarzeń: zazwyczaj odpowiadają one metrykom celu skonfigurowanym w eksperymencie. Na przykład zdarzenia
in_app_purchase
,ad_impression
lubuser_retention
.
Po zebraniu informacji potrzebnych do wygenerowania zapytania:
- Otwórz BigQuery w konsoli Google Cloud.
- Wybierz swój projekt, a następnie wybierz opcję Utwórz zapytanie SQL .
- Dodaj swoje zapytanie. Przykładowe zapytania do uruchomienia znajdziesz w temacie Eksplorowanie przykładowych zapytań .
- Kliknij Uruchom .
Zapytaj o dane eksperymentu, korzystając z automatycznie wygenerowanego zapytania konsoli Firebase
Jeśli korzystasz z planu Blaze, na stronie Przegląd eksperymentu znajduje się przykładowe zapytanie, które zwraca nazwę eksperymentu, warianty, nazwy zdarzeń i liczbę zdarzeń dla przeglądanego eksperymentu.
Aby uzyskać i uruchomić automatycznie wygenerowane zapytanie:
- W konsoli Firebase otwórz Testowanie A/B i wybierz eksperyment Testowania A/B, do którego chcesz wysłać zapytanie, aby otworzyć Przegląd eksperymentu .
- W menu Opcje w obszarze Integracja z BigQuery wybierz Zapytanie o dane eksperymentu . Spowoduje to otwarcie Twojego projektu w BigQuery w konsoli 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 przedstawia wygenerowane zapytanie dla eksperymentu z trzema wariantami (łącznie z wartością bazową) o nazwie „Eksperyment powitalny zimą”. Zwraca nazwę aktywnego eksperymentu, nazwę wariantu, unikalne zdarzenie i liczbę zdarzeń dla każdego zdarzenia. Należy pamiętać, że konstruktor zapytań nie określa nazwy projektu w nazwie tabeli, ponieważ 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
Aby zapoznać się z dodatkowymi przykładami zapytań, przejdź do Eksploruj przykładowe zapytania .
Przeglądaj przykładowe zapytania
W poniższych sekcjach przedstawiono przykłady zapytań, których można użyć do wyodrębnienia danych eksperymentu testu A/B z tabel zdarzeń Google Analytics.
Wyodrębnij wartości odchylenia standardowego zakupu i eksperymentu ze wszystkich eksperymentów
Dane z wyników eksperymentu możesz wykorzystać do niezależnej weryfikacji wyników testów A/B Firebase. Poniższa instrukcja BigQuery SQL wyodrębnia warianty eksperymentu, liczbę unikalnych użytkowników w każdym wariancie i sumuje łączne przychody ze zdarzeń in_app_purchase
i ecommerce_purchase
oraz odchylenia standardowe dla wszystkich eksperymentów w zakresie czasu określonym jako daty rozpoczęcia i zakończenia _TABLE_SUFFIX
. Możesz użyć danych uzyskanych w wyniku tego zapytania za pomocą generatora istotności statystycznej do jednostronnych testów t, aby sprawdzić, czy wyniki dostarczone przez Firebase odpowiadają Twojej własnej analizie.
Aby uzyskać więcej informacji na temat sposobu, w jaki testowanie A/B oblicza wnioskowanie, zobacz temat 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;
Wybierz wartości konkretnego eksperymentu
Poniższe przykładowe zapytanie ilustruje sposób uzyskania danych do konkretnego eksperymentu w BigQuery. To przykładowe zapytanie zwraca nazwę eksperymentu, nazwy wariantów (w tym linię bazową), 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