BigQuery-এর মাধ্যমে A/B টেস্টিং ডেটা পরিদর্শন করুন

Firebase কনসোলে A/B Testing এক্সপেরিমেন্টের ডেটা দেখার পাশাপাশি, আপনি BigQuery তেও এক্সপেরিমেন্টের ডেটা পরিদর্শন ও বিশ্লেষণ করতে পারেন। যদিও 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 এর ফলাফল স্বাধীনভাবে যাচাই করার ক্ষমতা দেয়।

শুরু করার জন্য, এই নির্দেশিকায় বর্ণিত অনুযায়ী নিম্নলিখিতগুলি সম্পূর্ণ করুন:

  1. Firebase কনসোলে Google Analytics জন্য BigQuery এক্সপোর্ট সক্রিয় করুন।
  2. BigQuery ব্যবহার করে A/B Testing ডেটা অ্যাক্সেস করুন
  3. উদাহরণ কোয়েরিগুলি অন্বেষণ করুন

Firebase কনসোলে Google Analytics জন্য BigQuery এক্সপোর্ট সক্রিয় করুন।

আপনি যদি Spark প্ল্যানে থাকেন, তাহলে Sandbox-এর সীমাবদ্ধতা সাপেক্ষে কোনো খরচ ছাড়াই BigQuery অ্যাক্সেস করতে BigQuery স্যান্ডবক্স ব্যবহার করতে পারবেন। আরও তথ্যের জন্য মূল্য নির্ধারণ এবং BigQuery স্যান্ডবক্স দেখুন।

