A/B পরীক্ষার সাথে ফায়ারবেস রিমোট কনফিগার পরীক্ষা তৈরি করুন

যখন আপনি সক্রিয় ব্যবহারকারী আছে এমন কোনো অ্যাপ্লিকেশনের জন্য সেটিংস ডেপ্লয় করতে Firebase Remote Config ব্যবহার করেন, তখন আপনাকে নিশ্চিত করতে হবে যে কাজটি সঠিকভাবে হচ্ছে। নিম্নলিখিত বিষয়গুলো সবচেয়ে ভালোভাবে নির্ধারণ করার জন্য আপনি A/B Testing এক্সপেরিমেন্ট ব্যবহার করতে পারেন:

  • ব্যবহারকারীর অভিজ্ঞতা উন্নত করার জন্য কোনো ফিচার প্রয়োগ করার সেরা উপায় হলো এ/বি টেস্টিং। প্রায়শই, অ্যাপ ডেভেলপাররা ততক্ষণ পর্যন্ত জানতে পারেন না যে তাদের ব্যবহারকারীরা কোনো নতুন ফিচার বা আপডেট করা ইউজার এক্সপেরিয়েন্স পছন্দ করছেন না, যতক্ষণ না অ্যাপ স্টোরে তাদের অ্যাপের রেটিং কমে যায়। এ/বি টেস্টিং পরিমাপ করতে সাহায্য করে যে আপনার ব্যবহারকারীরা ফিচারের নতুন সংস্করণগুলো পছন্দ করছেন, নাকি তারা অ্যাপটির বর্তমান রূপটিই বেশি পছন্দ করেন। এছাড়াও, আপনার বেশিরভাগ ব্যবহারকারীকে একটি বেসলাইন গ্রুপে রাখলে এটি নিশ্চিত হয় যে, পরীক্ষাটি শেষ না হওয়া পর্যন্ত আপনার ব্যবহারকারী গোষ্ঠীর বেশিরভাগই অ্যাপটির আচরণ বা চেহারায় কোনো পরিবর্তন ছাড়াই এটি ব্যবহার করা চালিয়ে যেতে পারবেন।
  • ব্যবসায়িক লক্ষ্যের জন্য ব্যবহারকারীর অভিজ্ঞতাকে অপ্টিমাইজ করার সেরা উপায় হলো এ/বি টেস্টিং। কখনও কখনও আপনি রাজস্ব বা রিটেনশনের মতো কোনো মেট্রিককে সর্বোচ্চ করার জন্য পণ্যে পরিবর্তন আনেন। এ/বি টেস্টিং-এর মাধ্যমে, আপনি আপনার ব্যবসায়িক উদ্দেশ্য নির্ধারণ করেন এবং ফায়ারবেস পরিসংখ্যানগত বিশ্লেষণ করে নির্ধারণ করে যে, কোনো একটি ভ্যারিয়েন্ট আপনার নির্বাচিত উদ্দেশ্যের জন্য বেসলাইনের চেয়ে ভালো পারফর্ম করছে কি না।

একটি বেসলাইনের সাথে ফিচার ভ্যারিয়েন্টগুলোর A/B টেস্ট করতে, নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:

  1. আপনার পরীক্ষাটি তৈরি করুন।
  2. একটি পরীক্ষামূলক ডিভাইসে আপনার পরীক্ষাটি যাচাই করুন।
  3. আপনার পরীক্ষাটি পরিচালনা করুন।

একটি পরীক্ষা তৈরি করুন

