A/B Testing-এর মাধ্যমে মেসেজিং এক্সপেরিমেন্ট তৈরি করা

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

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

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

একটি এক্সপেরিমেন্ট তৈরি করুন

বিজ্ঞপ্তি কম্পোজার ব্যবহার করে এমন একটি পরীক্ষা আপনাকে একটি বিজ্ঞপ্তি মেসেজে একাধিক ভেরিয়েন্ট মূল্যায়ন করতে দেয়।

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

    আপনার প্রোজেক্ট তৈরি করার সময় Google Analytics চালু না করে থাকলে, আপনি এটি সেটিংস > ইন্টিগ্রেশন ট্যাব থেকে Firebase কনসোলে চালু করতে পারবেন।

  2. Firebase কনসোলে, DevOps ও এনগেজমেন্ট > A/B টেস্টিং বিকল্পে যান।

  3. এক্সপেরিমেন্ট তৈরি করুন বিকল্পে ক্লিক করুন এবং তারপরে আপনি যে পরিষেবা নিয়ে এক্সপেরিমেন্ট করতে চান তার জন্য প্রম্পট করা হলে বিজ্ঞপ্তি বিকল্প বেছে নিন।

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

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

    • ভার্সন: আপনার অ্যাপের এক বা একাধিক ভার্সন
    • ব্যবহারকারী দর্শক: Analytics ব্যবহারকারীদের টার্গেট করার জন্য ব্যবহৃত দর্শক যারা এক্সপেরিমেন্টে অন্তর্ভুক্ত হতে পারে
    • ব্যবহারকারীর প্রপার্টি: এক্সপেরিমেন্টে অন্তর্ভুক্ত হতে পারেন এমন ব্যবহারকারীদের বেছে নেওয়ার জন্য এক বা একাধিক Analytics ব্যবহারকারীর প্রপার্টি
    • দেশ/অঞ্চল: এক বা একাধিক দেশ বা অঞ্চল থেকে ব্যবহারকারীদের বেছে নেওয়া হয় যারা এক্সপেরিমেন্টে অন্তর্ভুক্ত হতে পারেন
    • ডিভাইসের ভাষা: এক্সপেরিমেন্টে অন্তর্ভুক্ত হতে পারেন এমন ব্যবহারকারীদের বেছে নিতে এক বা একাধিক ভাষা ও লোকেল ব্যবহার করা হয়
    • প্রথমবার খোলা: ব্যবহারকারী প্রথমবার আপনার অ্যাপ খোলার উপর ভিত্তি করে টার্গেট করুন
    • শেষবার অ্যাপ এনগেজমেন্ট: ব্যবহারকারীরা শেষবার যখন আপনার অ্যাপের সাথে এনগেজ হয়েছেন তার উপর ভিত্তি করে টার্গেট করুন
  6. টার্গেট ব্যবহারকারীর শতাংশ সেট করুন: আপনার অ্যাপের ব্যবহারকারীর বেসের শতাংশ বেছে নিন যা টার্গেট ব্যবহারকারী-এর অধীনে সেট করা মাপকাঠির সাথে মেলে, যা আপনি আপনার এক্সপেরিমেন্টে বেসলাইন এবং এক বা একাধিক ভেরিয়েন্টের মধ্যে সমানভাবে ভাগ করতে চান। এটি ০.০১% থেকে ১০০%-এর মধ্যে যেকোনও শতাংশ হতে পারে। ডুপ্লিকেট পরীক্ষা সহ প্রতিটি পরীক্ষার জন্য ব্যবহারকারীদের র‍্যান্ডমভাবে শতাংশ আবার অ্যাসাইন করা হয়।

  7. ভেরিয়েন্ট বিভাগে, বেসলাইন গ্রুপে পাঠানোর জন্য মেসেজের টেক্সট লিখুন ফিল্ডে মেসেজ টাইপ করুন। বেসলাইন গ্রুপে কোনও মেসেজ না পাঠাতে চাইলে, এই ফিল্ডটি খালি রাখুন।

  8. (ঐচ্ছিক) আপনার এক্সপেরিমেন্টে একাধিক ভেরিয়েন্ট যোগ করতে, ভেরিয়েন্ট যোগ করুন বিকল্পে ক্লিক করুন। ডিফল্ট হিসেবে, এক্সপেরিমেন্টে একটি বেসলাইন ও একটি ভেরিয়েন্ট থাকে।

  9. (ঐচ্ছিক) ভেরিয়েন্ট A, ভেরিয়েন্ট B ইত্যাদি নাম পরিবর্তন করতে, আপনার এক্সপেরিমেন্টের প্রতিটি ভেরিয়েন্টের জন্য একটি নাম লিখুন।

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

  11. আপনার মেসেজের জন্য বিকল্প বেছে নিন:

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

