A/B পরীক্ষার মাধ্যমে মেসেজিং পরীক্ষা তৈরি করুন

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

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

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

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

নোটিফিকেশন কম্পোজার ব্যবহার করে এমন একটি এক্সপেরিমেন্ট আপনাকে একটিমাত্র নোটিফিকেশন মেসেজের একাধিক ভ্যারিয়েন্ট মূল্যায়ন করার সুযোগ দেয়।

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

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

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

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

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

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

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

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

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

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

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

  11. আপনার বার্তার জন্য বিকল্পগুলি বেছে নিন:

    • ডেলিভারির তারিখ: সেভ করার সাথে সাথেই আপনার এক্সপেরিমেন্টটি চালু করতে 'এখনই পাঠান' (Send Now) বেছে নিন, অথবা ভবিষ্যতে একটি নির্দিষ্ট সময়ে এটি চালু করার জন্য 'নির্ধারিত' (Scheduled) বিকল্পটি বেছে নিন।
    • উন্নত বিকল্পসমূহ: আপনার এক্সপেরিমেন্টে অন্তর্ভুক্ত সমস্ত নোটিফিকেশনের জন্য উন্নত বিকল্পসমূহ বেছে নিতে, ‘উন্নত বিকল্পসমূহ’ প্রসারিত করুন এবং তারপরে তালিকাভুক্ত যেকোনো মেসেজ বিকল্প পরিবর্তন করুন।
  12. আপনার পরীক্ষাটি সংরক্ষণ করতে 'রিভিউ' ক্লিক করুন।

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

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

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

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

    সুইফট

    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)")
      }
    }

    উদ্দেশ্য-সি

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

    সি++

    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.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 কনসোলের নেভিগেশন বারে, A/B Testing-এ ক্লিক করুন।
  3. Draft-এ ক্লিক করুন, আপনার এক্সপেরিমেন্টের উপর মাউস রাখুন, কনটেক্সট মেনুতে ( ) ক্লিক করুন এবং তারপরে Manage test devices-এ ক্লিক করুন।
  4. টেস্ট ডিভাইসের জন্য FCM টোকেনটি প্রবেশ করান এবং সেই টেস্ট ডিভাইসে পাঠানোর জন্য এক্সপেরিমেন্ট ভ্যারিয়েন্টটি বেছে নিন।
  5. অ্যাপটি চালান এবং নিশ্চিত করুন যে নির্বাচিত ভ্যারিয়েন্টটি টেস্ট ডিভাইসে পাওয়া যাচ্ছে।

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

আপনি 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-এ ক্লিক করুন।

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

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

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

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

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

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

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

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

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

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

উদাহরণস্বরূপ, ধরুন আপনি আপনার অ্যাপে নতুন ইন-অ্যাপ পারচেজ যুক্ত করেছেন এবং দুটি ভিন্ন "নাজ" মেসেজের কার্যকারিতা তুলনা করতে চান। এক্ষেত্রে, আপনি পারচেজ রেভিনিউ -কে আপনার গোল মেট্রিক হিসেবে সেট করার সিদ্ধান্ত নিতে পারেন, কারণ আপনি চান যে বিজয়ী ভ্যারিয়েন্টটি সেই নোটিফিকেশনটিকে প্রতিনিধিত্ব করুক যার ফলে সর্বোচ্চ ইন-অ্যাপ পারচেজ রেভিনিউ এসেছে। এবং যেহেতু আপনি এটাও ট্র্যাক করতে চান যে কোন ভ্যারিয়েন্টটি ভবিষ্যতে বেশি কনভার্সন এনেছে এবং ইউজার ধরে রেখেছে, তাই আপনি '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 স্যান্ডবক্স ব্যবহার করতে পারবেন। আরও তথ্যের জন্য Pricing এবং 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