בנוסף לצפייה בנתוני הניסוי במסוף A/B Testing, אפשר לבדוק ולנתח את נתוני הניסוי ב-BigQuery.Firebase למרות של-A/B Testing אין טבלה נפרדת של BigQuery, חברות בניסויים ובגרסאות מאוחסנת בכל אירוע Google Analytics בטבלאות האירועים Analytics.
מאפייני המשתמש שמכילים מידע על הניסוי הם מהצורה
userProperty.key like "firebase_exp_%"
או userProperty.key =
"firebase_exp_01"
, כאשר 01
הוא מזהה הניסוי וuserProperty.value.string_value
מכיל את האינדקס (מבוסס-אפס) של וריאנט הניסוי.
אתם יכולים להשתמש במאפייני המשתמשים של הניסוי כדי לחלץ נתונים מהניסוי. כך תוכלו לפלח את תוצאות הניסוי בדרכים רבות ולבדוק באופן עצמאי את התוצאות של A/B Testing.
כדי להתחיל, צריך לבצע את הפעולות הבאות כמו שמתואר במדריך הזה:
- הפעלת ייצוא של BigQuery ל-Google Analytics במסוף Firebase
- גישה לנתונים של A/B Testing באמצעות BigQuery
- דוגמאות לשאילתות
הפעלת ייצוא של BigQuery אל Google Analytics במסוף Firebase
אם אתם רשומים לתוכנית Spark, אתם יכולים להשתמש בBigQueryארגז החול כדי לגשת אל BigQuery ללא עלות, בכפוף למגבלות ארגז החול. מידע נוסף זמין במאמר בנושא תמחור וBigQueryארגז חול.
קודם כול, מוודאים שמייצאים את הנתונים של Analytics אל BigQuery:
- פותחים את הכרטיסייה Integrations (שילובים), שאליה אפשר לגשת באמצעות > Project settings (הגדרות הפרויקט) במסוף Firebase.
- אם אתם כבר משתמשים ב-BigQuery עם שירותים אחרים של Firebase, לוחצים על Manage (ניהול). אחרת, לוחצים על קישור.
- בודקים את המידע במאמר מידע על קישור Firebase אל BigQuery ואז לוחצים על הבא.
- בקטע Configure integration (הגדרת שילוב), מעבירים את המתג Google Analytics למצב מופעל.
בוחרים אזור ומגדירים את הגדרות הייצוא.
לוחצים על קישור אל BigQuery.
בהתאם לאופן שבו בחרתם לייצא את הנתונים, יכול להיות שיעבור עד יום עד שהטבלאות יהיו זמינות. למידע נוסף על ייצוא נתוני פרויקט אל BigQuery, אפשר לעיין במאמר ייצוא נתוני פרויקט אל BigQuery.
גישה לנתוני A/B Testing ב-BigQuery
לפני שמריצים שאילתה כדי לקבל נתונים של ניסוי ספציפי, כדאי להשיג חלק מהנתונים הבאים או את כולם כדי להשתמש בהם בשאילתה:
- מזהה הניסוי: אפשר להשיג אותו מכתובת ה-URL של הדף סקירה כללית של הניסוי. לדוגמה, אם כתובת ה-URL שלכם נראית כך:
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
). - תאריך הניסוי: כדי ליצור שאילתה מהירה ויעילה יותר, מומלץ להגביל את השאילתות למחיצות של טבלאות אירועים יומיות שמכילות את נתוני הניסוי – טבלאות שמזוהות באמצעות הסיומת
YYYYMMDD
.Google Analytics לכן, אם הניסוי שלכם פעל מ-2 בפברואר 2024 עד 2 במאי 2024, תציינו_TABLE_SUFFIX between '20240202' AND '20240502'
. לדוגמה, אפשר לעיין במאמר בנושא בחירת ערכים של ניסוי ספציפי. - שמות האירועים: בדרך כלל, השמות האלה תואמים למדדי היעד שהגדרתם בניסוי. לדוגמה,
in_app_purchase
אירועים,ad_impression
אוuser_retention
אירועים.
אחרי שאוספים את המידע שדרוש ליצירת השאילתה:
- פותחים את BigQuery במסוף Google Cloud.
- בוחרים את הפרויקט ואז בוחרים באפשרות יצירת שאילתת SQL.
- מוסיפים את השאילתה. דוגמאות לשאילתות שאפשר להריץ זמינות במאמר דוגמאות לשאילתות.
- לוחצים על Run.
הפעלת שאילתות על נתוני ניסוי באמצעות שאילתה שנוצרה אוטומטית במסוף Firebase
אם אתם משתמשים בתוכנית Blaze, בדף Experiment overview מוצגת שאילתה לדוגמה שמחזירה את שם הניסוי, הווריאציות, שמות האירועים ומספר האירועים של הניסוי שאתם צופים בו.
כדי לקבל ולהריץ את השאילתה שנוצרה אוטומטית:
- במסוף Firebase, פותחים את A/B Testing ובוחרים את ניסוי A/B Testing שרוצים לשלוח לו שאילתה כדי לפתוח את הסקירה הכללית של הניסוי.
- בתפריט 'אפשרויות', מתחת לאפשרות שילוב של BigQuery, בוחרים באפשרות שאילתת נתוני ניסוי. הפרויקט ייפתח ב-BigQuery במסוף Google Cloud, ותוצג שאילתה בסיסית שאפשר להשתמש בה כדי ליצור שאילתה של נתוני הניסוי.
בדוגמה הבאה מוצגת שאילתה שנוצרה לניסוי עם שלושה וריאנטים (כולל קו הבסיס) בשם Winter welcome experiment (ניסוי החורף). הפונקציה מחזירה את שם הניסוי הפעיל, שם הווריאציה, אירוע ייחודי וספירת האירועים לכל אירוע. שימו לב: בבונה השאילתות לא מצוין שם הפרויקט בשם הטבלה, כי הוא נפתח ישירות בתוך הפרויקט.
/*
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 Testing נתוני ניסויים מטבלאות של אירועים ב-Google Analytics.
חילוץ ערכי סטיית תקן של רכישות וניסויים מכל הניסויים
אתם יכולים להשתמש בנתוני התוצאות של הניסוי כדי לאמת באופן עצמאי את התוצאות של Firebase A/B Testing. ההוראה הבאה של BigQuery SQL
מחילה חילוץ של וריאציות של ניסויים, מספר המשתמשים הייחודיים בכל וריאציה וסכום ההכנסה הכוללת מאירועים מסוג in_app_purchase
ו-ecommerce_purchase
, וכן סטיות תקן לכל הניסויים בטווח הזמן שצוין כתאריכי ההתחלה והסיום של _TABLE_SUFFIX
. אתם יכולים להשתמש בנתונים שמתקבלים מהשאילתה הזו עם מחולל מובהקות סטטיסטית למבחני t חד-זנביים, כדי לוודא שהתוצאות ש-Firebase מספקת תואמות לניתוח שלכם.
מידע נוסף על אופן החישוב של ההסקה ב-A/B Testing זמין במאמר פירוש תוצאות הבדיקה.
/*
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