আপনি প্রতিটি প্রোজেক্টে সর্বাধিক ৩০০টি এক্সপেরিমেন্ট (রোল-আউট সহ) করতে পারবেন, যার মধ্যে সর্বাধিক ২৪টি এক্সপেরিমেন্ট ও রোল-আউট চালু থাকতে পারে এবং বাকিগুলি সম্পূর্ণ হওয়া এক্সপেরিমেন্ট হিসেবে থাকবে।

টেস্ট ডিভাইসে আপনার পরীক্ষা যাচাই করুন

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

  1. FCM রেজিস্ট্রেশন টোকেন পেতে নিম্নলিখিত ধাপগুলি অনুসরণ করুন:

    Swift

    Messaging.messaging().token { token, error in
      if let error = error {
        print("Error fetching remote FCM registration token: \(error)")
      } else if let token = token {
        print("Remote instance ID token: \(token)")
      }
    }

    Objective-C

    [[FIRMessaging messaging] tokenWithCompletion:^(NSString * _Nullable token, NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error fetching the remote FCM registration token: %@", error);
      } else {
        NSLog(@"Remote FCM registration token: %@", token);
        NSString* message =
          [NSString stringWithFormat:@"FCM registration token: %@", token];
        // display message
        NSLog(@"%@", message);
      }
    }];

    Java

    FirebaseMessaging.getInstance().getToken()
        .addOnCompleteListener(new OnCompleteListener<String>() {
            @Override
            public void onComplete(@NonNull Task<String> task) {
              if (!task.isSuccessful()) {
                Log.w(TAG, "Fetching FCM registration token failed", task.getException());
                return;
              }
    
              // Get new FCM registration token
              String token = task.getResult();
    
              // Log and toast
              String msg = getString(R.string.msg_token_fmt, token);
              Log.d(TAG, msg);
              Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
            }
        });

    Kotlin

    FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
        if (!task.isSuccessful) {
            Log.w(TAG, "Fetching FCM registration token failed", task.exception)
            return@OnCompleteListener
        }
    
        // Get new FCM registration token
        val token = task.result
    
        // Log and toast
        val msg = getString(R.string.msg_token_fmt, token)
        Log.d(TAG, msg)
        Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
    })

    C++

    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());
          }
        });

    Unity

    Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
  2. Firebase কনসোলে, DevOps ও এনগেজমেন্ট > A/B টেস্টিং বিকল্পে যান।
  3. ড্রাফ্ট বিকল্পে ক্লিক করুন, আপনার এক্সপেরিমেন্টের উপর মাউস নিয়ে যান, সংশ্লিষ্ট মেনুতে () ক্লিক করুন এবং তারপরে পরীক্ষা করার ডিভাইস ম্যানেজ করুন বিকল্পে ক্লিক করুন
  4. টেস্ট ডিভাইসের জন্য FCM টোকেন লিখুন এবং সেই টেস্ট ডিভাইসে পাঠানোর জন্য এক্সপেরিমেন্ট ভেরিয়েন্ট বেছে নিন।
  5. অ্যাপটি চালান এবং কনফার্ম করুন যে বেছে নেওয়া ভেরিয়েন্টটি টেস্ট ডিভাইসে রিসিভ করা হচ্ছে।

আপনার এক্সপেরিমেন্ট ম্যানেজ করুন

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

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

এক্সপেরিমেন্ট শুরু করুন

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

কোনও এক্সপেরিমেন্ট মনিটর করা

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

  1. Firebase কনসোলে, DevOps ও এনগেজমেন্ট > A/B টেস্টিং বিকল্পে যান।
  2. চলছে বিকল্পে ক্লিক করুন এবং তারপরে আপনার পরীক্ষার শীর্ষক ক্লিক করুন বা সার্চ করুন। এই পৃষ্ঠায়, আপনার চালু থাকা এক্সপেরিমেন্ট সম্পর্কে বিভিন্ন পর্যবেক্ষণ করা ও মডেল করা পরিসংখ্যান দেখতে পাবেন, যার মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত:

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