একটি Remote Config এক্সপেরিমেন্ট আপনাকে এক বা একাধিক Remote Config প্যারামিটারের একাধিক ভ্যারিয়েন্ট মূল্যায়ন করার সুযোগ দেয়।

  1. Firebase কনসোলে সাইন ইন করুন এবং যাচাই করুন যে আপনার প্রোজেক্টে Google Analytics সক্রিয় করা আছে, যাতে এক্সপেরিমেন্টটি Analytics ডেটা অ্যাক্সেস করতে পারে।

    প্রজেক্ট তৈরি করার সময় আপনি যদি Google Analytics চালু না করে থাকেন, তাহলে Firebase কনসোলের > সেটিংস (settings > Settings) ট্যাব থেকে এটি চালু করতে পারেন।

  2. Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement সেকশনে, A/B Testing ক্লিক করুন।

  3. Create experiment-এ ক্লিক করুন, এবং তারপরে আপনি যে পরিষেবাটি নিয়ে পরীক্ষা করতে চান তার জন্য অনুরোধ করা হলে Remote Config নির্বাচন করুন।

  4. আপনার পরীক্ষার জন্য একটি নাম এবং ঐচ্ছিক বিবরণ লিখুন, এবং পরবর্তী বোতামে ক্লিক করুন।

  5. টার্গেটিং ফিল্ডগুলি পূরণ করুন, প্রথমে সেই অ্যাপটি বেছে নিন যেটি আপনার এক্সপেরিমেন্ট ব্যবহার করে। এছাড়াও, আপনি ক্লিক করে এবং এর মাধ্যমে আপনার ব্যবহারকারীদের একটি উপসেটকে আপনার এক্সপেরিমেন্টে অংশগ্রহণের জন্য টার্গেট করতে পারেন, এবং তারপর নিচের তালিকা থেকে অপশনগুলি বেছে নিতে পারেন:

    • সংস্করণ: আপনার অ্যাপের এক বা একাধিক সংস্করণ
    • বিল্ড নম্বর: অ্যাপটির ভার্সন কোড
    • ভাষা: পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করার জন্য ব্যবহৃত এক বা একাধিক ভাষা এবং লোকেল।
    • দেশ/অঞ্চল: পরীক্ষায় অন্তর্ভুক্ত করার জন্য ব্যবহারকারী নির্বাচনের উদ্দেশ্যে এক বা একাধিক দেশ বা অঞ্চল।
    • ব্যবহারকারী অডিয়েন্স: Analytics অডিয়েন্স, যা এমন ব্যবহারকারীদের টার্গেট করতে ব্যবহৃত হয় যারা এই পরীক্ষায় অন্তর্ভুক্ত হতে পারেন।
    • ব্যবহারকারীর বৈশিষ্ট্য: পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করার জন্য এক বা একাধিক Analytics ব্যবহারকারীর বৈশিষ্ট্য।
    • প্রথমবার খোলা: ব্যবহারকারীরা প্রথমবারের মতো আপনার অ্যাপটি খোলার উপর ভিত্তি করে তাদের লক্ষ্য করুন।

    একটি অ্যান্ড্রয়েড, আইওএস, বা ওয়েব অ্যাপ নির্বাচন করার পর প্রথমবার খোলার সময় অনুসারে ব্যবহারকারীকে টার্গেট করার সুবিধাটি পাওয়া যায়। এটি নিম্নলিখিত Remote Config এসডিকে সংস্করণগুলো দ্বারা সমর্থিত: অ্যাপল প্ল্যাটফর্ম এসডিকে ভি৯.০.০+, অ্যান্ড্রয়েড এসডিকে ভি২১.১.১+ ( Firebase BoM ৩০.৩.০+), এবং জাভাস্ক্রিপ্ট এসডিকে ভি১২.৮.০+।

    প্রথম ওপেন ইভেন্টের সময় ক্লায়েন্টে Analytics সক্রিয় করা থাকতে হবে।

  6. টার্গেট ব্যবহারকারীদের শতাংশ নির্ধারণ করুন: আপনার অ্যাপের ব্যবহারকারী গোষ্ঠীর যে শতাংশ ‘টার্গেট ব্যবহারকারী’ এর অধীনে নির্ধারিত শর্ত পূরণ করে, তা লিখুন এবং আপনার এক্সপেরিমেন্টের বেসলাইন ও এক বা একাধিক ভ্যারিয়েন্টের মধ্যে সেই শতাংশকে সমানভাবে ভাগ করুন। এই শতাংশ ০% থেকে ১০০% এর মধ্যে যেকোনো হতে পারে। ডুপ্লিকেট এক্সপেরিমেন্ট সহ প্রতিটি এক্সপেরিমেন্টে ব্যবহারকারীদের র‍্যান্ডমভাবে বরাদ্দ করা হয়।

  7. ঐচ্ছিকভাবে, একটি অ্যাক্টিভেশন ইভেন্ট সেট করুন যাতে আপনার এক্সপেরিমেন্টে শুধুমাত্র সেইসব ব্যবহারকারীর ডেটা গণনা করা হয়, যারা প্রথম কোনো Analytics ইভেন্ট ট্রিগার করেছেন। মনে রাখবেন যে, আপনার টার্গেটিং প্যারামিটারের সাথে মিলে যাওয়া সমস্ত ব্যবহারকারী Remote Config এক্সপেরিমেন্টাল ভ্যালু পাবেন, কিন্তু শুধুমাত্র তারাই আপনার এক্সপেরিমেন্টের ফলাফলে অন্তর্ভুক্ত হবেন, যারা একটি অ্যাক্টিভেশন ইভেন্ট ট্রিগার করবেন।

    একটি বৈধ এক্সপেরিমেন্ট নিশ্চিত করতে, খেয়াল রাখবেন যেন আপনার নির্বাচিত ইভেন্টটি আপনার অ্যাপ দ্বারা ফেচ করা কনফিগারেশন ভ্যালুগুলো অ্যাক্টিভেট করার পরে ঘটে। এছাড়াও, নিম্নলিখিত ইভেন্টগুলো ব্যবহার করা যাবে না, কারণ এগুলো সবসময় ফেচ করা ভ্যালুগুলো অ্যাক্টিভেট হওয়ার আগে ঘটে:

    • app_install
    • app_remove
    • app_update

    Analytics ইভেন্ট হিসেবে আপনি যে অ্যানালিটিক্স ইভেন্টটি নির্বাচন করবেন, সেটি একই এক্সপেরিমেন্টে প্রাইমারি মেট্রিক (বা অতিরিক্ত মেট্রিক) হিসেবে ব্যবহার করা যাবে না। এমনটা করলে ফায়ারবেস কনসোলে একটি ভ্যালিডেশন এরর দেখা দেবে এবং আপনার এক্সপেরিমেন্টটি চালু হতে পারবে না।

  8. এক্সপেরিমেন্টের ' Goals'- এর জন্য, ট্র্যাক করার প্রধান মেট্রিকটি নির্বাচন করুন এবং তালিকা থেকে আপনি ট্র্যাক করতে চান এমন যেকোনো অতিরিক্ত মেট্রিক যোগ করুন। এগুলোর মধ্যে রয়েছে বিল্ট-ইন উদ্দেশ্যসমূহ (যেমন: ক্রয়, রাজস্ব, রিটেনশন, ক্র্যাশ-মুক্ত ব্যবহারকারী ইত্যাদি), Analytics কনভার্সন ইভেন্ট এবং অন্যান্য Analytics ইভেন্ট। কাজ শেষ হলে, 'Next'-এ ক্লিক করুন।

  9. ভ্যারিয়েন্টস সেকশনে, এক্সপেরিমেন্টের জন্য একটি বেসলাইন এবং অন্তত একটি ভ্যারিয়েন্ট বেছে নিন। এক্সপেরিমেন্ট করার জন্য এক বা একাধিক প্যারামিটার যোগ করতে চুজ অর ক্রিয়েট নিউ লিস্টটি ব্যবহার করুন। আপনি Firebase কনসোলে এমন একটি প্যারামিটার তৈরি করতে পারেন যা আগে ব্যবহার করা হয়নি, কিন্তু এর কোনো প্রভাব ফেলার জন্য সেটিকে অবশ্যই আপনার অ্যাপে থাকতে হবে। আপনার এক্সপেরিমেন্টে একাধিক প্যারামিটার যোগ করতে আপনি এই ধাপটি পুনরাবৃত্তি করতে পারেন।

  10. (ঐচ্ছিক) আপনার পরীক্ষায় একাধিক ভ্যারিয়েন্ট যোগ করতে, ‘Add another variant’- এ ক্লিক করুন।

  11. নির্দিষ্ট ভ্যারিয়েন্টগুলোর জন্য এক বা একাধিক প্যারামিটার পরিবর্তন করুন। পরীক্ষায় অন্তর্ভুক্ত নন এমন ব্যবহারকারীদের জন্য অপরিবর্তিত প্যারামিটারগুলো একই থাকবে।

  12. পরীক্ষার জন্য ভ্যারিয়েন্টের ওয়েট দেখতে বা পরিবর্তন করতে ‘Variant Weights’ অংশটি প্রসারিত করুন। ডিফল্টরূপে, প্রতিটি ভ্যারিয়েন্টকে সমান ওয়েট দেওয়া হয়। মনে রাখবেন যে, অসম ওয়েটের কারণে ডেটা সংগ্রহের সময় বেড়ে যেতে পারে এবং পরীক্ষা শুরু হয়ে গেলে ওয়েট পরিবর্তন করা যায় না

  13. আপনার পরীক্ষাটি সংরক্ষণ করতে 'রিভিউ' ক্লিক করুন।

