افحص بيانات اختبار A/B باستخدام BigQuery

بالإضافة إلى عرض بيانات تجربة اختبار A/B في وحدة تحكم Firebase، يمكنك فحص بيانات التجربة وتحليلها في BigQuery. على الرغم من أن اختبار A/B لا يحتوي على جدول BigQuery منفصل، إلا أنه يتم تخزين عضويات التجربة والمتغيرات في كل حدث Google Analytics ضمن جداول أحداث Analytics.

خصائص المستخدم التي تحتوي على معلومات التجربة هي بالصيغة userProperty.key like "firebase_exp_%" أو userProperty.key = "firebase_exp_01" حيث يكون 01 هو معرف التجربة، ويحتوي userProperty.value.string_value على الفهرس (المستند إلى الصفر) لـ متغير التجربة.

يمكنك استخدام خصائص مستخدم التجربة هذه لاستخراج بيانات التجربة. يمنحك هذا القدرة على تقسيم نتائج تجربتك بعدة طرق مختلفة والتحقق بشكل مستقل من نتائج اختبار A/B.

للبدء، أكمل ما يلي كما هو موضح في هذا الدليل:

  1. تمكين تصدير BigQuery لبرنامج Google Analytics في وحدة تحكم Firebase
  2. الوصول إلى بيانات اختبار A/B باستخدام BigQuery
  3. استكشاف أمثلة الاستعلامات

تمكين تصدير BigQuery لبرنامج Google Analytics في وحدة تحكم Firebase

إذا كنت مشتركًا في خطة Spark، فيمكنك استخدام وضع الحماية BigQuery للوصول إلى BigQuery دون أي تكلفة، مع مراعاة حدود وضع الحماية . راجع التسعير ووضع الحماية BigQuery لمزيد من المعلومات.

أولاً، تأكد من أنك تقوم بتصدير بيانات Analytics إلى BigQuery:

  1. افتح علامة التبويب عمليات التكامل ، والتي يمكنك الوصول إليها باستخدام > إعدادات المشروع في وحدة تحكم Firebase .
  2. إذا كنت تستخدم BigQuery بالفعل مع خدمات Firebase الأخرى، فانقر على "إدارة" . بخلاف ذلك، انقر فوق "ارتباط" .
  3. قم بمراجعة حول ربط Firebase بـ BigQuery ، ثم انقر فوق "التالي" .
  4. في قسم تكوين التكامل ، قم بتمكين تبديل Google Analytics .
  5. حدد المنطقة واختر إعدادات التصدير.

  6. انقر على الرابط إلى BigQuery .

اعتمادًا على الطريقة التي اخترتها لتصدير البيانات، قد يستغرق الأمر ما يصل إلى يوم حتى تصبح الجداول متاحة. لمزيد من المعلومات حول تصدير بيانات المشروع إلى BigQuery، راجع تصدير بيانات المشروع إلى BigQuery .

الوصول إلى بيانات اختبار A/B في BigQuery

قبل الاستعلام عن بيانات لتجربة معينة، ستحتاج إلى الحصول على بعض أو كل ما يلي لاستخدامه في استعلامك:

  • معرف التجربة: يمكنك الحصول عليه من عنوان URL لصفحة نظرة عامة على التجربة . على سبيل المثال، إذا كان عنوان URL الخاص بك يشبه https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 ، فإن معرف التجربة هو 25 .
  • معرف خاصية Google Analytics : هذا هو معرف خاصية Google Analytics المكون من 9 أرقام. يمكنك العثور على هذا في Google Analytics؛ ويظهر أيضًا في BigQuery عند توسيع اسم مشروعك لإظهار اسم جدول أحداث Google Analytics ( project_name.analytics_000000000.events ).
  • تاريخ التجربة: لإنشاء استعلام أسرع وأكثر كفاءة، من الممارسات الجيدة قصر طلبات البحث على أقسام جدول الأحداث اليومية في Google Analytics التي تحتوي على بيانات تجربتك، وهي الجداول المحددة بلاحقة YYYYMMDD . لذا، إذا تم تنفيذ تجربتك من 2 فبراير 2024 إلى 2 مايو 2024، فيجب عليك تحديد _TABLE_SUFFIX between '20240202' AND '20240502' . على سبيل المثال، راجع تحديد قيم تجربة معينة .
  • أسماء الأحداث: تتوافق عادةً مع مقاييس الهدف التي قمت بتكوينها في التجربة. على سبيل المثال، أحداث in_app_purchase ، أو ad_impression ، أو أحداث user_retention .