সব ব্যবহারকারীর জন্য এক্সপেরিমেন্ট প্রকাশ করা

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

  1. Firebase কনসোলে, DevOps ও এনগেজমেন্ট > A/B টেস্টিং বিকল্পে যান।
  2. সম্পূর্ণ হয়েছে বা চলছে বিকল্পে ক্লিক করুন, সব ব্যবহারকারীর জন্য রিলিজ করতে চান এমন কোনও এক্সপেরিমেন্টে ক্লিক করুন, প্রসঙ্গ মেনু () ভেরিয়েন্ট প্রকাশ করুন বিকল্পে ক্লিক করুন।
  3. নিচের যেকোনও একটি কাজ করে সব ব্যবহারকারীর জন্য আপনার এক্সপেরিমেন্ট রোল-আউট করুন:

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

এক্সপেরিমেন্ট বড় করা

আপনি যদি দেখেন যে কোনও এক্সপেরিমেন্ট A/B Testing-এর জন্য পর্যাপ্ত ব্যবহারকারী নিয়ে আসছে না তাহলে আপনি আপনার এক্সপেরিমেন্টের ডিস্ট্রিবিউশন বাড়াতে পারেন যাতে অ্যাপের ব্যবহারকারীর একটি বড় শতাংশের কাছে পৌঁছানো যায়।

  1. Firebase কনসোলে, DevOps ও এনগেজমেন্ট > A/B টেস্টিং বিকল্পে যান।
  2. যে পরীক্ষা চলছে সেটি এডিট করতে বেছে নিন।
  3. এক্সপেরিমেন্ট ওভারভিউ থেকে সংশ্লিষ্ট মেনু () এবং তারপর চলমান এক্সপেরিমেন্ট এডিট করুন বিকল্পে ক্লিক করুন।
  4. টার্গেটিং ডায়ালগে এমন একটি বিকল্প দেখানো হয় যার মাধ্যমে, যে ব্যবহারকারীরা বর্তমানে চলছে এমন এক্সপেরিমেন্টে অংশগ্রহণ করছেন, তাদের শতাংশ বাড়ানো যায়। বর্তমান শতাংশের থেকে বেশি কোনও সংখ্যা বেছে নিন এবং প্রকাশ করুন বিকল্পে ক্লিক করুন। আপনার উল্লেখ করা ব্যবহারকারীর শতাংশের কাছে এক্সপেরিমেন্ট পুশ করা হবে।

কোনও এক্সপেরিমেন্ট ডুপ্লিকেট বা বন্ধ করা

  1. Firebase কনসোলে, DevOps ও এনগেজমেন্ট > A/B টেস্টিং বিকল্পে যান।
  2. সম্পূর্ণ হয়েছে বা চলছে বিকল্পে ক্লিক করুন, আপনার এক্সপেরিমেন্টের উপর পয়েন্টার ধরে রাখুন, সংশ্লিষ্ট মেনুতে () ক্লিক করুন এবং তারপর এক্সপেরিমেন্ট ডুপ্লিকেট করুন বা এক্সপেরিমেন্ট বন্ধ করুন বিকল্পে ক্লিক করুন।

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

নিম্নলিখিত ব্যবহারকারী-টার্গেটিং মাপকাঠি ব্যবহার করে আপনার পরীক্ষায় অন্তর্ভুক্ত করার জন্য ব্যবহারকারীদের টার্গেট করতে পারবেন।

টার্গেটিং সংক্রান্ত মাপকাঠি অপারেটর    ভ্যালু নোট
সংস্করণ আছে,
নেই,
একদম মিলে যায়,
রেগুলার এক্সপ্রেশন(regex) আছে
আপনি এক্সপেরিমেন্টে অন্তর্ভুক্ত করতে চান এমন এক বা একাধিক অ্যাপ ভার্সনের জন্য ভ্যালু লিখুন।

আছে, নেই অথবা হুবহু মিলছে অপারেটরগুলির মধ্যে যেকোনও একটি ব্যবহার করার সময়, আপনি কমা দিয়ে আলাদা করা ভ্যালুর তালিকা প্রদান করতে পারবেন।

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

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

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

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

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

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

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

  • আনুমানিক মোট উপার্জন বিকল্পে ক্লিক করে দেখুন যে দুটি ভেরিয়েন্টের মধ্যে অ্যাপ-মধ্যস্থ কেনাকাটা ও বিজ্ঞাপন থেকে হওয়া উপার্জনের মধ্যে কী পার্থক্য রয়েছে।
  • আপনার দৈনিক বা সাপ্তাহিক ইউজার রিটেনশন ট্র্যাক করতে রিটেনশন (১ দিন), রিটেনশন (২-৩ দিন), রিটেনশন (৪-৭ দিন)।

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

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