প্রতিটি প্রকল্পের জন্য আপনাকে সর্বোচ্চ ৩০০টি পরীক্ষা করার অনুমতি দেওয়া হয়েছে, যার মধ্যে সর্বোচ্চ ২৪টি চলমান পরীক্ষা থাকতে পারে এবং বাকিগুলো খসড়া বা সম্পন্ন অবস্থায় থাকবে।

একটি পরীক্ষামূলক ডিভাইসে আপনার পরীক্ষাটি যাচাই করুন।

প্রতিটি Firebase ইনস্টলেশনের জন্য, আপনি এর সাথে যুক্ত ইনস্টলেশন অথ টোকেনটি সংগ্রহ করতে পারেন। আপনার অ্যাপ ইনস্টল করা আছে এমন একটি টেস্ট ডিভাইসে নির্দিষ্ট এক্সপেরিমেন্ট ভ্যারিয়েন্ট পরীক্ষা করার জন্য আপনি এই টোকেনটি ব্যবহার করতে পারেন। একটি টেস্ট ডিভাইসে আপনার এক্সপেরিমেন্টটি ভ্যালিডেট করতে, নিম্নলিখিতগুলি করুন:

  1. নিম্নলিখিতভাবে ইনস্টলেশন অথোরাইজেশন টোকেনটি সংগ্রহ করুন:

    সুইফট

    do {
      let result = try await Installations.installations()
        .authTokenForcingRefresh(true)
      print("Installation auth token: \(result.authToken)")
    } catch {
      print("Error fetching token: \(error)")
    }

    উদ্দেশ্য-সি

    [[FIRInstallations installations] authTokenForcingRefresh:true
                                                   completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) {
      if (error != nil) {
        NSLog(@"Error fetching Installation token %@", error);
        return;
      }
      NSLog(@"Installation auth token: %@", [result authToken]);
    }];

    Java

    FirebaseInstallations.getInstance().getToken(/* forceRefresh */true)
            .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() {
        @Override
        public void onComplete(@NonNull Task<InstallationTokenResult> task) {
            if (task.isSuccessful() && task.getResult() != null) {
                Log.d("Installations", "Installation auth token: " + task.getResult().getToken());
            } else {
                Log.e("Installations", "Unable to get Installation auth token");
            }
        }
    });

    Kotlin

    val forceRefresh = true
    FirebaseInstallations.getInstance().getToken(forceRefresh)
        .addOnCompleteListener { task ->
            if (task.isSuccessful) {
                Log.d("Installations", "Installation auth token: " + task.result?.token)
            } else {
                Log.e("Installations", "Unable to get Installation auth token")
            }
        }

    ওয়েব

          import { getInstallations, getToken } from "firebase/installations";
    
          const installations = getInstallations(app);
          const installationAuthToken = getToken(installations);
      

    সি++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });

    ঐক্য

    Firebase.Installations.FirebaseInstallations.DefaultInstance.GetTokenAsync(forceRefresh: true).ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Installations token {0}", task.Result));
        }
      });
  2. Firebase কনসোলের নেভিগেশন বারে, A/B Testing-এ ক্লিক করুন।
  3. Draft-এ ক্লিক করুন (এবং/অথবা Remote Config এক্সপেরিমেন্টের জন্য Running-এ ), আপনার এক্সপেরিমেন্টের উপর মাউস রাখুন, কনটেক্সট মেনুতে ( ) ক্লিক করুন, এবং তারপর Manage test devices-এ ক্লিক করুন।
  4. একটি টেস্ট ডিভাইসের জন্য ইনস্টলেশন অথোরাইজেশন টোকেনটি প্রবেশ করান এবং সেই টেস্ট ডিভাইসে পাঠানোর জন্য এক্সপেরিমেন্ট ভ্যারিয়েন্টটি বেছে নিন।
  5. অ্যাপটি চালান এবং নিশ্চিত করুন যে নির্বাচিত ভ্যারিয়েন্টটি টেস্ট ডিভাইসে পাওয়া যাচ্ছে।

