لمحة عن اختبارات A/B من Firebase

لمساعدتك في الاستفادة إلى أقصى حد من نتائج الاختبار ومدى صلتها بموضوع البحث، تقدّم هذه الصفحة معلومات تفصيلية حول آلية عمل "اختبار A/B من Firebase".

حجم العينة

لا يتطلّب استنتاج "اختبار A/B من Firebase" تحديد حدّ أدنى لحجم العينة قبل بدء التجربة. بشكل عام، يجب عليك اختيار أكبر مستوى عرض للتجربة تشعر بالراحة معه. تزيد أحجام العينات الأكبر حجمًا من فرص الحصول على نتيجة ذات دلالة إحصائية، خاصةً عندما تكون الفروق في الأداء بين الصيغ صغيرة. قد تجد أيضًا أنه من المفيد الرجوع إلى حاسبة حجم العينة عبر الإنترنت للعثور على حجم العينة الموصى به بناءً على خصائص تجربتك.

تعديل التجارب

يمكنك تعديل المعلمات المحدّدة للتجارب قيد التنفيذ، بما في ذلك:

  • اسم التجربة
  • الوصف
  • شروط الاستهداف
  • قيم خيارات المنتج

لتعديل تجربة:

  1. افتح صفحة النتائج للتجربة التي تريد تعديلها.
  2. من قائمة المزيد ، انقر على تعديل التجربة قيد التنفيذ.
  3. أدخِل التغييرات المطلوبة، ثم انقر على نشر.

تجدر الإشارة إلى أنّ تغيير سلوك التطبيق أثناء التجربة قيد التنفيذ قد يؤثر في النتائج.

منطق تخصيص صيغة في ميزة "الإعداد عن بُعد"

يتم تخصيص المستخدمين الذين يتطابقون مع جميع شروط استهداف التجربة (بما في ذلك شرط النسبة المئوية للتعرض) لصيغ التجربة وفقًا للقيم التقديرية للصيغ وتجزئة رقم تعريف التجربة ورقم تعريف تثبيت Firebase للمستخدم.

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

  • عند إنشاء شريحة جمهور جديدة، قد يستغرِق تجميع مستخدِمين جدد فترةً تتراوح بين 24 و48 ساعة.
  • يتم عادةً تسجيل المستخدِمين الجدد في شرائح الجمهور المؤهَّلة بعد فترة تتراوح بين 24 و48 ساعة من تأهُّلهم.

للاستهداف الحساس للوقت، ننصحك باستخدام خصائص مستخدمي "إحصاءات Google" أو خيارات الاستهداف المضمّنة، مثل البلد أو المنطقة واللغة وإصدار التطبيق.

بعد أن يدخل المستخدم في تجربة، يتم تخصيصه باستمرار لصيغة التجربة، ويتلقّى قيم المَعلمات من التجربة ما دامت التجربة نشطة، حتى إذا تغيّرت خصائص المستخدمين ولم تعُد تستوفي معايير استهداف التجارب.

أحداث التفعيل

تحد أحداث تفعيل التجربة من قياس التجربة لمستخدمي التطبيق الذين يشغّلون حدث التفعيل. لا يكون لحدث تفعيل التجربة أي تأثير في معلَمات التجربة التي يجلبها التطبيق، فجميع المستخدمين الذين يستوفون معايير استهداف التجربة سيحصلون على معلَمات التجربة. وبالتالي، من المهم اختيار حدث تفعيل يقع بعد استرجاع مَعلمات التجربة وتفعيلها، ولكن قبل استخدام مَعلمات التجربة لتعديل سلوك التطبيق.

ترجيحات الصيغ

أثناء إنشاء التجربة، من الممكن تغيير القيم التقديرية التلقائية للصيغ لتخصيص نسبة أكبر من مستخدمي التجربة في إحدى الصيغ.

تفسير نتائج الاختبار

