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 टूल का 9.0.0 और इसके बाद के वर्शन और Android SDK टूल का 21.1.1 और इसके बाद के वर्शन (Firebase BoM का 30.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 regex ऑपरेटर का इस्तेमाल करते समय, RE2 फ़ॉर्मैट में रेगुलर एक्सप्रेशन बनाए जा सकते हैं. आपका रेगुलर एक्सप्रेशन, टारगेट वर्शन स्ट्रिंग का पूरा या उसका कुछ हिस्सा से मैच कर सकता है. टारगेट स्ट्रिंग के शुरू, आखिर या पूरी स्ट्रिंग से मैच करने के लिए, ^ और $ ऐंकर का भी इस्तेमाल किया जा सकता है.

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

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

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

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

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

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

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

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

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

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