BigQuery ile A/B Testi verilerini inceleme

A/B Testing deneme verilerini Firebase konsolunda görüntülemenin yanı sıra BigQuery'de deneme verilerini inceleyebilir ve analiz edebilirsiniz. A/B Testing'nin ayrı bir BigQuery tablosu olmasa da deneme ve varyant üyelikleri, Analytics etkinlik tablolarındaki her Google Analytics etkinliğinde depolanır.

Deneme bilgilerini içeren kullanıcı özellikleri userProperty.key like "firebase_exp_%" veya userProperty.key = "firebase_exp_01" biçimindedir. Bu biçimlerde 01 deneme kimliği, userProperty.value.string_value ise deneme varyantının (sıfır tabanlı) dizinidir.

Deneme verilerini ayıklamak için bu deneme kullanıcı özelliklerini kullanabilirsiniz. Bu sayede deneme sonuçlarınızı birçok farklı şekilde dilimleyebilir ve A/B Testing sonuçlarını bağımsız olarak doğrulayabilirsiniz.

Başlamak için bu kılavuzda açıklandığı şekilde aşağıdakileri tamamlayın:

  1. Firebase konsolunda Google Analytics için BigQuery dışa aktarma özelliğini etkinleştirin.
  2. BigQuery kullanarak A/B Testing verilerine erişme
  3. Örnek sorguları keşfetme

Firebase konsolunda Google Analytics için BigQuery dışa aktarma özelliğini etkinleştirme

Spark planını kullanıyorsanız korumalı alan sınırlamalarına tabi olmak kaydıyla BigQuery'a ücretsiz olarak erişmek için BigQuery korumalı alanını kullanabilirsiniz. Daha fazla bilgi için Fiyatlandırma ve BigQuery korumalı alanı başlıklı makaleyi inceleyin.

Öncelikle, Analytics verilerinizi BigQuery'a aktardığınızdan emin olun:

  1. Firebase konsolunda > Proje ayarları'nı kullanarak erişebileceğiniz Entegrasyonlar sekmesini açın.
  2. BigQuery'ü diğer Firebase hizmetleriyle zaten kullanıyorsanız Yönet'i tıklayın. Aksi takdirde Bağla'yı tıklayın.
  3. Firebase'i BigQuery'e Bağlama Hakkında bölümünü inceleyin, ardından Sonraki'yi tıklayın.
  4. Entegrasyonu yapılandır bölümünde Google Analytics açma/kapatma düğmesini etkinleştirin.
  5. Bir bölge seçin ve dışa aktarma ayarlarını belirleyin.

  6. BigQuery'ye bağla'yı tıklayın.

Verileri dışa aktarma şeklinize bağlı olarak tabloların kullanılabilir hale gelmesi bir gün kadar sürebilir. Proje verilerini BigQuery alanına dışa aktarma hakkında daha fazla bilgi için Proje verilerini BigQuery alanına aktarma başlıklı makaleyi inceleyin.

BigQuery'da A/B Testing verilerine erişme

Belirli bir denemeyle ilgili verileri sorgulamadan önce, sorgunuzda kullanmak için aşağıdakilerden bazılarını veya tümünü elde etmeniz gerekir:

  • Deneme kimliği: Bu kimliği, Deneme genel bakış sayfasının URL'sinden edinebilirsiniz. Örneğin, URL'niz https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 gibi görünüyorsa deneme kimliği 25'tir.
  • Google Analytics mülk kimliği: 9 haneli Google Analytics mülk kimliğinizdir. Bu adı Google Analytics içinde bulabilirsiniz. Ayrıca, proje adınızı genişleterek Google Analytics etkinlik tablonuzun (project_name.analytics_000000000.events) adını göstermek için BigQuery'te de görebilirsiniz.
  • Deneme tarihi: Daha hızlı ve daha verimli bir sorgu oluşturmak için sorgularınızı, deneme verilerinizi içeren Google Analytics günlük etkinlik tablosu bölümleriyle (YYYYMMDD son ekiyle tanımlanan tablolar) sınırlandırmanız önerilir. Dolayısıyla, denemeniz 2 Şubat 2024 ile 2 Mayıs 2024 arasında çalıştıysa _TABLE_SUFFIX between '20240202' AND '20240502' belirtirsiniz. Örnek için Belirli bir denemenin değerlerini seçme bölümüne bakın.
  • Etkinlik adları: Bunlar genellikle denemede yapılandırdığınız hedef metriklerinize karşılık gelir. Örneğin, in_app_purchase etkinlikler, ad_impression veya user_retention etkinlikler.
