A/B Testing deneme verilerini Firebase konsolunda görüntülemenin yanı sıra BigQuery'de de inceleyip analiz edebilirsiniz. A/B Testing için ayrı bir BigQuery tablosu olmasa da deneysel çalışma 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. Burada 01
, deneme kimliğini, userProperty.value.string_value
ise deneme varyantının (sıfır tabanlı) dizinini içerir.
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 rehberde açıklandığı şekilde aşağıdakileri tamamlayın:
- Firebase konsolunda Google Analytics için BigQuery dışa aktarmayı etkinleştirme
- BigQuery kullanarak A/B Testing verilerine erişme
- Örnek sorguları inceleyin
Firebase konsolunda BigQuery için Google Analytics dışa aktarmayı etkinleştirme
Spark planındaysanız BigQuery korumalı alanını kullanarak BigQuery'a korumalı alan sınırları dahilinde ücretsiz olarak erişebilirsiniz. Daha fazla bilgi için Fiyatlandırma ve BigQuery sandbox başlıklı makaleyi inceleyin.
Öncelikle Analytics verilerinizi BigQuery konumuna aktardığınızdan emin olun:
- Entegrasyonlar sekmesini açın. Bu sekmeye Firebase konsolunda > Proje ayarları'nı kullanarak erişebilirsiniz.
- BigQuery'yı diğer Firebase hizmetleriyle birlikte kullanıyorsanız Yönet'i tıklayın. Aksi takdirde, Bağla'yı tıklayın.
- Firebase'i BigQuery'e Bağlama Hakkında başlıklı makaleyi inceleyin, ardından Sonraki'yi tıklayın.
- Entegrasyonu yapılandırın bölümünde Google Analytics açma/kapatma düğmesini etkinleştirin.
Bir bölge seçin ve dışa aktarma ayarlarını belirleyin.
BigQuery ile bağla'yı tıklayın.
Verileri nasıl dışa aktarmayı seçtiğinize bağlı olarak tabloların kullanılabilir hâle gelmesi bir gün kadar sürebilir. Proje verilerini BigQuery dışa aktarma hakkında daha fazla bilgi için Proje verilerini BigQuery dışa aktarma başlıklı makaleyi inceleyin.
BigQuery'de A/B Testing verilerine erişme
Belirli bir denemeyle ilgili verileri sorgulamadan önce, sorgunuzda kullanmak üzere aşağıdakilerden bazılarını veya tümünü edinmeniz gerekir:
- Deneme kimliği: Bu kimliği, Denemeye genel bakış sayfasının URL'sinden edinebilirsiniz. Örneğin, URL'niz şu şekilde görünüyorsa:
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25
, deneme kimliği 25'tir. - Google Analytics mülk kimliği: Bu, 9 haneli Google Analytics mülk kimliğinizdir. Bu bilgiyi Google Analytics içinde bulabilirsiniz. Ayrıca, Google Analytics etkinlik tablonuzun (
project_name.analytics_000000000.events
) adını göstermek için proje adınızı genişlettiğinizde BigQuery içinde de görünür. - 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
sonekiyle tanımlanan tablolar) sınırlamanız iyi bir uygulamadır. Bu nedenle, denemeniz 2 Şubat 2024 ile 2 Mayıs 2024 arasında yayınlandıysa_TABLE_SUFFIX between '20240202' AND '20240502'
belirtirsiniz. Örnek için Belirli bir denemenin değerlerini seçme başlıklı makaleye bakın. - Etkinlik adları: Bunlar genellikle denemede yapılandırdığınız hedef metriklerinizle eşleşir. Örneğin,
in_app_purchase
etkinlikleri,ad_impression
veyauser_retention
etkinlikleri.
Sorgunuzu oluşturmak için gereken bilgileri topladıktan sonra:
- Google Cloud konsolunda BigQuery'ı açın.
- Projenizi ve ardından SQL sorgusu oluştur'u seçin.
- Sorgunuzu ekleyin. Çalıştırılacak örnek sorgular için Örnek sorguları keşfetme bölümüne bakın.
- Çalıştır'ı tıklayın.
Firebase konsolunun otomatik olarak oluşturduğu sorguyu kullanarak deneme verilerini sorgulama
Blaze planını kullanıyorsanız Denemeye 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 örnek bir sorgu yer alır.
Otomatik olarak oluşturulan sorguyu almak ve çalıştırmak için:
- Firebase konsolunda A/B Testing simgesini açın ve sorgulamak istediğiniz A/B Testing denemesini seçerek Denemeye genel bakış'ı açın.
- Seçenekler menüsünde, BigQuery entegrasyonu bölümünde Deneme verilerini sorgula'yı seçin. Bu işlem, projenizi BigQuery içinde açar ve deneme verilerinizi sorgulamak için kullanabileceğiniz temel bir sorgu sağlar.Google Cloud
Aşağıdaki örnekte, "Kışa hoş geldin denemesi" adlı üç varyantlı (referans değeri dahil) bir deneme için oluşturulan 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şturucunun, doğrudan projenizde açıldığından tablo adında proje adınızı belirtmediğini unutmayın.
/*
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
Ek sorgu örnekleri için Örnek sorguları inceleme bölümüne gidin.
Keşfetme özelliğiyle ilgili örnek sorgular
Aşağıdaki bölümlerde, A/B Testing deneme verilerini Google Analytics etkinlik tablolarından ayıklamak için kullanabileceğiniz sorgularla ilgili örnekler verilmiştir.
Tüm denemelerden satın alma ve deneme standart sapma değerlerini ayıklayın.
Deneme sonuçları verilerini kullanarak Firebase A/B Testing sonuçlarını bağımsız olarak doğrulayabilirsiniz. Aşağıdaki BigQuery SQL ifadesi
deneme varyantlarını, her varyanttaki tekil kullanıcı sayısını ve in_app_purchase
ile ecommerce_purchase
etkinliklerinden elde edilen toplam geliri, _TABLE_SUFFIX
başlangıç ve bitiş tarihleri olarak belirtilen zaman aralığındaki tüm denemeler için standart sapmaları çıkarır. Firebase'in 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 önemlilik üreteciyle birlikte kullanabilirsiniz.
A/B Testing'nın çıkarımı nasıl hesapladığı 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 sorgu, BigQuery içindeki belirli bir denemeyle ilgili verilerin nasıl alınacağını gösterir. Bu örnek sorgu, deneme adını, varyant adlarını (temel varyant 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