تستخدم ميزة "اختبار A/B من Firebase" الاستنتاج المتكرر لمساعدتك في فهم احتمالية ظهور نتائج تجربتك نتيجةً لفرصة عشوائية فقط. ويتمثل هذا الاحتمال في قيمة الاحتمال أو القيمة الاحتمالية. تشير القيمة الاحتمالية إلى احتمال حدوث الفرق في الأداء بين صيغتين بسبب احتمال عشوائي، ويتم قياسه بقيمة تتراوح بين 0 و1. يستخدم اختبار A/B مستوى دلالة 0.05 بحيث:

  • إذا كانت القيمة الاحتمالية أقل من 0.05، تشير هذه القيمة إلى اختلاف ذي دلالة إحصائية بين الصيغ، ما يعني أنّه من غير المرجّح أن تحدث عن طريق الصدفة العشوائية.
  • تشير القيمة الاحتمالية الأكبر من 0.05 إلى أن الفرق بين المتغيرات ليس مهمًا من الناحية الإحصائية.

تتم إعادة تحميل بيانات التجربة مرّة واحدة في اليوم، ويظهر وقت التعديل الأخير في أعلى صفحة نتائج التجربة.

يعرض الرسم البياني لنتائج التجربة متوسط القيم التراكمية للمقياس المحدّد. على سبيل المثال، إذا كنت بصدد تتبُّع أرباح الإعلانات من كل مستخدم كمقياس، يتم عرض الأرباح المرصودة من كل مستخدم، وإذا كنت بصدد تتبُّع المستخدمين الذين لم يواجهوا أي أعطال، سيتم تتبُّع نسبة المستخدمين الذين لم تواجههم أي أعطال. هذه البيانات تراكمية من بداية التجربة.

يتم تقسيم النتائج إلى البيانات المرصودة وبيانات الاستنتاج. يتم احتساب البيانات المرصودة مباشرةً من بيانات "إحصاءات Google"، وتوفر بيانات الاستنتاج قيمًا احتمالية وفواصل ثقة لمساعدتك في تقييم الدلالة الإحصائية للبيانات المرصودة.

يتم عرض الإحصاءات التالية لكل مقياس:

البيانات المرصودة

  • القيمة الإجمالية للمقياس الذي يتم تتبّعه (عدد المستخدمين الذين تم الاحتفاظ بهم، وعدد المستخدمين الذين تعطّلوا، وإجمالي الأرباح)
  • المعدّل الخاص بالمقياس (معدّل الحفاظ على المستخدمين ومعدّل الإحالات الناجحة والأرباح من كل مستخدم)
  • الفرق بالنسبة المئوية (الارتفاع) بين السعر المتغير والصيغة المرجعية

بيانات الاستنتاج

  • تعرض 95% CI (الفرق في المتوسطات) فاصلاً يحتوي على القيمة "الصحيحة" للمقياس الذي يتم تتبُّعه بثقة تبلغ% 95. على سبيل المثال، إذا نتج عن تجربتك نسبة 95% CI لإجمالي الأرباح المقدَّرة التي تتراوح بين 5 و10 دولارات أمريكية (أو ما يعادلها بالعملة المحلّية)، هناك احتمال بنسبة 95% أن يتراوح الفرق الحقيقي في المتوسطات بين 5 و10 دولارات أمريكية (أو ما يعادلها بالعملة المحلّية). إذا كان نطاق CI يشمل 0، لم يتم رصد فرق ذي دلالة إحصائية بين الصيغة والخط الأساس.

    وتظهر قيم فاصل الثقة بالتنسيق الذي يتطابق مع المقياس الذي يتم تتبُّعه. على سبيل المثال، الوقت (بعملة HH:MM:SS) للاحتفاظ بالمستخدمين، بالدولار الأمريكي لأرباح الإعلانات من كل مستخدم، والنسبة المئوية لمعدل الإحالات الناجحة.

  • القيمة الاحتمالية التي تمثّل احتمالية عدم وجود فرق حقيقي بين الصيغة والسعر الأساسي. وبعبارة أخرى، أي اختلاف مرصود يكون على الأرجح ناتجًا عن فرصة عشوائية. وكلما انخفضت القيمة الاحتمالية، زادت الثقة في بقاء الأداء الذي تم رصده صحيحًا في المستقبل. تشير القيمة 0.05 أو أقل إلى وجود اختلاف كبير واحتمال منخفض أن تكون النتائج ناتجة عن الصدفة. تستند القيم الاحتمالية إلى اختبار أحادي الطرف، حيث تكون قيمة الصيغة أكبر من قيمة الخط الأساسي. يستخدم Firebase اختبار t-test غير متساوٍ للمتغيرات المستمرة (القيم الرقمية مثل الأرباح) واختبار النسب z لبيانات الإحالات الناجحة (القيم الثنائية، مثل الحفاظ على المستخدمين، والمستخدمين الذين لم يواجهوا أعطالاً، والمستخدمين الذين يشغّلون حدث "إحصاءات Google").

