A/B टेस्टिंग की मदद से, Firebase रिमोट कॉन्फ़िगरेशन के प्रयोग बनाना

जब किसी ऐप्लिकेशन के लिए सेटिंग डिप्लॉय करने के लिए Firebase Remote Config का इस्तेमाल किया जाता है, तो यह पक्का करना ज़रूरी है कि आपने सही सेटिंग चुनी हो. A/B Testing एक्सपेरिमेंट का इस्तेमाल करके, इन चीज़ों का पता लगाया जा सकता है:

  • उपयोगकर्ता अनुभव को ऑप्टिमाइज़ करने के लिए, किसी सुविधा को लागू करने का सबसे अच्छा तरीका. अक्सर, ऐप्लिकेशन डेवलपर को तब तक नहीं पता चलता कि उनके उपयोगकर्ताओं को कोई नई सुविधा या अपडेट किया गया उपयोगकर्ता अनुभव पसंद नहीं आया, जब तक कि ऐप्लिकेशन स्टोर में उनके ऐप्लिकेशन की रेटिंग कम नहीं हो जाती. A/B टेस्टिंग की मदद से यह मेज़र किया जा सकता है कि आपके उपयोगकर्ताओं को सुविधाओं के नए वैरिएंट पसंद आते हैं या वे मौजूदा ऐप्लिकेशन को ही पसंद करते हैं. साथ ही, अपने ज़्यादातर उपयोगकर्ताओं को बेसलाइन ग्रुप में रखने से यह पक्का हो जाता है कि आपके ज़्यादातर उपयोगकर्ता, प्रयोग के पूरा होने तक आपके ऐप्लिकेशन के काम करने के तरीके या दिखने में कोई बदलाव किए बिना उसका इस्तेमाल करना जारी रख सकते हैं.
  • कारोबार के लक्ष्य के लिए, उपयोगकर्ता अनुभव को ऑप्टिमाइज़ करने का सबसे अच्छा तरीका. कभी-कभी आय या ग्राहक बनाए रखने जैसी मेट्रिक को बढ़ाने के लिए, प्रॉडक्ट में बदलाव किए जाते हैं. A/B टेस्टिंग की मदद से, कारोबार का मकसद सेट किया जाता है. इसके बाद, Firebase आंकड़ों का विश्लेषण करके यह पता लगाता है कि आपके चुने गए मकसद के लिए, कोई वैरिएंट बेसलाइन से बेहतर परफ़ॉर्म कर रहा है या नहीं.

बेसलाइन के साथ सुविधा के वैरिएंट का A/B टेस्ट करने के लिए, यह तरीका अपनाएं:

  1. अपना एक्सपेरिमेंट तैयार करें.
  2. टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करें.
  3. अपना एक्सपेरिमेंट मैनेज करें.

एक प्रयोग बनाएं