Firebase ইনস্টলেশন সম্পর্কে আরও জানতে, Firebase ইনস্টলেশন পরিচালনা দেখুন।

আপনার পরীক্ষাটি পরিচালনা করুন

আপনি Remote Config , নোটিফিকেশন কম্পোজার, বা Firebase In-App Messaging ব্যবহার করে কোনো এক্সপেরিমেন্ট তৈরি করুন না কেন, এরপর আপনি আপনার এক্সপেরিমেন্টটি ভ্যালিডেট ও চালু করতে, চলার সময় তা মনিটর করতে, এবং আপনার চলমান এক্সপেরিমেন্টে অন্তর্ভুক্ত ব্যবহারকারীর সংখ্যা বাড়াতে পারবেন।

আপনার পরীক্ষাটি সম্পন্ন হলে, আপনি বিজয়ী ভ্যারিয়েন্টটির ব্যবহৃত সেটিংসগুলো নোট করে নিতে পারেন এবং তারপর সেই সেটিংসগুলো সকল ব্যবহারকারীর জন্য চালু করে দিতে পারেন। অথবা, আপনি আরেকটি পরীক্ষা চালাতে পারেন।

একটি পরীক্ষা শুরু করুন

  1. Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement সেকশনে, A/B Testing ক্লিক করুন।
  2. ড্রাফট-এ ক্লিক করুন, এবং তারপরে আপনার পরীক্ষার শিরোনামে ক্লিক করুন।
  3. আপনার অ্যাপে এমন ব্যবহারকারী আছেন কিনা যারা আপনার এক্সপেরিমেন্টে অন্তর্ভুক্ত হবেন, তা যাচাই করতে, ড্রাফটের বিবরণ প্রসারিত করুন এবং 'টার্গেটিং এবং ডিস্ট্রিবিউশন' বিভাগে 0% এর চেয়ে বড় কোনো সংখ্যা আছে কিনা তা পরীক্ষা করুন (উদাহরণস্বরূপ, মানদণ্ডের সাথে মিলে যাওয়া ব্যবহারকারীদের 1% )।
  4. আপনার পরীক্ষাটি পরিবর্তন করতে, সম্পাদনা-তে ক্লিক করুন।
  5. আপনার পরীক্ষা শুরু করতে, 'স্টার্ট এক্সপেরিমেন্ট'-এ ক্লিক করুন। আপনি প্রতি প্রকল্পে একবারে সর্বোচ্চ ২৪টি পরীক্ষা চালাতে পারবেন।

একটি পরীক্ষা পর্যবেক্ষণ করুন

একটি পরীক্ষা কিছুক্ষণ চলার পর, আপনি এর অগ্রগতি যাচাই করতে পারেন এবং এখন পর্যন্ত আপনার পরীক্ষায় অংশগ্রহণকারী ব্যবহারকারীদের জন্য ফলাফল কেমন দেখাচ্ছে তা দেখতে পারেন।

  1. Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement সেকশনে, A/B Testing ক্লিক করুন।
  2. 'Running'-এ ক্লিক করুন, এবং তারপর আপনার এক্সপেরিমেন্টের শিরোনামে ক্লিক করুন বা অনুসন্ধান করুন। এই পৃষ্ঠায়, আপনি আপনার চলমান এক্সপেরিমেন্ট সম্পর্কিত বিভিন্ন পর্যবেক্ষণকৃত এবং মডেলকৃত পরিসংখ্যান দেখতে পারবেন, যার মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:

    • বেসলাইন থেকে শতাংশ পার্থক্য : বেসলাইনের তুলনায় কোনো প্রদত্ত ভ্যারিয়েন্টের জন্য একটি মেট্রিকের উন্নতির পরিমাপ। ভ্যারিয়েন্টটির মান পরিসরকে বেসলাইনের মান পরিসরের সাথে তুলনা করে এটি গণনা করা হয়।
    • বেসলাইনকে ছাড়িয়ে যাওয়ার সম্ভাবনা : নির্বাচিত মেট্রিকের ক্ষেত্রে কোনো প্রদত্ত ভ্যারিয়েন্টের বেসলাইনকে ছাড়িয়ে যাওয়ার আনুমানিক সম্ভাবনা।
    • প্রতি ব্যবহারকারীর observed_metric : পরীক্ষার ফলাফলের উপর ভিত্তি করে, এটি হলো সেই পূর্বাভাসিত পরিসর যার মধ্যে সময়ের সাথে সাথে মেট্রিকের মানটি থাকবে।
    • মোট observed_metric : বেসলাইন বা ভ্যারিয়েন্টের জন্য পর্যবেক্ষণকৃত ক্রমবর্ধমান মান। প্রতিটি এক্সপেরিমেন্ট ভ্যারিয়েন্ট কতটা ভালো পারফর্ম করে তা পরিমাপ করতে এবং উন্নতি , মানের পরিসর , বেসলাইনকে হারানোর সম্ভাবনা , ও সেরা ভ্যারিয়েন্ট হওয়ার সম্ভাবনা গণনা করতে এই মানটি ব্যবহৃত হয়। পরিমাপ করা মেট্রিকের উপর নির্ভর করে, এই কলামটির লেবেল "ব্যবহারকারী প্রতি সময়কাল," "ব্যবহারকারী প্রতি আয়," "রিটেনশন রেট," বা "কনভার্সন রেট" হতে পারে।
  3. আপনার এক্সপেরিমেন্টটি কিছু সময় চলার পর ( FCM এবং In-App Messaging জন্য কমপক্ষে ৭ দিন অথবা Remote Config এর জন্য ১৪ দিন), এই পৃষ্ঠার ডেটা থেকে জানা যায় যে, কোন ভ্যারিয়েন্টটি (যদি থাকে) "লিডার"। কিছু পরিমাপের সাথে একটি বার চার্ট থাকে যা ডেটাগুলোকে একটি ভিজ্যুয়াল ফরম্যাটে উপস্থাপন করে।