توفِّر نتائج التجربة إحصاءات مهمّة لكل صيغة في التجربة، بما في ذلك:

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

تفسير نتائج التجارب المستنِدة إلى "أدوات تحسين الأداء من Google"

كانت نتائج "اختبار A/B من Firebase" للتجارب التي بدأت قبل 23 تشرين الأول (أكتوبر) 2023 مستنِدة إلى "أدوات تحسين الأداء من Google". استخدمت "أدوات تحسين الأداء من Google" الاستنتاج البايزي لإنشاء إحصاءات مفيدة استنادًا إلى بيانات تجربتك.

يتم تقسيم النتائج إلى "البيانات المرصودة" و "البيانات المستندة إلى نماذج". تم حساب البيانات المرصودة مباشرة من بيانات التحليلات، وتم اشتقاق البيانات المنمذجة من تطبيق نموذج بايز على البيانات المرصودة.

يتم عرض الإحصاءات التالية لكل مقياس:

البيانات المرصودة

  • القيمة الإجمالية (مجموع المقياس لجميع المستخدمين في الصيغة)
  • متوسط القيمة (متوسط قيمة المقياس للمستخدمين في الصيغة)
  • نسبة الاختلاف عن خط الأساس

البيانات المستندة إلى نموذج

  • احتمالية التفوق على المتوقع: مدى احتمال أن يكون المقياس لهذه الصيغة أعلى من المتوقع
  • الفرق بالنسبة المئوية مقارنةً بالقيمة المرجعية: استنادًا إلى متوسط تقديرات الطُرز للمقياس الخاص بخيار المنتج والنموذج المرجعي
  • نطاقات المقاييس: النطاقات التي يزداد احتمال العثور فيها على قيمة المقياس، أي بدقة 50% و95%

بوجهٍ عام، تمنحنا نتائج التجربة ثلاث إحصاءات مهمة لكل صيغة في التجربة:

  1. مقدار الارتفاع أو الانخفاض في كل مقياس من مقاييس التجربة مقارنةً بالمقياس المرجعي، كما يتم قياسه مباشرةً (أي البيانات الفعلية المرصودة)
  2. احتمال أنّ يكون مقياس كل تجربة أعلى من المقياس المرجعي أو الأفضل بشكلٍ عام، استنادًا إلى استنتاج بايز (الاحتمالية أفضل أو الأفضل على التوالي)
  3. النطاقات المعقولة لكل مقياس تجربة على أساس استنتاج بايز -"أفضل حالة" و "أسوأ الحالات" (فترات زمنية موثوقة)

عزم القائد

في التجارب التي تستخدم الاستنتاج المتكرر، تصنّف منصة Firebase أنّ إحدى الصيغ تكون في الصدارة إذا كان هناك فارق كبير إحصائيًا في الأداء بين الصيغة والمرجع في مقياس الهدف. إذا استوفت صيغ متعددة هذه المعايير، يتم اختيار الصيغة التي تحتوي على أدنى قيمة احتمالية.

بالنسبة إلى التجارب التي استخدمت أدوات تحسين الأداء من Google، أفاد Firebase أنّ الصيغة هي "قائد واضح" إذا كان احتمال أن يكون أفضل من الصيغة الأساسية في المقياس الأساسي بنسبة تزيد عن %95. إذا استوفت صيغ متعددة معايير "القائد الواضح"، يتم تصنيف الصيغة الأفضل أداءً فقط بشكل عام على أنها "القائد الواضح".

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

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

يمكنك طرح أي صيغة، وليس فقط صيغة رائدة، وذلك استنادًا إلى تقييمك العام للأداء على مستوى كل من المقاييس الأساسية والثانوية.

مدة التجربة

تنصح منصة Firebase بمواصلة تنفيذ التجربة إلى أن يتم استيفاء الشروط التالية:

  1. جمعت التجربة بيانات كافية لتقديم نتيجة مفيدة. ويتم تحديث التجارب وبيانات النتائج مرة واحدة يوميًا. يمكنك الرجوع إلى حاسبة حجم العينة على الإنترنت لتقييم حجم العينة الموصى به لتجربتك.
  2. تمت التجربة لمدة طويلة بما يكفي لضمان الحصول على عينة تمثيلية من المستخدمين وقياس الأداء على المدى الطويل. ننصحك بأسبوعين كحد أدنى لوقت التشغيل لتجربة "الإعداد عن بُعد" النموذجية