Remote Config प्रयोग की मदद से, एक या उससे ज़्यादा Remote Config पैरामीटर पर कई वैरिएंट का आकलन किया जा सकता है.

  1. Firebase console में साइन इन करें और पुष्टि करें कि आपके प्रोजेक्ट में Google Analytics चालू है, ताकि प्रयोग के पास Analytics डेटा का ऐक्सेस हो.

    अगर आपने प्रोजेक्ट बनाते समय Google Analytics को चालू नहीं किया था, तो इसे इंटिग्रेशन टैब पर चालू किया जा सकता है. इस टैब को ऐक्सेस करने के लिए, Firebase कंसोल में > प्रोजेक्ट सेटिंग का इस्तेमाल करें.

  2. Firebase कंसोल के नेविगेशन मेन्यू में, दर्शकों से जुड़ें सेक्शन में जाकर, A/B Testing पर क्लिक करें.

  3. एक्सपेरिमेंट बनाएं पर क्लिक करें. इसके बाद, जिस सेवा के लिए आपको एक्सपेरिमेंट करना है उसके लिए कहा जाने पर, Remote Config चुनें.

  4. अपने एक्सपेरिमेंट के लिए नाम और जानकारी डालें. हालांकि, जानकारी डालना ज़रूरी नहीं है. इसके बाद, आगे बढ़ें पर क्लिक करें.

  5. टारगेटिंग फ़ील्ड भरें. इसके लिए, सबसे पहले वह ऐप्लिकेशन चुनें जो आपके एक्सपेरिमेंट का इस्तेमाल करता है. अपने प्रयोग में हिस्सा लेने के लिए, उपयोगकर्ताओं के किसी सबसेट को भी टारगेट किया जा सकता है. इसके लिए, और पर क्लिक करें. इसके बाद, नीचे दी गई सूची में से विकल्प चुनें:

    • वर्शन: आपके ऐप्लिकेशन का एक या उससे ज़्यादा वर्शन
    • बिल्ड नंबर: ऐप्लिकेशन का वर्शन कोड
    • भाषाएं: एक या उससे ज़्यादा भाषाएं और स्थानीय भाषाएं, जिनका इस्तेमाल उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है
    • देश/इलाका: एक या एक से ज़्यादा देश या इलाके, जहां रहने वाले उपयोगकर्ताओं को एक्सपेरिमेंट में शामिल करना है
    • उपयोगकर्ता ऑडियंस: Analytics उन उपयोगकर्ताओं को टारगेट करने के लिए इस्तेमाल की जाने वाली ऑडियंस जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है
    • उपयोगकर्ता प्रॉपर्टी: प्रयोग में शामिल किए जा सकने वाले उपयोगकर्ताओं को चुनने के लिए, एक या उससे ज़्यादा Analytics उपयोगकर्ता प्रॉपर्टी
    • पहली बार खोलना: उन उपयोगकर्ताओं को टारगेट करें जिन्होंने पहली बार आपका ऐप्लिकेशन खोला

      पहली बार खोलने के समय के आधार पर उपयोगकर्ता टारगेटिंग की सुविधा, Android या iOS ऐप्लिकेशन चुनने के बाद उपलब्ध होती है. यह नीचे दिए गए Remote Config SDK टूल के वर्शन पर काम करती है: Apple प्लैटफ़ॉर्म SDK v9.0.0+ और Android SDK v21.1.1+ (Firebase BoM v30.3.0+).

      पहले ओपन इवेंट के दौरान, क्लाइंट पर Analytics भी चालू होना चाहिए.

  6. टारगेट किए गए उपयोगकर्ताओं का प्रतिशत सेट करें: टारगेट किए गए उपयोगकर्ता में सेट की गई शर्तों से मेल खाने वाले, अपने ऐप्लिकेशन के उपयोगकर्ता आधार का प्रतिशत डालें. आपको अपने एक्सपेरिमेंट में, बेसलाइन और एक या उससे ज़्यादा वैरिएंट के बीच इसे बराबर बांटना है. यह 0.01% से 100% के बीच कोई भी प्रतिशत हो सकता है. उपयोगकर्ताओं को किसी भी क्रम में, हर प्रयोग के लिए असाइन किया जाता है. इसमें डुप्लीकेट किए गए प्रयोग भी शामिल होते हैं.

  7. इसके अलावा, ऐक्टिवेशन इवेंट सेट करें, ताकि यह पक्का किया जा सके कि आपके एक्सपेरिमेंट में सिर्फ़ उन उपयोगकर्ताओं का डेटा गिना जाए जिन्होंने पहले कोई Analytics इवेंट ट्रिगर किया है. ध्यान दें कि आपके टारगेटिंग पैरामीटर से मैच करने वाले सभी उपयोगकर्ताओं को Remote Config एक्सपेरिमेंटल वैल्यू मिलेंगी. हालांकि, आपके एक्सपेरिमेंट के नतीजों में सिर्फ़ उन उपयोगकर्ताओं को शामिल किया जाएगा जो ऐक्टिवेशन इवेंट को ट्रिगर करते हैं.

    एक मान्य प्रयोग पक्का करने के लिए, पक्का करें कि आपका चुना गया इवेंट, आपके ऐप्लिकेशन से फ़ेच की गई कॉन्फ़िगरेशन वैल्यू को चालू करने के बाद होता है. इसके अलावा, इन इवेंट का इस्तेमाल नहीं किया जा सकता, क्योंकि ये हमेशा फ़ेच की गई वैल्यू के चालू होने से पहले होते हैं:

    • app_install
    • app_remove
    • app_update
    • dynamic_link_first_open
  8. एक्सपेरिमेंट के लक्ष्यों के लिए, ट्रैक करने के लिए मुख्य मेट्रिक चुनें. साथ ही, सूची से ऐसी अन्य मेट्रिक जोड़ें जिन्हें आपको ट्रैक करना है. इनमें पहले से मौजूद मकसद (खरीदारी, आय, उपयोगकर्ताओं को बनाए रखना, क्रैश-फ़्री उपयोगकर्ता वगैरह) शामिल हैं, Analytics कन्वर्ज़न इवेंट, और अन्य Analytics इवेंट. पूरा हो जाने पर, आगे बढ़ें पर क्लिक करें.

  9. वैरिएंट सेक्शन में, एक्सपेरिमेंट के लिए एक बेसलाइन और कम से कम एक वैरिएंट चुनें. एक्सपेरिमेंट करने के लिए एक या उससे ज़्यादा पैरामीटर जोड़ने के लिए, नई सूची चुनें या बनाएं का इस्तेमाल करें. आपके पास ऐसा पैरामीटर बनाने का विकल्प है जिसका इस्तेमाल पहले Firebase कंसोल में नहीं किया गया है. हालांकि, इसका कोई असर हो, इसके लिए यह ज़रूरी है कि यह आपके ऐप्लिकेशन में मौजूद हो. अपने प्रयोग में कई पैरामीटर जोड़ने के लिए, इस चरण को दोहराया जा सकता है.

  10. (ज़रूरी नहीं) अपने एक्सपेरिमेंट में एक से ज़्यादा वैरिएंट जोड़ने के लिए, एक और वैरिएंट जोड़ें पर क्लिक करें.

  11. चुनिंदा वैरिएंट के लिए एक या उससे ज़्यादा पैरामीटर बदलें. प्रयोग में शामिल नहीं किए गए उपयोगकर्ताओं के लिए कोई भी बदलाव नहीं किए गए पैरामीटर एक जैसे होते हैं.

  12. प्रयोग के लिए वैरिएंट का वज़न देखने या बदलने के लिए, वैरिएंट का वज़न को बड़ा करें. डिफ़ॉल्ट रूप से, सभी वैरिएंट का वेट एक बराबर होता है. ध्यान दें कि वैरिएंट के वेट को घटाने या बढ़ाने से डेटा कलेक्शन में लगने वाला समय बढ़ सकता है. साथ ही, एक्सपेरिमेंट शुरू होने के बाद, वेट में बदलाव नहीं किया जा सकता.

  13. अपना एक्सपेरिमेंट सेव करने के लिए, समीक्षा करें पर क्लिक करें.