প্রথমে, নিশ্চিত করুন যে আপনি আপনার Analytics ডেটা BigQuery তে এক্সপোর্ট করছেন।

  1. ইন্টিগ্রেশন ট্যাবটি খুলুন, যেটি আপনি Firebase কনসোলে > প্রজেক্ট সেটিংস ব্যবহার করে অ্যাক্সেস করতে পারবেন।
  2. আপনি যদি ইতিমধ্যেই অন্যান্য Firebase পরিষেবার সাথে BigQuery ব্যবহার করে থাকেন, তাহলে Manage-এ ক্লিক করুন। অন্যথায়, Link-এ ক্লিক করুন।
  3. Firebase-কে BigQuery এর সাথে লিঙ্ক করার বিষয়ে পর্যালোচনা করুন, তারপর Next-এ ক্লিক করুন।
  4. ইন্টিগ্রেশন কনফিগার করুন বিভাগে, Google Analytics টগলটি সক্রিয় করুন।
  5. একটি অঞ্চল নির্বাচন করুন এবং রপ্তানি সেটিংস বেছে নিন।

  6. 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 মধ্যেই খুঁজে পাবেন; এছাড়াও, BigQuery তে (BigQuery) আপনার প্রোজেক্টের নামটি এক্সপ্যান্ড করলে আপনার Google Analytics ইভেন্ট টেবিলের নামটি ( project_name.analytics_000000000.events ) দেখা যায়।
  • এক্সপেরিমেন্টের তারিখ: একটি দ্রুততর এবং আরও কার্যকর কোয়েরি তৈরি করার জন্য, আপনার কোয়েরিগুলোকে Google Analytics সেই দৈনিক ইভেন্ট টেবিল পার্টিশনগুলোর মধ্যে সীমাবদ্ধ রাখা একটি ভালো অভ্যাস, যেগুলোতে আপনার এক্সপেরিমেন্টের ডেটা থাকে—অর্থাৎ YYYYMMDD সাফিক্স দ্বারা চিহ্নিত টেবিলগুলো। সুতরাং, যদি আপনার এক্সপেরিমেন্টটি ২ ফেব্রুয়ারি, ২০২৪ থেকে ২ মে, ২০২৪ পর্যন্ত চলে, তাহলে আপনাকে _TABLE_SUFFIX between '20240202' AND '20240502' নির্দিষ্ট করতে হবে। একটি উদাহরণের জন্য, একটি নির্দিষ্ট এক্সপেরিমেন্টের ভ্যালু নির্বাচন করুন (Select a specific experiment's values) দেখুন।
  • ইভেন্টের নাম: সাধারণত, এগুলো আপনার এক্সপেরিমেন্টে কনফিগার করা গোল মেট্রিকগুলোর সাথে সঙ্গতিপূর্ণ থাকে। উদাহরণস্বরূপ, in_app_purchase ইভেন্ট, ad_impression , বা user_retention ইভেন্ট।

আপনার কোয়েরি তৈরি করার জন্য প্রয়োজনীয় তথ্য সংগ্রহ করার পর:

  1. Google Cloud কনসোলে BigQuery খুলুন।
  2. আপনার প্রজেক্টটি নির্বাচন করুন, তারপর 'Create SQL query' নির্বাচন করুন।
  3. আপনার কোয়েরি যোগ করুন। চালানোর জন্য উদাহরণ কোয়েরিগুলো দেখতে, ‘উদাহরণ কোয়েরিগুলো অন্বেষণ করুন’ দেখুন।
  4. রান-এ ক্লিক করুন।

ফায়ারবেস কনসোলের স্বয়ংক্রিয়ভাবে তৈরি কোয়েরি ব্যবহার করে এক্সপেরিমেন্টের ডেটা অনুসন্ধান করুন।

আপনি যদি ব্লেজ প্ল্যান ব্যবহার করেন, তাহলে এক্সপেরিমেন্ট ওভারভিউ পেজটি একটি নমুনা কোয়েরি প্রদান করে, যা আপনার দেখা এক্সপেরিমেন্টটির জন্য এক্সপেরিমেন্টের নাম, ভ্যারিয়েন্ট, ইভেন্টের নাম এবং ইভেন্টের সংখ্যা ফেরত দেয়।

স্বয়ংক্রিয়ভাবে তৈরি কোয়েরিটি পেতে এবং চালাতে:

  1. Firebase কনসোল থেকে, A/B Testing খুলুন এবং Experiment overview খোলার জন্য আপনি যে A/B Testing এক্সপেরিমেন্টটি কোয়েরি করতে চান সেটি নির্বাচন করুন।
  2. Options মেনু থেকে, BigQuery integration-এর নিচে, Query experiment data নির্বাচন করুন। এটি Google Cloud কনসোলের মধ্যে BigQuery তে আপনার প্রজেক্টটি খোলে এবং একটি বেসিক কোয়েরি প্রদান করে যা আপনি আপনার এক্সপেরিমেন্ট ডেটা কোয়েরি করতে ব্যবহার করতে পারেন।

নিম্নলিখিত উদাহরণটি "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

আরও কোয়েরি উদাহরণের জন্য, 'উদাহরণ কোয়েরিগুলি অন্বেষণ করুন' অংশে যান।

উদাহরণ কোয়েরিগুলি অন্বেষণ করুন

নিম্নলিখিত বিভাগগুলিতে এমন কিছু কোয়েরির উদাহরণ দেওয়া হয়েছে যা ব্যবহার করে আপনি Google Analytics ইভেন্ট টেবিল থেকে A/B Testing পরীক্ষার ডেটা বের করতে পারবেন।

সমস্ত পরীক্ষা থেকে ক্রয় এবং পরীক্ষার আদর্শ বিচ্যুতি মান বের করুন।

আপনি Firebase A/B Testing ফলাফল স্বাধীনভাবে যাচাই করার জন্য এক্সপেরিমেন্টের ফলাফলের ডেটা ব্যবহার করতে পারেন। নিম্নলিখিত BigQuery SQL স্টেটমেন্টটি _TABLE_SUFFIX শুরু এবং শেষের তারিখ হিসাবে নির্দিষ্ট করা সময়সীমার মধ্যে সমস্ত এক্সপেরিমেন্টের জন্য এক্সপেরিমেন্টের ভ্যারিয়েন্ট, প্রতিটি ভ্যারিয়েন্টের অনন্য ব্যবহারকারীর সংখ্যা, in_app_purchase এবং ecommerce_purchase ইভেন্ট থেকে মোট রাজস্বের যোগফল এবং স্ট্যান্ডার্ড ডেভিয়েশন বের করে। ফায়ারবেস প্রদত্ত ফলাফল আপনার নিজের বিশ্লেষণের সাথে মেলে কিনা তা যাচাই করার জন্য, আপনি এই কোয়েরি থেকে প্রাপ্ত ডেটা একটি স্ট্যাটিস্টিক্যাল সিগনিফিকেন্স জেনারেটরের সাথে ওয়ান-টেইলড টি-টেস্টের জন্য ব্যবহার করতে পারেন।

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