মেট্রিক বিবরণ
ক্র্যাশ-ফ্রি ব্যবহারকারী আপনার অ্যাপে কত শতাংশ ব্যবহারকারী কোনও সমস্যার সম্মুখীন হননি, যা এক্সপেরিমেন্ট চলাকালীন Firebase Crashlytics SDK শনাক্ত করেছে।

মনে রাখবেন: ওয়েব অ্যাপ্লিকেশনের জন্য Firebase Crashlytics কাজ করে না।

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

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

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

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

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

BigQuery ডেটা এক্সপোর্ট

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

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

  1. Firebase কনসোলে, সেটিংস > ইন্টিগ্রেশন ট্যাব বিকল্পে যান।

  2. BigQuery কার্ডে, ম্যানেজ করুন বিকল্পে ক্লিক করুন এবং যাচাই করুন যে আপনার প্রোজেক্ট BigQuery-এ Analytics ডেটা এক্সপোর্ট করছে।

    কার্ডে লিঙ্ক করুন লেখা থাকলে, আপনাকে এক্সপোর্ট সেট-আপ করতে হবে (পরবর্তী ধাপে এগিয়ে যান)।

  3. আপনাকে এক্সপোর্ট সেট-আপ করতে হলে:

    1. BigQuery-এর সাথে Firebase লিঙ্ক করা সম্পর্কে পর্যালোচনা করুন, তারপর পরবর্তী বিকল্পে ক্লিক করুন।

    2. ইন্টিগ্রেশন কনফিগার করুন বিভাগে, Google Analytics চালু করুন।

    3. একটি অঞ্চল বেছে নিন এবং এক্সপোর্ট সেটিংস বেছে নিন।

    4. 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 '20260202' AND '20260502' উল্লেখ করতে হবে। উদাহরণ হিসেবে, নির্দিষ্ট পরীক্ষার ভ্যালু বেছে নিন দেখুন।
  • ইভেন্টের নাম: সাধারণত, এগুলি আপনার লক্ষ্য মেট্রিকের সাথে সম্পর্কিত যা আপনি এক্সপেরিমেন্টে কনফিগার করেছেন। যেমন, in_app_purchase ইভেন্ট, ad_impression, বা user_retention ইভেন্ট।
থেকে আরও জানুন

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

  1. Google Cloud কনসোলে, BigQuery-এ যান।
  2. আপনার প্রোজেক্ট বেছে নিন, তারপর SQL কোয়েরি তৈরি করুন বিকল্প বেছে নিন।
  3. আপনার কোয়েরি যোগ করুন। রান করার জন্য কোয়েরির উদাহরণ দেখতে, কোয়েরির উদাহরণ এক্সপ্লোর করুন বিকল্প দেখুন।
  4. রান করুন বিকল্পে ক্লিক করুন।

Firebase কনসোলের অটোমেটিক জেনারেট করা কোয়েরি ব্যবহার করে এক্সপেরিমেন্ট ডেটা কোয়েরি করুন

আপনি Blaze প্ল্যান ব্যবহার করলে, এক্সপেরিমেন্ট ওভারভিউ পৃষ্ঠা থেকে আপনি যে এক্সপেরিমেন্ট দেখছেন সেটির নাম, ভেরিয়েন্ট, ইভেন্টের নাম এবং ইভেন্টের সংখ্যা সম্পর্কিত তথ্য সহ একটি স্যাম্পেল কোয়েরি পাবেন।

অটোমেটিক জেনারেট করা কোয়েরি পেতে ও রান করতে:

  1. Firebase কনসোলে, DevOps ও এনগেজমেন্ট > A/B টেস্টিং বিকল্পে যান।
  2. পরীক্ষার ওভারভিউ খুলতে, আপনি যে A/B Testing পরীক্ষা সম্পর্কে কোয়েরি করতে চান সেটি বেছে নিন।
  3. 'বিকল্প' মেনু থেকে, BigQuery ইন্টিগ্রেশন বিকল্পের নিচে, এক্সপেরিমেন্ট ডেটা কোয়েরি করুন বিকল্প বেছে নিন। এটি Google Cloud কনসোলের মধ্যে 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 '20260202' AND '20260502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

অতিরিক্ত কোয়েরির উদাহরণের জন্য, কোয়েরির উদাহরণ এক্সপ্লোর করুন বিকল্পে যান।

উদাহরণ কোয়েরি এক্সপ্লোর করুন

নিম্নলিখিত বিভাগগুলি থেকে আপনি কোয়েরির উদাহরণ পাবেন যা আপনি 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