हर प्रोजेक्ट के लिए, ज़्यादा से ज़्यादा 300 एक्सपेरिमेंट चलाए जा सकते हैं. इसमें 24 एक्सपेरिमेंट चल रहे हो सकते हैं. बाकी एक्सपेरिमेंट, ड्राफ़्ट के तौर पर या पूरे हो चुके हो सकते हैं.

टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करना

हर Firebase इंस्टॉलेशन के लिए, उससे जुड़ा इंस्टॉलेशन के लिए पुष्टि करने वाला टोकन पाया जा सकता है. इस टोकन का इस्तेमाल करके, ऐसे टेस्ट डिवाइस पर प्रयोग के खास वैरिएंट की जांच की जा सकती है जिसमें आपका ऐप्लिकेशन इंस्टॉल हो. टेस्ट डिवाइस पर अपने एक्सपेरिमेंट की पुष्टि करने के लिए, यह तरीका अपनाएं:

  1. इंस्टॉलेशन के लिए पुष्टि करने वाला टोकन इस तरह पाएं:

    Swift

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

    Objective-C

    [[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+KTX

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

    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.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 टेस्टिंग पर क्लिक करें.
  3. ड्राफ़्ट (और/या रिमोट कॉन्फ़िगरेशन एक्सपेरिमेंट के लिए चल रहा है) पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट पर कर्सर घुमाएं और संदर्भ मेन्यू () पर क्लिक करें. इसके बाद, टेस्ट डिवाइस मैनेज करें पर क्लिक करें.
  4. किसी टेस्ट डिवाइस के लिए, इंस्टॉलेशन की पुष्टि करने वाला टोकन डालें और उस टेस्ट डिवाइस पर भेजने के लिए, एक्सपेरिमेंट का वैरिएंट चुनें.
  5. ऐप्लिकेशन चलाएं और पुष्टि करें कि चुना गया वैरिएंट, जांच के लिए इस्तेमाल किए जा रहे डिवाइस पर दिख रहा है या नहीं.

Firebase इंस्टॉल के बारे में ज़्यादा जानने के लिए, Firebase इंस्टॉल मैनेज करना लेख पढ़ें.

एक्सपेरिमेंट मैनेज करना

Remote Config, सूचनाएं बनाने वाले टूल या Firebase In-App Messaging की मदद से प्रयोग बनाने के बाद, उसकी पुष्टि की जा सकती है और उसे शुरू किया जा सकता है. साथ ही, प्रयोग के चलने के दौरान उसे मॉनिटर किया जा सकता है और उसमें शामिल उपयोगकर्ताओं की संख्या बढ़ाई जा सकती है.

एक्सपेरिमेंट पूरा होने के बाद, सबसे अच्छा परफ़ॉर्म करने वाले वैरिएंट में इस्तेमाल की गई सेटिंग का ध्यान रखा जा सकता है. इसके बाद, उन सेटिंग को सभी उपयोगकर्ताओं के लिए रोल आउट किया जा सकता है. इसके अलावा, कोई दूसरा एक्सपेरिमेंट भी चलाया जा सकता है.

एक प्रयोग शुरू करें

  1. Firebase कंसोल नेविगेशन मेन्यू के दिलचस्पी सेक्शन में, A/B Testing पर क्लिक करें.
  2. ड्राफ़्ट पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट के टाइटल पर क्लिक करें.
  3. यह पुष्टि करने के लिए कि आपके ऐप्लिकेशन में ऐसे उपयोगकर्ता हैं जिन्हें आपके एक्सपेरिमेंट में शामिल किया जाएगा, ड्राफ़्ट की जानकारी को बड़ा करें और टारगेटिंग और डिस्ट्रिब्यूशन सेक्शन में, 0% से ज़्यादा संख्या देखें. उदाहरण के लिए, शर्तों से मेल खाने वाले 1% उपयोगकर्ता.
  4. अपने एक्सपेरिमेंट में बदलाव करने के लिए, बदलाव करें पर क्लिक करें.
  5. अपना एक्सपेरिमेंट शुरू करने के लिए, एक्सपेरिमेंट शुरू करें पर क्लिक करें. एक समय पर, हर प्रोजेक्ट के लिए ज़्यादा से ज़्यादा 24 एक्सपेरिमेंट चलाए जा सकते हैं.

एक्सपेरिमेंट को मॉनिटर करना

जब कोई प्रयोग कुछ समय तक चल चुका हो, तो उसकी प्रोग्रेस देखी जा सकती है. साथ ही, यह भी देखा जा सकता है कि अब तक आपके प्रयोग में हिस्सा लेने वाले उपयोगकर्ताओं के लिए, नतीजे कैसा दिख रहे हैं.

  1. Firebase कंसोल के नेविगेशन मेन्यू में, दर्शकों से जुड़ें सेक्शन में जाकर, A/B Testing पर क्लिक करें.
  2. चल रहे हैं पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट के टाइटल पर क्लिक करें या उसे खोजें. इस पेज पर, अपने चल रहे एक्सपेरिमेंट के बारे में, निगरानी में रखे गए और मॉडल किए गए अलग-अलग आंकड़े देखे जा सकते हैं. इनमें ये आंकड़े भी शामिल हैं:

    • बेसलाइन से % अंतर: बेसलाइन की तुलना में, किसी वैरिएंट के लिए मेट्रिक में हुए सुधार का आकलन. इसकी गिनती, वैरिएंट की वैल्यू रेंज की तुलना, बेसलाइन की वैल्यू रेंज से करके की जाती है.
    • बुनियादी रेखा को पीछे छोड़ने की संभावना: यह अनुमानित संभावना है कि कोई वैरिएंट, चुनी गई मेट्रिक के लिए बुनियादी रेखा को पीछे छोड़ सकता है.
    • observed_metric हर उपयोगकर्ता के लिए: एक्सपेरिमेंट के नतीजों के आधार पर, यह अनुमानित रेंज है कि समय के साथ मेट्रिक की वैल्यू किस रेंज में रहेगी.
    • कुल observed_metric: बेसलाइन या वैरिएंट के लिए, इकट्ठा की गई वैल्यू. वैल्यू का इस्तेमाल यह मेज़र करने के लिए किया जाता है कि एक्सपेरिमेंट का हर वैरिएंट कितना अच्छा परफ़ॉर्म करता है. साथ ही, इसका इस्तेमाल बेहतर करने, वैल्यू की रेंज, बेसलाइन को बेहतर बनाने की संभावना, और सबसे अच्छा वैरिएंट होने की संभावना का हिसाब लगाने के लिए किया जाता है. मेज़र की जा रही मेट्रिक के आधार पर, इस कॉलम को "हर उपयोगकर्ता के लिए अवधि," "हर उपयोगकर्ता से होने वाली आय," "उपयोगकर्ता बनाए रखने की दर" या "कन्वर्ज़न रेट" के तौर पर लेबल किया जा सकता है.
  3. एक्सपेरिमेंट कुछ समय तक चलने के बाद (FCM और In-App Messaging के लिए कम से कम सात दिन या Remote Config के लिए 14 दिन), इस पेज पर मौजूद डेटा से पता चलता है कि कौनसा वैरिएंट "लीडर" है. कुछ मेज़रमेंट में बार चार्ट शामिल होता है, जो डेटा को विज़ुअल फ़ॉर्मैट में दिखाता है.

सभी उपयोगकर्ताओं के लिए एक्सपेरिमेंट को रोल आउट करना

जब कोई एक्सपेरिमेंट ज़रूरत के मुताबिक चल जाता है और आपको अपने लक्ष्य से जुड़ी मेट्रिक के लिए सबसे सही या "लीडर" वैरिएंट मिल जाता है, तो उसे अपने सभी उपयोगकर्ताओं को दिखाया जा सकता है. इससे, आपको आगे सभी उपयोगकर्ताओं के लिए पब्लिश करने के लिए कोई वैरिएंट चुनने में मदद मिलती है. भले ही, आपके एक्सपेरिमेंट में कोई साफ़ तौर पर विजेता न निकला हो, फिर भी आपके पास अपने सभी उपयोगकर्ताओं के लिए कोई वैरिएंट रिलीज़ करने का विकल्प होता है.

  1. Firebase कंसोल के नेविगेशन मेन्यू में, दर्शकों से जुड़ें सेक्शन में जाकर, A/B Testing पर क्लिक करें.
  2. पूरा हो गया या चल रहा है पर क्लिक करें. इसके बाद, उस एक्सपेरिमेंट पर क्लिक करें जिसे आपको सभी उपयोगकर्ताओं के लिए रिलीज़ करना है. इसके बाद, संदर्भ मेन्यू () पर क्लिक करें वैरिएंट को रोल आउट करें पर क्लिक करें.
  3. अपने प्रयोग को सभी उपयोगकर्ताओं के लिए रोल आउट करने के लिए, इनमें से कोई एक तरीका अपनाएं:

    • सूचनाएं बनाने वाले टूल का इस्तेमाल करने वाले एक्सपेरिमेंट के लिए, रोल आउट मैसेज डायलॉग का इस्तेमाल करें. इससे, टारगेट किए गए उन उपयोगकर्ताओं को मैसेज भेजा जा सकता है जो एक्सपेरिमेंट का हिस्सा नहीं थे.
    • Remote Config प्रयोग के लिए, कोई वैरिएंट चुनें. इससे यह तय किया जा सकेगा कि किन Remote Config पैरामीटर वैल्यू को अपडेट करना है. एक्सपेरिमेंट बनाते समय तय की गई टारगेटिंग की शर्तों को आपके टेंप्लेट में नई शर्त के तौर पर जोड़ा जाता है. इससे यह पक्का होता है कि रोल आउट का असर सिर्फ़ उन उपयोगकर्ताओं पर पड़े जिन्हें एक्सपेरिमेंट के लिए टारगेट किया गया है. बदलावों की समीक्षा करने के लिए, रिमोट कॉन्फ़िगरेशन में देखें पर क्लिक करें. इसके बाद, रोल आउट पूरा करने के लिए, बदलाव पब्लिश करें पर क्लिक करें.
    • In-App Messaging एक्सपेरिमेंट के लिए, डायलॉग का इस्तेमाल करके यह तय करें कि किस वैरिएंट को स्टैंडअलोन In-App Messaging कैंपेन के तौर पर रोल आउट करना है. चुनने के बाद, आपको FIAM की कॉम्पोज़ स्क्रीन पर रीडायरेक्ट कर दिया जाता है, ताकि पब्लिश करने से पहले, ज़रूरत पड़ने पर उसमें बदलाव किए जा सकें.

एक्सपेरिमेंट को बड़ा करना

अगर आपको लगता है कि किसी एक्सपेरिमेंट से A/B Testing को लीडर नहीं बनाया जा रहा है, तो आपके पास अपने एक्सपेरिमेंट का डिस्ट्रिब्यूशन बढ़ाने का विकल्प होता है. इससे, ऐप्लिकेशन इस्तेमाल करने वाले ज़्यादा से ज़्यादा उपयोगकर्ताओं तक पहुंचा जा सकता है.

  1. Firebase कंसोल नेविगेशन मेन्यू के दिलचस्पी सेक्शन में, A/B Testing पर क्लिक करें.
  2. वह एक्सपेरिमेंट चुनें जिसमें आपको बदलाव करना है.
  3. प्रयोग की खास जानकारी में, संदर्भ मेन्यू () पर क्लिक करें. इसके बाद, चल रहे प्रयोग में बदलाव करें पर क्लिक करें.
  4. टारगेटिंग डायलॉग, चल रहे प्रयोग में शामिल उपयोगकर्ताओं का प्रतिशत बढ़ाने का विकल्प दिखाता है. मौजूदा प्रतिशत से ज़्यादा कोई संख्या चुनें और पब्लिश करें पर क्लिक करें. प्रयोग को आपके तय किए गए उपयोगकर्ताओं के प्रतिशत के लिए चलाया जाएगा.

किसी एक्सपेरिमेंट का डुप्लीकेट बनाना या उसे रोकना

  1. Firebase कंसोल नेविगेशन मेन्यू के दिलचस्पी सेक्शन में, A/B Testing पर क्लिक करें.
  2. पूरा हो चुका या चल रहा है पर क्लिक करें. इसके बाद, अपने एक्सपेरिमेंट पर कर्सर घुमाएं और संदर्भ मेन्यू () पर क्लिक करें. इसके बाद, एक्सपेरिमेंट का डुप्लीकेट बनाएं या एक्सपेरिमेंट बंद करें पर क्लिक करें.

उपयोगकर्ता टारगेटिंग

उपयोगकर्ता को टारगेट करने से जुड़ी इन शर्तों का इस्तेमाल करके, अपने प्रयोग में शामिल करने के लिए उपयोगकर्ताओं को टारगेट किया जा सकता है.

टारगेटिंग की शर्त ऑपरेटर    वैल्यू ध्यान दें
वर्शन contains,
does not contain,
matches exactly,
contains regex
एक या उससे ज़्यादा ऐप्लिकेशन वर्शन के लिए वैल्यू डालें जिन्हें आपको प्रयोग में शामिल करना है.

इसमें शामिल है, इसमें शामिल नहीं है या एग्ज़ैक्ट मैच ऑपरेटर का इस्तेमाल करते समय, वैल्यू की सूची को कॉमा लगाकर अलग-अलग किया जा सकता है.

contains regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग का पूरा या उसका कुछ हिस्सा से मैच कर सकता है. टारगेट स्ट्रिंग के शुरू, आखिर या पूरी स्ट्रिंग से मैच करने के लिए, ^ और $ ऐंकर का भी इस्तेमाल किया जा सकता है.

उपयोगकर्ता ऑडियंस इनमें से सभी शामिल हैं,
इनमें से कम से कम एक शामिल है,
इनमें से सभी शामिल नहीं हैं,
इनमें से कम से कम एक शामिल नहीं है
उन उपयोगकर्ताओं को टारगेट करने के लिए, एक या उससे ज़्यादा Analytics ऑडियंस चुनें जिन्हें आपके एक्सपेरिमेंट में शामिल किया जा सकता है. Google Analytics ऑडियंस को टारगेट करने वाले कुछ एक्सपेरिमेंट में, डेटा इकट्ठा होने में कुछ दिन लग सकते हैं. इसकी वजह यह है कि इन पर Analyticsडेटा प्रोसेसिंग में लगने वाला समय लागू होता है. इस देरी का सामना आपको नए उपयोगकर्ताओं को करना पड़ सकता है. ये ऐसे उपयोगकर्ता होते हैं जो आम तौर पर, प्रोग्राम बनाने के 24 से 48 घंटे बाद, ज़रूरी शर्तें पूरी करने वाली ऑडियंस में रजिस्टर होते हैं. इसके अलावा, हाल ही में बनाए गए ऑडियंस के लिए भी इस प्रोसेस में देरी हो सकती है.

Remote Config के लिए, इसका मतलब यह है कि भले ही कोई उपयोगकर्ता तकनीकी रूप से ऑडियंस के लिए ज़रूरी शर्तें पूरी करता है, लेकिन अगर Analytics ने `फ़ेच And Activate()` के लागू होने पर उपयोगकर्ता को ऑडियंस में अब तक नहीं जोड़ा है, तो उपयोगकर्ता को एक्सपेरिमेंट में शामिल नहीं किया जाएगा.

उपयोगकर्ता प्रॉपर्टी टेक्स्ट के लिए:
इसमें शामिल है,
इसमें शामिल नहीं है,
पूरी तरह से मेल खाता है,
इसमें रेगुलर एक्सप्रेशन शामिल है

संख्याओं के लिए:
<, ≤, =, ≥, >
Analytics उपयोगकर्ता प्रॉपर्टी का इस्तेमाल, उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें किसी एक्सपेरिमेंट में शामिल किया जा सकता है. साथ ही, उपयोगकर्ता प्रॉपर्टी की वैल्यू चुनने के लिए कई विकल्प भी उपलब्ध होते हैं.

क्लाइंट पर, उपयोगकर्ता प्रॉपर्टी के लिए सिर्फ़ स्ट्रिंग वैल्यू सेट की जा सकती हैं. न्यूमेरिक ऑपरेटर का इस्तेमाल करने वाली शर्तों के लिए, Remote Config सेवा, उनसे जुड़ी उपयोगकर्ता प्रॉपर्टी की वैल्यू को पूर्णांक/फ़्लोट में बदल देती है.
इसमें रेगुलर एक्सप्रेशन शामिल है ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन की स्ट्रिंग के सभी या कुछ हिस्से से मैच कर सकता है. टारगेट स्ट्रिंग के शुरू, आखिर या पूरी स्ट्रिंग से मैच करने के लिए, ^ और $ ऐंकर का भी इस्तेमाल किया जा सकता है.
देश/क्षेत्र लागू नहीं एक या एक से ज़्यादा देशों या इलाकों के डेटा का इस्तेमाल, उपयोगकर्ताओं को चुनने के लिए किया गया है जिन्हें इस एक्सपेरिमेंट में शामिल किया जा सकता है.  
भाषाएं लागू नहीं एक या उससे ज़्यादा भाषाएं और स्थानीय भाषाएं, जिनका इस्तेमाल उन उपयोगकर्ताओं को चुनने के लिए किया जाता है जिन्हें एक्सपेरिमेंट में शामिल किया जा सकता है.  
फ़र्स्ट ओपन रिपोर्ट पहले
बाद में

आपके ऐप्लिकेशन को पहली बार खोलने के आधार पर उपयोगकर्ताओं को टारगेट करें:

  • आने वाले समय में तय की गई तारीख और समय के बाद, आपका ऐप्लिकेशन पहली बार खोलने वाले उपयोगकर्ताओं को टारगेट करने के लिए, नए उपयोगकर्ता चुनें.
  • समयसीमा चुनें, ताकि आप उन उपयोगकर्ताओं को टारगेट कर सकें जिन्होंने आपके ऐप्लिकेशन को तय की गई तारीख और समय से पहले या बाद में पहली बार खोला है. किसी समयसीमा में मौजूद उपयोगकर्ताओं को टारगेट करने के लिए, पहले और बाद की शर्तों को जोड़ें.

पहली बार खोलने पर उपयोगकर्ता टारगेटिंग की सुविधा, Android या iOS ऐप्लिकेशन चुनने के बाद उपलब्ध होती है. फ़िलहाल, यह सुविधा Remote Config SDK टूल के इन वर्शन के साथ काम करती है: Apple प्लैटफ़ॉर्म SDK टूल का 9.0.0 और इसके बाद का वर्शन और Android SDK टूल का 21.1.1 और इसके बाद का वर्शन (Firebase BoM 30.3.0 और इसके बाद का वर्शन).

पहले ओपन इवेंट के दौरान, क्लाइंट के लिए Analytics चालू होना चाहिए.

A/B Testing मेट्रिक

एक्सपेरिमेंट बनाते समय, आपको एक प्राइमरी या लक्ष्य मेट्रिक चुननी होती है. इसका इस्तेमाल, सबसे अच्छा परफ़ॉर्म करने वाले वैरिएंट का पता लगाने के लिए किया जाता है. आपको अन्य मेट्रिक भी ट्रैक करनी चाहिए, ताकि हर एक्सपेरिमेंट वैरिएंट की परफ़ॉर्मेंस को बेहतर तरीके से समझने में मदद मिल सके. साथ ही, हर वैरिएंट के लिए अलग-अलग अहम रुझानों को ट्रैक किया जा सके. जैसे, उपयोगकर्ता को अपने साथ जोड़े रखना, ऐप्लिकेशन का क्रैश या फ़्रीज़ होना, और इन-ऐप्लिकेशन खरीदारी से मिलने वाला रेवेन्यू. अपने एक्सपेरिमेंट में, ज़्यादा से ज़्यादा पांच ऐसी मेट्रिक ट्रैक की जा सकती हैं जो लक्ष्य से जुड़ी नहीं हैं.

उदाहरण के लिए, मान लें कि आपको अपने ऐप्लिकेशन में दो अलग-अलग गेम फ़्लो लॉन्च करने के लिए, Remote Config का इस्तेमाल करना है. साथ ही, आपको इन-ऐप्लिकेशन खरीदारी और विज्ञापन से मिलने वाले रेवेन्यू को ऑप्टिमाइज़ करना है. हालांकि, आपको हर वैरिएंट की स्थिरता और उपयोगकर्ता को अपने साथ जोड़े रखने से जुड़ी जानकारी भी ट्रैक करनी है. इस मामले में, कुल अनुमानित रेवेन्यू को अपने लक्ष्य की मेट्रिक के तौर पर चुना जा सकता है, क्योंकि इसमें इन-ऐप्लिकेशन खरीदारी से होने वाला रेवेन्यू और विज्ञापन से होने वाला रेवेन्यू शामिल होता है. इसके बाद, ट्रैक करने के लिए अन्य मेट्रिक के तौर पर, ये जोड़े जा सकते हैं:

  • उपयोगकर्ता को अपने साथ जोड़े रखने की दर को हर दिन और हर हफ़्ते के हिसाब से ट्रैक करने के लिए, उपयोगकर्ता को अपने साथ जोड़े रखने की दर (2-3 दिन) और उपयोगकर्ता को अपने साथ जोड़े रखने की दर (4-7 दिन) जोड़ें.
  • दोनों गेम फ़्लो के बीच स्थिरता की तुलना करने के लिए, ऐसे उपयोगकर्ता जोड़ें जिनके ऐप्लिकेशन क्रैश नहीं हुए.
  • हर तरह के रेवेन्यू के बारे में ज़्यादा जानकारी देखने के लिए, खरीदारी से होने वाला रेवेन्यू और विज्ञापन से होने वाले रेवेन्यू का अनुमान जोड़ें.

यहां दी गई टेबल में, लक्ष्य मेट्रिक और अन्य मेट्रिक का हिसाब लगाने के तरीके के बारे में जानकारी दी गई है.

लक्ष्य मेट्रिक

मेट्रिक ब्यौरा
वे उपयोगकर्ता जिनके ऐप बंद नहीं हुए उन उपयोगकर्ताओं का प्रतिशत जिन्हें आपके ऐप्लिकेशन में ऐसी गड़बड़ियों का सामना नहीं करना पड़ा जिनका पता, प्रयोग के दौरान Firebase Crashlytics SDK ने लगाया था.
विज्ञापन से मिलने वाला अनुमानित रेवेन्यू विज्ञापन से होने वाली अनुमानित आय.
अनुमानित कुल रेवेन्यू खरीदारी और विज्ञापन से होने वाली अनुमानित आय का कुल मान.
खरीदारी से हुई आय सभी purchase और in_app_purchase इवेंट की कुल वैल्यू.
ऐप्लिकेशन में बने रहने की अवधि (एक दिन) ऐसे उपयोगकर्ताओं की संख्या जो हर दिन आपके ऐप्लिकेशन पर वापस आते हैं.
उपयोगकर्ताओं को बनाए रखना (दो से तीन दिन) ऐसे उपयोगकर्ताओं की संख्या जो दो से तीन दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
उपयोगकर्ताओं का ऐप्लिकेशन इस्तेमाल करना जारी रखना (4 से 7 दिन) ऐसे उपयोगकर्ताओं की संख्या जो 4 से 7 दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
उपयोगकर्ताओं को बनाए रखना (8 से 14 दिन) ऐसे उपयोगकर्ताओं की संख्या जो 8 से 14 दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
उपयोगकर्ताओं का ऐप्लिकेशन इस्तेमाल करना जारी रखना (15 दिन से ज़्यादा) ऐसे उपयोगकर्ताओं की संख्या जो आपके ऐप्लिकेशन का आखिरी बार इस्तेमाल करने के 15 या उससे ज़्यादा दिनों बाद, ऐप्लिकेशन पर वापस आते हैं.
first_open Analytics इवेंट, जो किसी ऐप्लिकेशन को इंस्टॉल या फिर से इंस्टॉल करने के बाद, पहली बार खोलने पर ट्रिगर होता है. इसका इस्तेमाल कन्वर्ज़न फ़नल के हिस्से के तौर पर किया जाता है.

दूसरे मेट्रिक

मेट्रिक ब्यौरा
notification_dismiss Analytics इवेंट, जो सूचना कंपोज़र से भेजी गई सूचना को खारिज करने पर ट्रिगर होता है. यह सिर्फ़ Android के लिए है.
notification_receive Analytics इवेंट, जो तब ट्रिगर होता है, जब ऐप्लिकेशन बैकग्राउंड में होने के दौरान, सूचनाएं बनाने वाले टूल से भेजी गई सूचना मिलती है. यह इवेंट सिर्फ़ Android डिवाइसों पर काम करता है.
os_update एक Analytics इवेंट, जो यह ट्रैक करता है कि डिवाइस का ऑपरेटिंग सिस्टम कब नए वर्शन में अपडेट किया गया है.ज़्यादा जानने के लिए, अपने-आप इकट्ठा होने वाले इवेंट देखें.
screen_view एक Analytics इवेंट, जो आपके ऐप्लिकेशन में देखी गई स्क्रीन को ट्रैक करता है. ज़्यादा जानने के लिए, स्क्रीन व्यू ट्रैक करें देखें.
session_start एक Analytics इवेंट, जो आपके ऐप्लिकेशन में उपयोगकर्ता सेशन की गिनती करता है. ज़्यादा जानने के लिए, अपने-आप इकट्ठा होने वाले इवेंट देखें.

BigQuery डेटा एक्सपोर्ट

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 का इस्तेमाल, Firebase की अन्य सेवाओं के साथ पहले से किया जा रहा है, तो मैनेज करें पर क्लिक करें. अगर ऐसा नहीं है, तो लिंक करें पर क्लिक करें.
  3. Firebase को BigQuery से लिंक करने के बारे में जानकारी देखें. इसके बाद, आगे बढ़ें पर क्लिक करें.
  4. इंटिग्रेशन कॉन्फ़िगर करें सेक्शन में, Google Analytics टॉगल को चालू करें.
  5. कोई देश/इलाका चुनें और एक्सपोर्ट सेटिंग चुनें.

  6. BigQuery से लिंक करें पर क्लिक करें.

आपने डेटा कैसे एक्सपोर्ट किया, इसके आधार पर टेबल उपलब्ध होने में एक दिन लग सकता है. प्रोजेक्ट डेटा को BigQuery में एक्सपोर्ट करने के बारे में ज़्यादा जानने के लिए, प्रोजेक्ट डेटा को BigQuery में एक्सपोर्ट करना लेख पढ़ें.

BigQuery में A/B Testing का डेटा ऐक्सेस करना

किसी खास एक्सपेरिमेंट के लिए डेटा की क्वेरी करने से पहले, आपको अपनी क्वेरी में इस्तेमाल करने के लिए, इनमें से कुछ या सभी का इस्तेमाल करना होगा:

  • एक्सपेरिमेंट आईडी: इसे एक्सपेरिमेंट की खास जानकारी पेज के यूआरएल से पाया जा सकता है. उदाहरण के लिए, अगर आपका यूआरएल https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25 जैसा दिखता है, तो एक्सपेरिमेंट आईडी 25 है.
  • Google Analytics प्रॉपर्टी आईडी: यह आपका नौ वर्णों वाला Google Analytics प्रॉपर्टी आईडी है. इसे Google Analytics में देखा जा सकता है. साथ ही, BigQuery में भी दिखता है. ऐसा तब होता है, जब Google Analytics इवेंट टेबल (project_name.analytics_000000000.events) का नाम दिखाने के लिए, प्रोजेक्ट का नाम बड़ा किया जाता है.
  • एक्सपेरिमेंट की तारीख: तेज़ और ज़्यादा असरदार क्वेरी बनाने के लिए, अपनी क्वेरी को Google Analytics रोज़ के उन इवेंट टेबल के सेगमेंट तक सीमित रखना अच्छा होता है जिनमें आपका एक्सपेरिमेंट डेटा होता है. इन टेबल को YYYYMMDD सफ़िक्स से पहचाना जाता है. इसलिए, अगर आपका एक्सपेरिमेंट 2 फ़रवरी, 2024 से 2 मई, 2024 तक चला था, तो आपको _TABLE_SUFFIX between '20240202' AND '20240502' की जानकारी देनी होगी. उदाहरण के लिए, किसी खास एक्सपेरिमेंट की वैल्यू चुनना देखें.
  • इवेंट के नाम: आम तौर पर, ये आपके उन लक्ष्य मेट्रिक से मेल खाते हैं जिन्हें आपने एक्सपेरिमेंट में कॉन्फ़िगर किया है. उदाहरण के लिए, in_app_purchase इवेंट, ad_impression या user_retention इवेंट.
पर जाएं

अपनी क्वेरी जनरेट करने के लिए ज़रूरी जानकारी इकट्ठा करने के बाद:

  1. Google Cloud कंसोल में, BigQuery खोलें.
  2. अपना प्रोजेक्ट चुनें, फिर एसक्यूएल क्वेरी बनाएं चुनें.
  3. अपनी क्वेरी जोड़ें. क्वेरी चलाने के उदाहरण के लिए, उदाहरण के तौर पर दी गई क्वेरी एक्सप्लोर करें देखें.
  4. चालू करें पर क्लिक करें.
पर जाएं.

Firebase कंसोल की अपने-आप जनरेट हुई क्वेरी का इस्तेमाल करके, एक्सपेरिमेंट के डेटा को क्वेरी करना

अगर Blaze प्लान का इस्तेमाल किया जा रहा है, तो एक्सपेरिमेंट की खास जानकारी पेज पर एक सैंपल क्वेरी दिखती है. इससे, देखे जा रहे एक्सपेरिमेंट का नाम, वैरिएंट, इवेंट के नाम, और इवेंट की संख्या दिखती है.

अपने-आप जनरेट हुई क्वेरी पाने और उसे चलाने के लिए:

  1. Firebase कंसोल में, A/B Testing खोलें और वह A/B Testing एक्सपेरिमेंट चुनें जिसके लिए आपको क्वेरी करनी है, ताकि आप एक्सपेरिमेंट की खास जानकारी खोल सकें.
  2. विकल्प मेन्यू में, 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 '20240202' AND '20240502')
    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