تتم معالجة بيانات التجربة لمدة 90 يومًا كحد أقصى بعد بدء التجربة. وبعد 90 يومًا، تتوقف التجربة تلقائيًا. يتوقف تحديث نتائج التجربة في وحدة تحكُّم Firebase وتتوقّف التجربة عن إرسال قيم المَعلمات الخاصة بالتجربة. عند هذه النقطة، تبدأ البرامج في استرجاع قيم المَعلمات استنادًا إلى الشروط المحدّدة في نموذج "الإعداد عن بُعد". يتم الاحتفاظ ببيانات التجربة السابقة إلى أن تحذف التجربة

مخطط BigQuery

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

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

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

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

  1. تفعيل ميزة تصدير بيانات BigQuery لخدمة "إحصاءات Google" في وحدة تحكُّم Firebase
  2. الوصول إلى بيانات "اختبار A/B" باستخدام BigQuery
  3. الاطّلاع على نماذج طلبات البحث

تفعيل ميزة BigQuery Export لخدمة "إحصاءات Google" في وحدة تحكُّم Firebase

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

أولاً، تأكَّد من تصدير بيانات "إحصاءات Google" إلى BigQuery:

  1. افتح علامة التبويب عمليات الدمج التي يمكنك الوصول إليها باستخدام > إعدادات المشروع في وحدة تحكُّم Firebase.
  2. إذا كنت تستخدم BigQuery مع خدمات Firebase الأخرى من قبل، انقر على إدارة. أو انقر على ربط.
  3. راجِع لمحة عن ربط Firebase بأداة BigQuery، ثمّ انقر على التالي.
  4. في قسم إعداد الدمج، فعِّل مفتاح تبديل إحصاءات Google.
  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": هو رقم تعريف موقعك على "إحصاءات Google" المكوَّن من 9 أرقام. يمكنك العثور عليه في "إحصاءات Google"، ويظهر أيضًا في BigQuery عند توسيع اسم مشروعك لعرض اسم جدول أحداثك في "إحصاءات Google" (project_name.analytics_000000000.events).
  • تاريخ التجربة: لإنشاء طلب بحث أسرع وأكثر فعالية، من الممارسات الجيدة أن تقتصر طلبات البحث على أقسام جدول الأحداث اليومية في "إحصاءات Google" التي تحتوي على بيانات التجارب، وهي الجداول التي يتم تحديدها باللاحقة 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 Console، كما يوفّر استعلامًا أساسيًا يمكنك استخدامه للاستعلام عن بيانات تجربتك.

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

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

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

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

لمزيد من المعلومات عن كيفية احتساب "اختبار أ/ب" للاستنتاج، يُرجى الاطّلاع على المقالة تفسير نتائج الاختبار.

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

الحدود القصوى المسموح بها

يقتصر اختبار A/B على إجمالي 300 تجربة و24 تجربة قيد التنفيذ و24 مسودة تجربة. تتم مشاركة هذه الحدود مع عمليات طرح ميزة "الإعداد عن بُعد". على سبيل المثال، إذا كان لديك عمليّتا طرح قيد التشغيل وثلاث تجارب قيد التنفيذ، يمكنك إجراء ما يصل إلى 19 عملية طرح أو تجربة إضافية.

  • إذا وصلت إلى إجمالي الحد الأقصى لعدد التجارب البالغ 300 أو 24 مسودة تجربة، يجب حذف تجربة حالية قبل إنشاء تجربة جديدة.

  • إذا وصلت إلى 24 اختبارًا قيد التنفيذ والحدّ الأقصى المسموح به لعمليات الطرح، يجب إيقاف أي تجربة أو طرح تجربة قبل بدء تجربة جديدة.

يمكن أن تحتوي التجربة على 8 صيغ بحدٍ أقصى (بما في ذلك الشكل الأساسي) وما يصل إلى 25 معلَمة لكل صيغة. يمكن أن يصل حجم التجربة إلى حوالي 200 كيبيبايت. ويشمل ذلك أسماء الصيغ ومعلَمات الصيغ وغيرها من البيانات الوصفية للإعدادات.