بعد جمع المعلومات التي تحتاجها لإنشاء الاستعلام الخاص بك:

  1. افتح BigQuery في وحدة تحكم Google Cloud.
  2. حدد مشروعك، ثم حدد إنشاء استعلام SQL .
  3. أضف استفسارك. للحصول على أمثلة للاستعلامات المطلوب تشغيلها، راجع استكشاف نماذج الاستعلامات .
  4. انقر فوق تشغيل .

الاستعلام عن بيانات التجربة باستخدام الاستعلام الذي تم إنشاؤه تلقائيًا في وحدة تحكم Firebase

إذا كنت تستخدم خطة Blaze، فإن صفحة النظرة العامة على التجربة توفر نموذج استعلام يُرجع اسم التجربة والمتغيرات وأسماء الأحداث وعدد أحداث التجربة التي تعرضها.

للحصول على الاستعلام الذي تم إنشاؤه تلقائيًا وتشغيله:

  1. من وحدة تحكم Firebase، افتح اختبار A/B وحدد تجربة اختبار A/B التي تريد الاستعلام عنها لفتح نظرة عامة على التجربة .
  2. من قائمة الخيارات، أسفل تكامل BigQuery ، حدد الاستعلام عن بيانات التجربة . يؤدي هذا إلى فتح مشروعك في BigQuery داخل وحدة تحكم Google Cloud ويوفر استعلامًا أساسيًا يمكنك استخدامه للاستعلام عن بيانات تجربتك.

يعرض المثال التالي استعلامًا تم إنشاؤه لتجربة تحتوي على ثلاثة متغيرات (بما في ذلك الأساس) تسمى "تجربة الترحيب بالشتاء". تقوم بإرجاع اسم التجربة النشطة واسم المتغير والحدث الفريد وعدد الأحداث لكل حدث. لاحظ أن منشئ الاستعلام لا يحدد اسم مشروعك في اسم الجدول، لأنه يفتح مباشرة داخل مشروعك.

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

للحصول على أمثلة استعلام إضافية، تابع إلى استكشاف نماذج الاستعلامات .

استكشاف أمثلة الاستعلامات

توفر الأقسام التالية أمثلة على طلبات البحث التي يمكنك استخدامها لاستخراج بيانات تجربة اختبار A/B من جداول أحداث Google Analytics.

استخراج قيم الانحراف المعياري للشراء والتجربة من كافة التجارب

يمكنك استخدام بيانات نتائج التجربة للتحقق بشكل مستقل من نتائج اختبار Firebase A/B. تستخرج عبارة BigQuery SQL التالية متغيرات التجربة، وعدد المستخدمين الفريدين في كل متغير، وتجمع إجمالي الإيرادات من أحداث in_app_purchase و ecommerce_purchase ، والانحرافات المعيارية لجميع التجارب ضمن النطاق الزمني المحدد كتاريخي البدء والانتهاء _TABLE_SUFFIX . يمكنك استخدام البيانات التي تحصل عليها من هذا الاستعلام مع منشئ الأهمية الإحصائية لاختبارات t أحادية الطرف للتحقق من أن النتائج التي يقدمها Firebase تتطابق مع التحليل الخاص بك.

لمزيد من المعلومات حول كيفية قيام اختبار A/B بحساب الاستدلال، راجع تفسير نتائج الاختبار .

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

حدد قيم تجربة محددة

يوضح نموذج الاستعلام التالي كيفية الحصول على بيانات لتجربة معينة في BigQuery. يعرض نموذج الاستعلام هذا اسم التجربة، وأسماء المتغيرات (بما في ذلك خط الأساس)، وأسماء الأحداث، وأعداد الأحداث.

  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