Sprawdzanie danych z Testów A/B za pomocą BigQuery

Oprócz wyświetlania danych eksperymentów w Firebase konsoli możesz też sprawdzać i analizować te dane w BigQuery.A/B Testing Testy A/B nie mają osobnej BigQuery tabeli, ale informacje o eksperymentach i wariantach są przechowywane w każdym Google Analytics zdarzeniu Analytics w tabelach zdarzeń.A/B Testing

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 wariantu eksperymentu (liczony od zera).

Za pomocą tych właściwości użytkownika 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:

  1. Włącz eksport do BigQuery w przypadku Google Analytics w konsoli Firebase
  2. Uzyskaj dostęp do danych za pomocą BigQueryA/B Testing
  3. Przejrzyj przykładowe zapytania.

Włączanie eks0portu do Google Analytics w konsoli FirebaseBigQuery

Jeśli korzystasz z abonamentu Spark, możesz bezpłatnie używać BigQuery piaskownicy aby uzyskać dostęp BigQuery, z zastrzeżeniem limitów piaskownicy. Więcej informacji znajdziesz w sekcjach Cennik i BigQuery piaskownica.

Najpierw upewnij się, że eksportujesz dane Analytics do BigQuery:

  1. W konsoli Firebase otwórz ustawienia Settings > kartę Integrations.

  2. Na karcie BigQuery kliknij Manage (Zarządzaj) i sprawdź, czy Twój projekt eksportuje dane Analytics do BigQuery.

    Jeśli na karcie widnieje napis Link (Połącz), musisz skonfigurować eksport (przejdź do następnego kroku).

  3. Jeśli musisz skonfigurować eksport:

    1. Zapoznaj się z sekcją Łączenie Firebase z BigQuery i kliknij Dalej.

    2. W sekcji Configure integration (Skonfiguruj integrację) włącz Google Analytics.

    3. Wybierz region i ustawienia eksportu.

    4. Kliknij Link do BigQuery.

W zależności od tego, jak skonfigurujesz eksport danych, tabele mogą być dostępne nawet po upływie doby. Więcej informacji o eksportowaniu danych projektu do BigQuery, zobacz Eksportowanie danych projektu do BigQuery.

Uzyskiwanie dostępu do danych A/B Testing w BigQuery

Zanim zaczniesz wysyłać zapytania o dane konkretnego eksperymentu, musisz uzyskać co najmniej niektóre 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 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: jest to 9-cyfrowy Google Analytics identyfikator usługi. Możesz go znaleźć w Google Analytics. Pojawia się też 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, warto ograniczyć je do Google Analytics partycji tabeli zdarzeń które zawierają dane eksperymentu – tabel o nazwie z sufiksem YYYYMMDD. Jeśli na przykład eksperyment trwał od 2 lutego 2024 r. do 2 maja 2024 r., należy określić _TABLE_SUFFIX between '20240202' AND '20240502'. Przykład znajdziesz w sekcji Wybieranie wartości konkretnego eksperymentu.
  • Nazwy zdarzeń: zwykle odpowiadają one celom, które zostały skonfigurowane w eksperymencie. Na przykład zdarzenia in_app_purchase, ad_impression lub user_retention.

Gdy zbierzesz informacje potrzebne do wygenerowania zapytania:

  1. W konsoli Google Cloud otwórz BigQuery.
  2. Wybierz projekt, a potem kliknij Utwórz zapytanie SQL.
  3. Dodaj zapytanie. Przykładowe zapytania znajdziesz w sekcji Przeglądanie przykładowych zapytań.
  4. Kliknij Wykonaj.

Wysyłanie zapytań o dane eksperymentu za pomocą automatycznie wygenerowanego zapytania w konsoli Firebase

Jeśli korzystasz z abonamentu Blaze, na stronie Przegląd eksperymentu znajdziesz przykładowe zapytanie, które zwraca nazwę eksperymentu, warianty, nazwy zdarzeń i liczbę zdarzeń w wyświetlanym eksperymencie.

Aby uzyskać i uruchomić automatycznie wygenerowane zapytanie:

  1. W konsoli Firebase otwórz kolejno DevOps & Engagement > A/B Testing.
  2. Wybierz eksperyment A/B Testing, o którego dane chcesz wysłać zapytanie, aby otworzyć Przegląd eksperymentu.
  3. W menu Opcje w sekcji BigQuery integracja kliknij Zapytanie o dane eksperymentu. Spowoduje to otwarcie projektu w BigQuery w konsoli Google Cloud Google Cloud i wyświetlenie podstawowego zapytania, za pomocą którego możesz wysyłać zapytania o dane eksperymentu.

Poniższy przykład przedstawia wygenerowane zapytanie dotyczące eksperymentu z 3 wariantami (w tym z wariantem podstawowym) o nazwie „Eksperyment powitalny”. Zwraca ono nazwę aktywnego eksperymentu, nazwę wariantu, unikalne zdarzenie i liczbę zdarzeń dla każdego zdarzenia. Pamiętaj, że kreator 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

Dodatkowe przykłady zapytań znajdziesz w sekcji Przeglądanie przykładowych zapytań.

Przeglądanie przykładowych zapytań

W sekcjach poniżej znajdziesz przykłady zapytań, których możesz użyć do wyodrębniania A/B Testing danych eksperymentów z Google Analytics tabel zdarzeń.

Wyodrębnianie wartości odchylenia standardowego zakupu i eksperymentu ze wszystkich eksperymentów

Dane wyników eksperymentu możesz wykorzystać do niezależnego sprawdzenia Firebase A/B Testing wyników. Poniższe BigQuery instrukcje SQL wyodrębniają warianty eksperymentu , liczbę unikalnych użytkowników w każdym wariancie oraz sumę łącznych przychodów ze zdarzeń in_app_purchase i ecommerce_purchase, a także odchylenia standardowe wszystkich 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 do testów t-Studenta jednostronnych, aby sprawdzić, czy wyniki podawane przez Firebase są zgodne z Twoją analizą.

Więcej informacji o tym, jak A/B Testing oblicza wnioskowanie, 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ładowy kod ilustruje, jak uzyskać dane konkretnego eksperymentu w BigQuery. To przykładowe zapytanie zwraca nazwę eksperymentu, nazwy wariantów (w tym wariantu podstawowego), 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