সকল ব্যবহারকারীর জন্য একটি পরীক্ষা চালু করুন

একটি পরীক্ষা যথেষ্ট সময় ধরে চলার পর যখন আপনার কাঙ্ক্ষিত মেট্রিকের জন্য একটি 'লিডার' বা বিজয়ী ভ্যারিয়েন্ট পাওয়া যায়, তখন আপনি পরীক্ষাটি ১০০% ব্যবহারকারীর জন্য প্রকাশ করতে পারেন। এর মাধ্যমে আপনি ভবিষ্যতে সকল ব্যবহারকারীর জন্য প্রকাশ করার মতো একটি ভ্যারিয়েন্ট বেছে নিতে পারেন। এমনকি যদি আপনার পরীক্ষাটি কোনো সুস্পষ্ট বিজয়ী তৈরি না করে, তবুও আপনি আপনার সকল ব্যবহারকারীর জন্য একটি ভ্যারিয়েন্ট প্রকাশ করার সিদ্ধান্ত নিতে পারেন।

  1. Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement সেকশনে, A/B Testing ক্লিক করুন।
  2. Completed বা Running-এ ক্লিক করুন, যে এক্সপেরিমেন্টটি আপনি সকল ব্যবহারকারীর জন্য রিলিজ করতে চান সেটিতে ক্লিক করুন, এরপর কনটেক্সট মেনু ( ) থেকে Roll out variant-এ ক্লিক করুন।
  3. নিম্নলিখিতগুলির মধ্যে যেকোনো একটি করে আপনার পরীক্ষাটি সকল ব্যবহারকারীর জন্য চালু করুন:

    • যে এক্সপেরিমেন্টে নোটিফিকেশন কম্পোজার ব্যবহার করা হয়, সেটির ক্ষেত্রে এক্সপেরিমেন্টের অংশ না থাকা অবশিষ্ট টার্গেটেড ব্যবহারকারীদের কাছে মেসেজটি পাঠাতে রোল আউট মেসেজ ডায়ালগটি ব্যবহার করুন।
    • একটি Remote Config এক্সপেরিমেন্টের জন্য, কোন Remote Config প্যারামিটার ভ্যালুগুলো আপডেট করতে হবে তা নির্ধারণ করতে একটি ভ্যারিয়েন্ট নির্বাচন করুন। এক্সপেরিমেন্টটি তৈরি করার সময় সংজ্ঞায়িত টার্গেটিং ক্রাইটেরিয়া আপনার টেমপ্লেটে একটি নতুন শর্ত হিসাবে যুক্ত করা হয়, যাতে রোলআউটটি শুধুমাত্র এক্সপেরিমেন্ট দ্বারা টার্গেট করা ব্যবহারকারীদের প্রভাবিত করে। পরিবর্তনগুলো পর্যালোচনা করতে 'রিমোট কনফিগ-এ রিভিউ' ক্লিক করার পর, রোলআউটটি সম্পূর্ণ করতে 'পাবলিশ চেঞ্জেস'-এ ক্লিক করুন।
    • In-App Messaging এক্সপেরিমেন্টের জন্য, কোন ভ্যারিয়েন্টটিকে একটি স্বতন্ত্র In-App Messaging ক্যাম্পেইন হিসেবে চালু করতে হবে তা নির্ধারণ করতে ডায়ালগটি ব্যবহার করুন। একবার নির্বাচিত হলে, পাবলিশ করার আগে (প্রয়োজন হলে) কোনো পরিবর্তন করার জন্য আপনাকে FIAM কম্পোজ স্ক্রিনে রিডাইরেক্ট করা হবে।

একটি পরীক্ষা প্রসারিত করুন

যদি আপনি দেখেন যে কোনো একটি পরীক্ষা থেকে সেরাটিকে ঘোষণা করার জন্য A/B Testing উদ্দেশ্যে যথেষ্ট ব্যবহারকারী আসছে না, তাহলে আপনি অ্যাপটির ব্যবহারকারী গোষ্ঠীর একটি বৃহত্তর অংশের কাছে পৌঁছানোর জন্য আপনার পরীক্ষাটির পরিধি বাড়াতে পারেন।

  1. Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement সেকশনে, A/B Testing ক্লিক করুন।
  2. যে চলমান পরীক্ষাটি আপনি সম্পাদনা করতে চান, সেটি নির্বাচন করুন।
  3. এক্সপেরিমেন্ট ওভারভিউ- তে, কনটেক্সট মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Edit running experiment'-এ ক্লিক করুন।
  4. টার্গেটিং ডায়ালগটি চলমান এক্সপেরিমেন্টে থাকা ব্যবহারকারীদের শতাংশ বাড়ানোর একটি অপশন দেখায়। বর্তমান শতাংশের চেয়ে বেশি একটি সংখ্যা নির্বাচন করুন এবং পাবলিশ-এ ক্লিক করুন। আপনার নির্দিষ্ট করা ব্যবহারকারীদের শতাংশের কাছে এক্সপেরিমেন্টটি পৌঁছে দেওয়া হবে।