başlıklı makaleyi inceleyin.

Sorgunuzu oluşturmak için gereken bilgileri topladıktan sonra:

  1. Google Cloud konsolunda BigQuery'u açın.
  2. Projenizi seçin, ardından SQL sorgusu oluştur'u seçin.
  3. Sorgunuzu ekleyin. Çalıştırılabilecek örnek sorgular için Örnek sorguları keşfetme bölümüne bakın.
  4. Çalıştır'ı tıklayın.

Firebase konsolunun otomatik olarak oluşturulan sorgusunu kullanarak deneme verilerini sorgulayın

Blaze planını kullanıyorsanız Denemelere genel bakış sayfasında, görüntülediğiniz denemenin adını, varyantlarını, etkinlik adlarını ve etkinlik sayısını döndüren bir örnek sorgu sağlanır.

Otomatik olarak oluşturulan sorguyu almak ve çalıştırmak için:

  1. Firebase konsolunda A/B Testing'i açın ve sorgulamak istediğiniz A/B Testing denemesini seçerek Deneme özetine gidin.
  2. Seçenekler menüsünde, BigQuery entegrasyonu altında Deneme verilerini sorgulayın'ı seçin. Bu işlem, projenizi Google Cloud konsolunda BigQueryaçar ve deneme verilerinizi sorgulamak için kullanabileceğiniz temel bir sorgu sağlar.

Aşağıdaki örnekte, "Kış karşılama denemesi" adlı üç varyantı (referans değer dahil) olan bir deneme için oluşturulan bir sorgu gösterilmektedir. Etkin deneme adını, varyant adını, benzersiz etkinliği ve her etkinlik için etkinlik sayısını döndürür. Sorgu oluşturucu doğrudan projenizde açıldığı için tablo adında proje adınızı belirtmez.

  /*
    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

Başka sorgu örnekleri için Örnek sorguları keşfetme bölümüne gidin.

Keşfedin örneği sorguları

Aşağıdaki bölümlerde, Google Analytics etkinlik tablolarından A/B Testing deneme verilerini ayıklamak için kullanabileceğiniz sorgu örnekleri verilmiştir.

Tüm denemelerden satın alma ve deneme standart sapma değerlerini ayıklayın

Firebase A/B Testing sonuçlarını bağımsız olarak doğrulamak için deneme sonuçları verilerini kullanabilirsiniz. Aşağıdaki BigQuery SQL ifadesi, deneme varyantlarını ve her varyanttaki tekil kullanıcı sayısını ayıklayıp _TABLE_SUFFIX başlangıç ve bitiş tarihleri olarak belirtilen zaman aralığındaki tüm denemeler için in_app_purchase ve ecommerce_purchase etkinliklerinden elde edilen toplam geliri ve standart sapmaları toplar. Firebase'ın sağladığı sonuçların kendi analizinizle eşleştiğini doğrulamak için bu sorgudan elde ettiğiniz verileri tek kuyruklu t-testleri için istatistiksel anlamlılık oluşturucuyla kullanabilirsiniz.

A/B Testing'ün çıkarım hesaplama şekli hakkında daha fazla bilgi için Test sonuçlarını yorumlama başlıklı makaleyi inceleyin.

  /*
    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;

Belirli bir denemenin değerlerini seçme

Aşağıdaki örnek sorguda, BigQuery'teki belirli bir denemeyle ilgili verilerin nasıl elde edileceği gösterilmektedir. Bu örnek sorgu, deneme adını, varyant adlarını (Referans dahil), etkinlik adlarını ve etkinlik sayılarını döndürür.

  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