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

अगर सक्रिय उपयोगकर्ता आधार वाले ऐप्लिकेशन की सेटिंग डिप्लॉय करने के लिए, Firebase रिमोट कॉन्फ़िगरेशन का इस्तेमाल किया जाता है, तो आपको यह पक्का करना होगा कि आप सही से काम कर रहे हैं. A/B टेस्टिंग एक्सपेरिमेंट का इस्तेमाल करके, इनका सबसे सही पता लगाया जा सकता है:

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

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

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

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

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

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

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

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

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

  4. अपने प्रयोग के लिए एक नाम और वैकल्पिक ब्यौरा डालें और आगे बढ़ें पर क्लिक करें.

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

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

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

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

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

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

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

    • 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& 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 इंस्टॉलेशन मैनेज करना लेख पढ़ें.

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

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

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

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

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

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

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

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

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

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

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

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

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

प्रयोग को बड़ा करें

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

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

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

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

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

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

टारगेटिंग (विज्ञापन के लिए सही दर्शक चुनना) की शर्त ऑपरेटर मान ध्यान दें
वर्शन इसमें शामिल है,
इसमें शामिल नहीं है,
पूरी तरह मैच करता है,
इसमें रेगुलर एक्सप्रेशन शामिल है
एक या उससे ज़्यादा ऐप्लिकेशन वर्शन के लिए कोई वैल्यू डालें, जिसे आपको एक्सपेरिमेंट में शामिल करना है.

किसी भी इसमें शामिल है, इसमें शामिल नहीं है या पूरी तरह मेल खाता है ऑपरेटर का इस्तेमाल करते समय, वैल्यू की कॉमा-सेपरेटेड लिस्ट दी जा सकती है.

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

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

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

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

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

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

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

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

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

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

A/B टेस्टिंग मेट्रिक

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

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

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

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

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