একটি পরীক্ষা নকল করুন বা বন্ধ করুন

  1. Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement সেকশনে, A/B Testing ক্লিক করুন।
  2. Completed বা Running-এ ক্লিক করুন, আপনার এক্সপেরিমেন্টের উপর পয়েন্টারটি ধরে রাখুন, কনটেক্সট মেনুতে ( ) ক্লিক করুন, এবং তারপরে Duplicate experiment বা Stop experiment-এ ক্লিক করুন।

ওয়েব ক্লায়েন্ট শনাক্তকরণ এবং পরীক্ষার স্থায়িত্ব

যখন কোনো ব্যবহারকারী প্রথমবারের মতো ব্রাউজারে Firebase A/B Testing ব্যবহার করে একটি ওয়েব অ্যাপ্লিকেশন চালু করেন, তখন একটি অনন্য Firebase ইনস্টলেশন আইডি (FID) তৈরি হয়। সেশন জুড়ে অ্যাপ ইনস্ট্যান্সটিকে শনাক্ত করার জন্য এই FID-টি ব্রাউজারের IndexedDB-তে স্থায়ীভাবে সংরক্ষণ করা হয়।

Firebase A/B Testing ব্যবহারকারীদের এক্সপেরিমেন্ট ভ্যারিয়েন্টে অন্তর্ভুক্ত করতে এফআইডি (FID) ব্যবহার করে, এবং Google Analytics প্রতিটি ভ্যারিয়েন্টের মধ্যে ব্যবহারকারীর আচরণ পরিমাপ ও বিশ্লেষণ করার জন্য ইভেন্ট অ্যাগ্রিগেশনে এটি ব্যবহার করে।

যেহেতু FID ইনডেক্সডডিবি-তে সংরক্ষিত থাকে, তাই Firebase A/B Testing একজন ব্যবহারকারীকে নতুন ব্যবহারকারী হিসেবে গণ্য করে, যদি তিনি ভিন্ন কোনো ব্রাউজার থেকে বা ইনকগনিটো/প্রাইভেট উইন্ডোতে আপনার অ্যাপ অ্যাক্সেস করেন, অথবা যদি তিনি তার ব্রাউজারের ইনডেক্সডডিবি মুছে ফেলেন। এর মানে হলো, ভিন্ন ভিন্ন ব্রাউজার বা ব্রাউজিং সেশন ব্যবহার করার সময় একজন ব্যবহারকারী ভিন্ন ভিন্ন এক্সপেরিমেন্ট ভ্যারিয়েন্টে অন্তর্ভুক্ত হতে পারেন।

ব্যবহারকারী টার্গেটিং

নিম্নলিখিত ব্যবহারকারী-লক্ষ্য নির্ধারণের মানদণ্ড ব্যবহার করে আপনি আপনার পরীক্ষায় অন্তর্ভুক্ত করার জন্য ব্যবহারকারীদের লক্ষ্য করতে পারেন।

লক্ষ্য নির্ধারণের মানদণ্ড অপারেটর(গণ) মান(গুলি) দ্রষ্টব্য
সংস্করণ ধারণ করে,
ধারণ করে না,
হুবহু মিলে যায়,
রেজেক্স ধারণ করে
পরীক্ষণে অন্তর্ভুক্ত করতে চান এমন এক বা একাধিক অ্যাপ সংস্করণের জন্য একটি মান লিখুন।

` contains` , `does not contain` , বা `matches exactly` অপারেটরগুলোর যেকোনো একটি ব্যবহার করার সময়, আপনি কমা দিয়ে আলাদা করা মানগুলোর একটি তালিকা প্রদান করতে পারেন।

`contains` রেজেক্স অপারেটর ব্যবহার করে আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশনটি টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও, আপনি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মেলানোর জন্য ` ^` এবং `$` অ্যাঙ্কর ব্যবহার করতে পারেন।

User audience(s) এর মধ্যে সব অন্তর্ভুক্ত,
এর মধ্যে অন্তত একটি অন্তর্ভুক্ত রয়েছে,
সবগুলো অন্তর্ভুক্ত নয়,
এর মধ্যে অন্তত একটি অন্তর্ভুক্ত নয়
আপনার পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের লক্ষ্য করার জন্য এক বা একাধিক Analytics অডিয়েন্স নির্বাচন করুন। Google Analytics অডিয়েন্সকে লক্ষ্য করে করা কিছু এক্সপেরিমেন্টের ডেটা সংগ্রহ করতে কয়েক দিন সময় লাগতে পারে, কারণ এগুলো Analytics ডেটা প্রসেসিং ল্যাটেন্সির অধীন। এই বিলম্বের সম্মুখীন হওয়ার সম্ভাবনা সবচেয়ে বেশি নতুন ব্যবহারকারীদের ক্ষেত্রে, যাদের সাধারণত তৈরির ২৪-৪৮ ঘণ্টা পর কোয়ালিফাইং অডিয়েন্সে অন্তর্ভুক্ত করা হয়, অথবা সদ্য তৈরি করা অডিয়েন্সের ক্ষেত্রে।

