Firebase কনসোলে A/B Testing পরীক্ষার ডেটা দেখার পাশাপাশি, আপনি BigQuery তে পরীক্ষার ডেটা পরিদর্শন এবং বিশ্লেষণ করতে পারেন। যদিও A/B Testing আলাদা BigQuery টেবিল নেই, তবুও Experiment এবং Variant সদস্যপদগুলি Analytics ইভেন্ট টেবিলের মধ্যে প্রতিটি Google Analytics ইভেন্টে সংরক্ষণ করা হয়।
যেসব ব্যবহারকারীর বৈশিষ্ট্যে পরীক্ষামূলক তথ্য থাকে, সেগুলো userProperty.key like "firebase_exp_%" অথবা userProperty.key = "firebase_exp_01" যেখানে 01 হল পরীক্ষামূলক আইডি, এবং userProperty.value.string_value পরীক্ষামূলক ভেরিয়েন্টের (শূন্য-ভিত্তিক) সূচক থাকে।
আপনি এই পরীক্ষামূলক ব্যবহারকারীর বৈশিষ্ট্যগুলি ব্যবহার করে পরীক্ষার তথ্য বের করতে পারেন। এটি আপনাকে বিভিন্ন উপায়ে আপনার পরীক্ষার ফলাফলগুলি স্লাইস করার এবং A/B Testing ফলাফলগুলি স্বাধীনভাবে যাচাই করার ক্ষমতা দেয়।
শুরু করতে, এই নির্দেশিকায় বর্ণিত নিম্নলিখিতগুলি সম্পূর্ণ করুন:
- Firebase কনসোলে Google Analytics এর জন্য BigQuery এক্সপোর্ট সক্ষম করুন
- BigQuery ব্যবহার করে A/B Testing ডেটা অ্যাক্সেস করুন
- উদাহরণ কোয়েরিগুলি অন্বেষণ করুন
Firebase কনসোলে Google Analytics এর জন্য BigQuery এক্সপোর্ট সক্ষম করুন
যদি আপনি Spark প্ল্যানে থাকেন, তাহলে আপনি BigQuery স্যান্ডবক্স ব্যবহার করে বিনামূল্যে BigQuery অ্যাক্সেস করতে পারেন, স্যান্ডবক্স সীমা সাপেক্ষে। আরও তথ্যের জন্য মূল্য নির্ধারণ এবং BigQuery স্যান্ডবক্স দেখুন।
প্রথমে, নিশ্চিত করুন যে আপনি আপনার Analytics ডেটা BigQuery তে রপ্তানি করছেন:
- ইন্টিগ্রেশন ট্যাবটি খুলুন, যা আপনি Firebase কনসোলে > প্রজেক্ট সেটিংস ব্যবহার করে অ্যাক্সেস করতে পারবেন।
- যদি আপনি ইতিমধ্যেই অন্যান্য Firebase পরিষেবার সাথে BigQuery ব্যবহার করে থাকেন, তাহলে Manage এ ক্লিক করুন। অন্যথায়, Link এ ক্লিক করুন।
- BigQuery এর সাথে Firebase লিঙ্ক করার বিষয়ে পর্যালোচনা করুন, তারপর Next-এ ক্লিক করুন।
- কনফিগার ইন্টিগ্রেশন বিভাগে, Google Analytics টগল সক্ষম করুন।
একটি অঞ্চল নির্বাচন করুন এবং রপ্তানি সেটিংস নির্বাচন করুন।
BigQuery এর লিঙ্কে ক্লিক করুন।
আপনি কীভাবে ডেটা রপ্তানি করতে চান তার উপর নির্ভর করে, টেবিলগুলি উপলব্ধ হতে এক দিন পর্যন্ত সময় লাগতে পারে। BigQuery তে প্রকল্পের ডেটা রপ্তানি করার বিষয়ে আরও তথ্যের জন্য, BigQuery তে প্রকল্পের ডেটা রপ্তানি করুন দেখুন।
BigQuery তে A/B Testing ডেটা অ্যাক্সেস করুন
কোনও নির্দিষ্ট পরীক্ষার জন্য ডেটা অনুসন্ধান করার আগে, আপনার কোয়েরিতে ব্যবহার করার জন্য আপনাকে নিম্নলিখিতগুলির কিছু বা সমস্ত তথ্য পেতে হবে:
- এক্সপেরিমেন্ট আইডি: আপনি এক্সপেরিমেন্ট ওভারভিউ পৃষ্ঠার URL থেকে এটি পেতে পারেন। উদাহরণস্বরূপ, যদি আপনার URL
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25এর মতো দেখায়, তাহলে এক্সপেরিমেন্ট আইডি হল 25 । - Google Analytics প্রপার্টি আইডি : এটি আপনার ৯-সংখ্যার Google Analytics প্রপার্টি আইডি। আপনি এটি Google Analytics মধ্যে খুঁজে পেতে পারেন; যখন আপনি আপনার প্রোজেক্টের নামটি প্রসারিত করে আপনার Google Analytics ইভেন্ট টেবিলের নাম (
project_name.analytics_000000000.events) দেখান তখন এটি BigQuery তেও প্রদর্শিত হয়। - পরীক্ষার তারিখ: দ্রুত এবং আরও কার্যকর কোয়েরি তৈরি করার জন্য, আপনার কোয়েরিগুলিকে Google Analytics দৈনিক ইভেন্ট টেবিল পার্টিশনের মধ্যে সীমাবদ্ধ রাখা ভালো, যেখানে আপনার পরীক্ষার ডেটা থাকে—একটি
YYYYMMDDসাফিক্স দিয়ে চিহ্নিত টেবিল। সুতরাং, যদি আপনার পরীক্ষাটি ২রা ফেব্রুয়ারী, ২০২৪ থেকে ২রা মে, ২০২৪ পর্যন্ত চলে, তাহলে আপনাকে_TABLE_SUFFIX between '20240202' AND '20240502'নির্দিষ্ট করতে হবে। উদাহরণস্বরূপ, একটি নির্দিষ্ট পরীক্ষার মান নির্বাচন করুন দেখুন। - ইভেন্টের নাম: সাধারণত, এগুলি আপনার পরীক্ষায় কনফিগার করা লক্ষ্য মেট্রিক্সের সাথে মিলে যায়। উদাহরণস্বরূপ,
in_app_purchaseইভেন্ট,ad_impression, অথবাuser_retentionইভেন্ট।
তথ্য সংগ্রহ করার পর আপনার কোয়েরি তৈরি করার জন্য আপনার প্রয়োজনীয় তথ্য:
- Google Cloud কনসোলে BigQuery খুলুন।
- আপনার প্রকল্প নির্বাচন করুন, তারপর SQL কোয়েরি তৈরি করুন নির্বাচন করুন।
- আপনার কোয়েরি যোগ করুন। উদাহরণস্বরূপ কোয়েরি চালানোর জন্য, Explore example queries দেখুন।
- রান ক্লিক করুন।
Firebase কনসোলের স্বয়ংক্রিয়ভাবে তৈরি হওয়া কোয়েরি ব্যবহার করে পরীক্ষামূলক ডেটা কোয়েরি করুন
যদি আপনি Blaze প্ল্যান ব্যবহার করেন, তাহলে Experiment overview পৃষ্ঠাটি একটি নমুনা কোয়েরি প্রদান করে যা Experiment এর নাম, ভেরিয়েন্ট, ইভেন্টের নাম এবং আপনি যে Experiment দেখছেন তার ইভেন্টের সংখ্যা প্রদান করে।
স্বয়ংক্রিয়ভাবে তৈরি হওয়া কোয়েরিটি পেতে এবং চালাতে:
- Firebase কনসোল থেকে, A/B Testing খুলুন এবং Experiment ওভারভিউ খুলতে আপনি যে A/B Testing পরীক্ষাটি জিজ্ঞাসা করতে চান তা নির্বাচন করুন।
- বিকল্প মেনু থেকে, BigQuery ইন্টিগ্রেশনের নীচে, Query experiment data নির্বাচন করুন। এটি Google Cloud console কনসোলের মধ্যে BigQuery তে আপনার প্রকল্পটি খুলবে এবং একটি মৌলিক প্রশ্ন প্রদান করবে যা আপনি আপনার পরীক্ষার ডেটা অনুসন্ধান করতে ব্যবহার করতে পারেন।
নিম্নলিখিত উদাহরণে "শীতকালীন স্বাগত পরীক্ষা" নামক তিনটি ভেরিয়েন্ট (বেসলাইন সহ) সহ একটি পরীক্ষার জন্য একটি জেনারেট করা কোয়েরি দেখানো হয়েছে। এটি প্রতিটি ইভেন্টের জন্য সক্রিয় পরীক্ষার নাম, ভেরিয়েন্টের নাম, অনন্য ইভেন্ট এবং ইভেন্টের সংখ্যা প্রদান করে। মনে রাখবেন যে কোয়েরি নির্মাতা আপনার প্রকল্পের নাম টেবিলের নামে নির্দিষ্ট করে না, কারণ এটি সরাসরি আপনার প্রকল্পের মধ্যেই খোলে।
/*
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
অতিরিক্ত কোয়েরি উদাহরণের জন্য, Explore example queries এ যান।
উদাহরণ কোয়েরিগুলি অন্বেষণ করুন
নিম্নলিখিত বিভাগগুলিতে Google Analytics ইভেন্ট টেবিল থেকে A/B Testing পরীক্ষার ডেটা বের করার জন্য আপনি যে কোয়েরিগুলি ব্যবহার করতে পারেন তার উদাহরণ দেওয়া হয়েছে।
সকল পরীক্ষা-নিরীক্ষা থেকে ক্রয় এবং পরীক্ষামূলক মান বিচ্যুতির মান বের করুন
Firebase A/B Testing ফলাফল স্বাধীনভাবে যাচাই করার জন্য আপনি পরীক্ষার ফলাফলের ডেটা ব্যবহার করতে পারেন। নিম্নলিখিত BigQuery SQL স্টেটমেন্টটি পরীক্ষার ভেরিয়েন্ট, প্রতিটি ভেরিয়েন্টে অনন্য ব্যবহারকারীর সংখ্যা এবং in_app_purchase এবং ecommerce_purchase ইভেন্ট থেকে মোট আয় এবং _TABLE_SUFFIX শুরু এবং শেষ তারিখ হিসাবে নির্দিষ্ট সময়সীমার মধ্যে সমস্ত পরীক্ষার জন্য স্ট্যান্ডার্ড ডেভিয়েশনের যোগফল বের করে। 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