मेट्रिक जानकारी
वे उपयोगकर्ता जिनके ऐप बंद नहीं हुए उन उपयोगकर्ताओं का प्रतिशत जिन्हें आपके ऐप्लिकेशन में गड़बड़ियां नहीं मिली हैं. इन गड़बड़ियों का पता प्रयोग के दौरान Firebase Crashlytics SDK ने लगाया है.
विज्ञापन से मिलने वाला अनुमानित रेवेन्यू विज्ञापन से अनुमानित आमदनी.
अनुमानित कुल रेवेन्यू खरीदारी और विज्ञापन से होने वाली अनुमानित आय का कुल मान.
खरीदारी से मिलने वाला रेवेन्यू सभी purchase और in_app_purchase इवेंट के लिए वैल्यू.
निजी डेटा का रखरखाव (एक दिन में) ऐसे लोगों की संख्या जो हर दिन आपके ऐप्लिकेशन पर वापस आते हैं.
निजी डेटा का रखरखाव (दो से तीन दिन) ऐसे उपयोगकर्ताओं की संख्या जो दो से तीन दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
निजी डेटा का रखरखाव (चार से सात दिन) उन उपयोगकर्ताओं की संख्या जो चार से सात दिनों के अंदर आपके ऐप्लिकेशन पर वापस आते हैं.
निजी डेटा का रखरखाव (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 का डेटा एक्सपोर्ट करना

Firebase कंसोल में, A/B टेस्टिंग वाले एक्सपेरिमेंट का डेटा देखने के अलावा, BigQuery में एक्सपेरिमेंट के डेटा की जांच और उसका विश्लेषण भी किया जा सकता है. A/B टेस्टिंग में अलग से कोई BigQuery टेबल नहीं होती, लेकिन एक्सपेरिमेंट और वैरिएंट की सदस्यताएं, Analytics की इवेंट टेबल में मौजूद हर Google Analytics इवेंट पर सेव होती हैं.

उपयोगकर्ता प्रॉपर्टी में एक्सपेरिमेंट की जानकारी userProperty.key like "firebase_exp_%" या userProperty.key = "firebase_exp_01" फ़ॉर्मैट में होती है. इसमें 01 एक्सपेरिमेंट आईडी होता है और userProperty.value.string_value में एक्सपेरिमेंट के वैरिएंट का इंडेक्स (शून्य पर आधारित) होता है.

एक्सपेरिमेंट का डेटा एक्सट्रैक्ट करने के लिए, एक्सपेरिमेंट की इन उपयोगकर्ता प्रॉपर्टी का इस्तेमाल किया जा सकता है. इससे आपको अपने एक्सपेरिमेंट के नतीजों को कई अलग-अलग तरीकों से बांटने और A/B टेस्टिंग के नतीजों की स्वतंत्र रूप से पुष्टि करने की सुविधा मिलती है.

शुरू करने के लिए, इस गाइड में बताए गए निर्देशों का पालन करें:

  1. Firebase कंसोल में, Google Analytics के लिए BigQuery Export चालू करें
  2. BigQuery का इस्तेमाल करके, A/B टेस्टिंग डेटा को ऐक्सेस करना
  3. क्वेरी के उदाहरण एक्सप्लोर करना

Firebase कंसोल में, Google Analytics के लिए BigQuery Export चालू करें

अगर Spark प्लान लिया गया है, तो BigQuery सैंडबॉक्स का इस्तेमाल करके, बिना किसी शुल्क के BigQuery को ऐक्सेस किया जा सकता है. हालांकि, इस पर सैंडबॉक्स की सीमाएं लागू होती हैं. ज़्यादा जानकारी के लिए, कीमत और BigQuery सैंडबॉक्स देखें.

सबसे पहले, यह पक्का करें कि आपने अपना Analytics डेटा BigQuery में एक्सपोर्ट किया है:

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

  6. BigQuery से जोड़ें पर क्लिक करें.

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

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

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

  • एक्सपेरिमेंट आईडी: इसे एक्सपेरिमेंट की खास जानकारी पेज के यूआरएल से देखा जा सकता है. उदाहरण के लिए, अगर आपका यूआरएल 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 Console में BigQuery खोलें.
  2. अपना प्रोजेक्ट चुनें, फिर एसक्यूएल क्वेरी बनाएं चुनें.
  3. अपनी क्वेरी जोड़ें. चलाने के लिए क्वेरी के उदाहरण के बारे में जानने के लिए, उदाहरण वाली क्वेरी एक्सप्लोर करना देखें.
  4. Run पर क्लिक करें.

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

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

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

  1. Firebase कंसोल में, A/B टेस्टिंग खोलें और एक्सपेरिमेंट की खास जानकारी खोलने के लिए, उस A/B टेस्टिंग एक्सपेरिमेंट को चुनें जिसके लिए आपको क्वेरी करनी है.
  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 टेस्टिंग के एक्सपेरिमेंट का डेटा एक्सट्रैक्ट करने के लिए किया जा सकता है.

सभी एक्सपेरिमेंट से खरीदारी और एक्सपेरिमेंट की स्टैंडर्ड डीविएशन वैल्यू निकालें

Firebase A/B टेस्टिंग के नतीजों की अलग से पुष्टि करने के लिए, एक्सपेरिमेंट के नतीजों के डेटा का इस्तेमाल किया जा सकता है. नीचे दिया गया BigQuery एसक्यूएल स्टेटमेंट, एक्सपेरिमेंट के वैरिएंट, हर वैरिएंट में यूनीक उपयोगकर्ताओं की संख्या, और in_app_purchase और ecommerce_purchase इवेंट से हुई कुल आय को जोड़ता है. साथ ही, _TABLE_SUFFIX के शुरू और खत्म होने की बताई गई समयसीमा के दौरान सभी एक्सपेरिमेंट से जुड़े स्टैंडर्ड डेविएशन को भी दिखाता है. इस क्वेरी से मिले डेटा का इस्तेमाल, एक-टेल वाले t-टेस्ट के लिए आंकड़ों के महत्व जनरेटर के साथ किया जा सकता है. इससे यह पुष्टि की जा सकती है कि Firebase आपके विश्लेषण से मेल खाता है या नहीं.

A/B टेस्टिंग, अनुमान का हिसाब कैसे लगाती है, इस बारे में ज़्यादा जानकारी के लिए, टेस्ट के नतीजों को समझना देखें.

  /*
    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