Remote Config ক্ষেত্রে এর অর্থ হলো, কোনো ব্যবহারকারী প্রযুক্তিগতভাবে কোনো অডিয়েন্সের জন্য যোগ্য হলেও, `fetchAndActivate()` এক্সিকিউট হওয়ার সময় যদি Analytics সেই ব্যবহারকারীকে অডিয়েন্সে যুক্ত না করে থাকে, তবে তাকে এক্সপেরিমেন্টে অন্তর্ভুক্ত করা হবে না।

ব্যবহারকারীর সম্পত্তি পাঠ্যের জন্য:
ধারণ করে,
ধারণ করে না,
হুবহু মিলে যায়,
রেজেক্স ধারণ করে

সংখ্যার জন্য:
<, ≤, =, ≥, >
কোনো এক্সপেরিমেন্টে অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করার জন্য একটি Analytics ইউজার প্রপার্টি ব্যবহার করা হয়, যেখানে ইউজার প্রপার্টির ভ্যালু বেছে নেওয়ার জন্য বিভিন্ন অপশন থাকে।

ক্লায়েন্ট পর্যায়ে, আপনি ইউজার প্রপার্টিগুলোর জন্য শুধুমাত্র স্ট্রিং ভ্যালু সেট করতে পারেন। যেসব কন্ডিশনে নিউমেরিক অপারেটর ব্যবহৃত হয়, সেগুলোর ক্ষেত্রে Remote Config সার্ভিস সংশ্লিষ্ট ইউজার প্রপার্টির ভ্যালুকে একটি ইন্টিজার/ফ্লোটে রূপান্তর করে।
`contains` রেজেক্স অপারেটর ব্যবহার করে আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশনটি টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও, আপনি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মেলানোর জন্য ` ^` এবং `$` অ্যাঙ্কর ব্যবহার করতে পারেন।
দেশ/অঞ্চল প্রযোজ্য নয় পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করার জন্য এক বা একাধিক দেশ বা অঞ্চল ব্যবহার করা হতো।
ভাষা প্রযোজ্য নয় পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করার জন্য এক বা একাধিক ভাষা ও লোকেল ব্যবহার করা হয়।
প্রথম খোলা আগে
পরে

ব্যবহারকারীরা প্রথমবার আপনার অ্যাপ খোলার উপর ভিত্তি করে তাদের টার্গেট করুন:

  • ভবিষ্যতের একটি নির্দিষ্ট তারিখ ও সময়ের পরে যারা প্রথমবার আপনার অ্যাপটি খুলবে, সেইসব ব্যবহারকারীদের টার্গেট করতে 'নতুন ব্যবহারকারী' নির্বাচন করুন।
  • আপনার নির্দিষ্ট করা তারিখ ও সময়ের আগে বা পরে, যেসব ব্যবহারকারী প্রথমবার আপনার অ্যাপটি খোলেন, তাদের টার্গেট করতে সময়সীমা নির্বাচন করুন। একটি নির্দিষ্ট সময়সীমার মধ্যে ব্যবহারকারীদের টার্গেট করতে ' আগে ' এবং ' পরে' শর্তগুলো একত্রিত করুন।

একটি অ্যান্ড্রয়েড, আইওএস, বা ওয়েব অ্যাপ নির্বাচন করার পর প্রথমবার খোলার মাধ্যমে ব্যবহারকারীকে টার্গেট করার সুবিধাটি উপলব্ধ হয়। এটি বর্তমানে নিম্নলিখিত Remote Config এসডিকে সংস্করণগুলি দ্বারা সমর্থিত: অ্যাপল প্ল্যাটফর্ম এসডিকে ভি৯.০.০+, অ্যান্ড্রয়েড এসডিকে ভি২১.১.১+ ( Firebase BoM ৩০.৩.০+), এবং জাভাস্ক্রিপ্ট এসডিকে ভি১২.৮.০+।

প্রথম ওপেন ইভেন্টের সময় ক্লায়েন্টে Analytics সক্রিয় করা থাকতে হবে।

A/B Testing মেট্রিক্স

When you create your experiment, you choose a primary, or goal metric, that is used to determine the winning variant. You should also track other metrics to help you better understand each experiment variant's performance and track important trends that may differ for each variant, like user retention, app stability and in-app purchase revenue. You can track up to five non-goal metrics in your experiment.

উদাহরণস্বরূপ, ধরুন আপনি আপনার অ্যাপে দুটি ভিন্ন গেম ফ্লো চালু করতে Remote Config ব্যবহার করছেন এবং ইন-অ্যাপ পারচেজ ও বিজ্ঞাপন থেকে আয়ের জন্য অপটিমাইজ করতে চান, কিন্তু একই সাথে প্রতিটি ভ্যারিয়েন্টের স্থিতিশীলতা এবং ইউজার রিটেনশনও ট্র্যাক করতে চান। এই ক্ষেত্রে, আপনি আপনার গোল মেট্রিক হিসেবে ‘আনুমানিক মোট আয়’ (Estimated total revenue) বেছে নেওয়ার কথা ভাবতে পারেন, কারণ এতে ইন-অ্যাপ পারচেজ থেকে আয় এবং বিজ্ঞাপন থেকে আয় অন্তর্ভুক্ত থাকে। এরপর, ‘ট্র্যাক করার জন্য অন্যান্য মেট্রিক’ (Other metrics to track ) এর জন্য আপনি নিম্নলিখিত বিষয়গুলো যোগ করতে পারেন:

  • আপনার দৈনিক এবং সাপ্তাহিক ব্যবহারকারী ধরে রাখার হার ট্র্যাক করতে, রিটেনশন (২-৩ দিন) এবং রিটেনশন (৪-৭ দিন) যোগ করুন।
  • দুটি গেম ফ্লো-এর মধ্যে স্থিতিশীলতা তুলনা করতে, ক্র্যাশ-মুক্ত ব্যবহারকারীদের যুক্ত করুন।
  • প্রতিটি রাজস্বের ধরণ সম্পর্কে আরও বিস্তারিত তথ্য দেখতে, 'ক্রয় রাজস্ব' এবং 'আনুমানিক বিজ্ঞাপন রাজস্ব' যোগ করুন।

