בדוק נתוני בדיקת 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 Testing באמצעות BigQuery
  3. חקור שאילתות לדוגמה

אפשר ייצוא BigQuery עבור Google Analytics במסוף Firebase

אם אתה בתוכנית Spark, אתה יכול להשתמש בארגז החול של BigQuery כדי לגשת ל-BigQuery ללא עלות, בכפוף למגבלות Sandbox . למידע נוסף, עיין בתמחור ובארגז החול של BigQuery .

ראשית, ודא שאתה מייצא את נתוני Analytics שלך ל-BigQuery:

  1. פתח את הכרטיסייה אינטגרציות , אליה תוכל לגשת באמצעות > הגדרות פרויקט במסוף Firebase .
  2. אם אתה כבר משתמש ב-BigQuery עם שירותי Firebase אחרים, לחץ על נהל . אחרת, לחץ על קישור .
  3. סקור אודות קישור Firebase ל-BigQuery ולאחר מכן לחץ על הבא .
  4. בקטע הגדר אינטגרציה , הפעל את החלפת מצב של Google Analytics .
  5. בחר אזור ובחר הגדרות ייצוא.

  6. לחץ על קישור ל-BigQuery .

בהתאם לאופן שבו בחרת לייצא נתונים, עשוי לחלוף עד יום עד שהטבלאות יהיו זמינות. למידע נוסף על ייצוא נתוני פרויקט ל-BigQuery, ראה ייצוא נתוני פרויקט ל-BigQuery .

גישה לנתוני A/B Testing ב-BigQuery

לפני שתבצע שאילתה לנתונים עבור ניסוי ספציפי, תרצה להשיג חלק מהדברים הבאים או את כולם לשימוש בשאילתה שלך:

  • מזהה ניסוי: אתה יכול להשיג זאת מכתובת האתר של דף סקירת הניסוי . לדוגמה, אם כתובת האתר שלך נראית כמו https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 , מזהה הניסוי הוא 25 .
  • מזהה נכס Google Analytics : זהו מזהה הנכס בן 9 הספרות שלך ב-Google Analytics. אתה יכול למצוא את זה בתוך 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.

חלץ ערכי סטיית תקן של רכישה וניסוי מכל הניסויים

אתה יכול להשתמש בנתוני תוצאות הניסוי כדי לאמת באופן עצמאי את תוצאות בדיקות A/B של Firebase. הצהרת 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. שאילתה לדוגמה זו מחזירה את שם הניסוי, שמות וריאנטים (כולל Baseline), שמות אירועים וספירת אירועים.

  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