নিম্নলিখিত সারণিগুলোতে লক্ষ্যমাত্রা মেট্রিক এবং অন্যান্য মেট্রিকগুলো কীভাবে গণনা করা হয়, সে সম্পর্কে বিস্তারিত তথ্য দেওয়া হয়েছে।

লক্ষ্য মেট্রিক্স

মেট্রিক বর্ণনা
ক্র্যাশ-মুক্ত ব্যবহারকারীরা পরীক্ষার সময় Firebase Crashlytics SDK দ্বারা শনাক্ত হওয়া ত্রুটিগুলো আপনার অ্যাপে পাননি এমন ব্যবহারকারীর শতকরা হার।

দ্রষ্টব্য: ওয়েব অ্যাপ্লিকেশনের জন্য Firebase Crashlytics সমর্থিত নয়।

আনুমানিক বিজ্ঞাপন আয় আনুমানিক বিজ্ঞাপন আয়।
আনুমানিক মোট রাজস্ব ক্রয়মূল্য এবং আনুমানিক বিজ্ঞাপন রাজস্বের সম্মিলিত মান।
ক্রয় রাজস্ব সমস্ত purchase এবং in_app_purchase ইভেন্টের সম্মিলিত মান।
ধরে রাখা (১ দিন) যেসব ব্যবহারকারী প্রতিদিন আপনার অ্যাপে ফিরে আসেন, তাদের সংখ্যা।
ধরে রাখার হার (২-৩ দিন) যেসব ব্যবহারকারী ২-৩ দিনের মধ্যে আপনার অ্যাপে ফিরে আসেন, তাদের সংখ্যা।
ধরে রাখার হার (৪-৭ দিন) যেসব ব্যবহারকারী ৪-৭ দিনের মধ্যে আপনার অ্যাপে ফিরে আসেন, তাদের সংখ্যা।
ধরে রাখার হার (৮-১৪ দিন) যেসব ব্যবহারকারী ৮-১৪ দিনের মধ্যে আপনার অ্যাপে ফিরে আসেন, তাদের সংখ্যা।
ধরে রাখা (১৫+ দিন) যেসব ব্যবহারকারী শেষবার অ্যাপটি ব্যবহার করার ১৫ বা তার বেশি দিন পর আবার ফিরে আসেন, তাদের সংখ্যা।
প্রথম_খোলা একটি Analytics ইভেন্ট যা কোনো ব্যবহারকারী অ্যাপটি ইনস্টল বা রিইনস্টল করার পর প্রথমবার খুললে ট্রিগার হয়। এটি কনভার্সন ফানেলের অংশ হিসেবে ব্যবহৃত হয়।

অন্যান্য মেট্রিক

মেট্রিক বর্ণনা
বিজ্ঞপ্তি_বাতিল করুন একটি Analytics ইভেন্ট যা নোটিফিকেশন কম্পোজার দ্বারা প্রেরিত কোনো নোটিফিকেশন খারিজ করা হলে ট্রিগার হয় (শুধুমাত্র অ্যান্ড্রয়েডের জন্য)।
বিজ্ঞপ্তি_গ্রহণ একটি Analytics ইভেন্ট যা তখন ট্রিগার হয় যখন অ্যাপটি ব্যাকগ্রাউন্ডে থাকা অবস্থায় নোটিফিকেশন কম্পোজার দ্বারা পাঠানো কোনো নোটিফিকেশন পাওয়া যায় (শুধুমাত্র অ্যান্ড্রয়েডের জন্য)।
ওএস_আপডেট একটি Analytics ইভেন্ট যা ট্র্যাক করে কখন ডিভাইসের অপারেটিং সিস্টেম একটি নতুন সংস্করণে আপডেট করা হয়। আরও জানতে, স্বয়ংক্রিয়ভাবে সংগৃহীত ইভেন্টসমূহ দেখুন।

এই মেট্রিকটি ওয়েব অ্যাপ্লিকেশনের জন্য সমর্থিত নয়।

স্ক্রিন_ভিউ একটি Analytics ইভেন্ট যা আপনার অ্যাপের মধ্যে দেখা স্ক্রিনগুলো ট্র্যাক করে। আরও জানতে, ‘স্ক্রিনভিউ ট্র্যাক করুন’ দেখুন।
সেশন_শুরু একটি Analytics ইভেন্ট যা আপনার অ্যাপে ব্যবহারকারীর সেশন গণনা করে। আরও জানতে, স্বয়ংক্রিয়ভাবে সংগৃহীত ইভেন্টসমূহ দেখুন।

BigQuery ডেটা রপ্তানি

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