Google Analytics में अनुमानित संख्या का यूनीक अनुमान

मिन्हाज़ काज़ी, Google Analytics के डेवलपर एडवोकेट – अक्टूबर 2022

बड़े डेटासेट के लिए, बिलकुल अलग तरह की संख्या (जैसे, एलिमेंट की संख्या) को मेज़र करने की ज़रूरत होती है की मेमोरी उपलब्ध कराई जाती है और इससे परफ़ॉर्मेंस पर असर पड़ता है. Google Analytics 4 प्रॉपर्टी सबसे ज़्यादा इस्तेमाल की जाने वाली मेट्रिक के लिए, एलिमेंट की संख्या का अनुमान लगाने के लिए HyperLog++ (HLL++) एल्गोरिदम इसमें सक्रिय उपयोगकर्ता और सेशन शामिल हैं. उदाहरण के लिए, चालू है उपयोगकर्ता Google Analytics के यूज़र इंटरफ़ेस (यूआई) में और Data API के ज़रिए, उपयोगकर्ताओं की संख्या अनुमान है. इन मेट्रिक के लिए HLL++ का इस्तेमाल करने से बेहतर होता है परफ़ॉर्मेंस का अनुमान, ज़्यादा सटीक और कम गड़बड़ी वाली चीज़ों के साथ मिलता है. यह ब्लॉग पोस्ट में इस बारे में जानकारी दी गई है कि Google Analytics 4 प्रॉपर्टी में HLL++ का इस्तेमाल कैसे किया जाता है BigQuery इवेंट एक्सपोर्ट का इस्तेमाल करके, कुछ अनुमानों को कॉपी करने का तरीका भी बताया गया है डेटा शामिल है.

HLL++ के बारे में

HLL++, एलिमेंट की संख्या का अनुमान लगाता है. यह कम मेमोरी का इस्तेमाल करता है और परफ़ॉर्मेंस को बेहतर बनाता है. HLL++ में HyperLog एल्गोरिदम के ज़रिए किए गए सुधार किए गए हैं. यह इन पर आधारित है हाइपरलॉग इन प्रैक्टिस: अल्गोरिदमिक इंजीनियरिंग ऑफ़ अ स्टेट ऑफ़ द आर्ट एलिमेंट की संख्या का अनुमान लगाने का एल्गोरिदम. HLL++ precision पैरामीटर में बदलाव इसका मतलब है कि दिए गए आंकड़ों के सटीक होने के मुकाबले, मेमोरी के इस्तेमाल में छूट मिलेगी. अपनी पैरामीटर मान गड़बड़ी को कम करता है, लेकिन मेमोरी की खपत को बढ़ाता है.

BigQuery में यूनीक काउंट लागू करना

  • एलिमेंट की सटीक संख्या मेज़र करने के लिए, COUNT(DISTINCT) का इस्तेमाल करें. इस तरीके का इस्तेमाल करने के लिए, और मेमोरी की क्षमता ज़्यादा होती है और इसे चलाने में ज़्यादा समय लगता है. खास तौर पर, बड़े डेटासेट की वजह से.
  • APPROX_COUNT_DISTINCT HLL++ के साथ नतीजों का अनुमान लगाता है. हालांकि, APPROX_COUNT_DISTINCT, उपयोगकर्ताओं को अनुमान कॉन्फ़िगर करने की अनुमति नहीं देता है कितना सटीक है.
  • पसंद के मुताबिक precision वैल्यू का इस्तेमाल करने के लिए, HyperLog++ फ़ंक्शन का इस्तेमाल करें. यहां जाएं: अनुमति वाली precision वैल्यू और कॉन्फ़िडेंस के लिए HLL++ स्केच सामान्य सटीक के लिए इंटरवल.
  • HLL+ के लिए एक और पैरामीटर sparse precision है. BigQuery में, sparse precision वैल्यू को उपयोगकर्ता तय नहीं कर सकता और न ही इसे precision + 5 पर सेट किया गया है.

Google Analytics 4 प्रॉपर्टी में HLL++ लागू करना

Google Analytics 4, एलिमेंट की संख्या मेज़र करने के लिए इस कॉन्फ़िगरेशन का इस्तेमाल करता है मेट्रिक के बारे में ज़्यादा जानें.

मेट्रिक precision sparse precision
सेशन 12 17
सक्रिय उपयोगकर्ता 14 25
कुल उपयोगकर्ता 14 25

Google Analytics इवेंट डेटा के साथ BigQuery HLL++ फ़ंक्शन का इस्तेमाल करना

अगर आपकी Google Analytics 4 प्रॉपर्टी का इवेंट डेटा, BigQuery में उपलब्ध है, तो यूज़र इंटरफ़ेस (यूआई) की मेट्रिक को BigQuery डेटा के साथ मैच करने की कोशिश कर सकता है. ये उदाहरण मान लें:

  • Google Analytics 4 के लिए, रिपोर्टिंग आइडेंटिफ़ायर को By device only पर सेट किया गया है प्रॉपर्टी.
  • अंतर की अन्य वजहें, जैसे कि रिपोर्टिंग टाइमज़ोन, पहले से ही मौजूद है समाधान किया गया है.

कुल उपयोगकर्ता

COUNT(DISTINCT) का इस्तेमाल करके सटीक गिनती:

SELECT
  COUNT(DISTINCT user_pseudo_id) AS exact_total_user_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`

APPROX_COUNT_DISTINCT का इस्तेमाल करके अनुमानित संख्या:

SELECT
  APPROX_COUNT_DISTINCT(user_pseudo_id) AS approx_total_user_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`

BigQuery HLL++ फ़ंक्शन का इस्तेमाल करके, APPROX_COUNT_DISTINCT को कॉपी किया जा सकता है. यह APPROX_COUNT_DISTINCT के समान या बहुत मिलते-जुलते परिणाम देगा:

SELECT
  HLL_COUNT.EXTRACT(HLL_COUNT.INIT(user_pseudo_id, 15)) AS approx_total_user_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`

और आखिर में, Google Analytics यूज़र इंटरफ़ेस (यूआई) में डेटा की कॉपी बनाने के लिए, precision = 14 का इस्तेमाल करें:

SELECT
  HLL_COUNT.EXTRACT(HLL_COUNT.INIT(user_pseudo_id, 14)) AS total_user_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`

सक्रिय उपयोगकर्ता

BigQuery इवेंट एक्सपोर्ट टेबल से सक्रिय उपयोगकर्ताओं की संख्या का हिसाब लगाने के लिए, सबसे पहले सिर्फ़ सक्रिय उपयोगकर्ताओं के लिए इवेंट फ़िल्टर करने हों. Active उपयोगकर्ता फ़िल्टर, इस लेख के दायरे से बाहर है.

WITH ActiveUsers AS
(
  SELECT
    user_pseudo_id
  FROM
    `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
  WHERE
  <implement active user filter logic>
)
SELECT
  HLL_COUNT.EXTRACT(HLL_COUNT.INIT(user_pseudo_id, 14)) AS active_user_count,
FROM ActiveUsers

सेशन

ga_session_id इवेंट पैरामीटर, एक उपयोगकर्ता के तौर पर उपलब्ध है. user_pseudo_id और ga_session_id का कॉम्बिनेशन होगा यूनीक सेशन के लिए, आपके पूरे डेटासेट में यूनीक होता है. यह Google Analytics 4 प्रॉपर्टी के लिए सेशन की गिनती के सेशन. सेशन के लिए, precision 12 साल है.

SELECT
  HLL_COUNT.EXTRACT(
    HLL_COUNT.INIT(
      CONCAT(
        user_pseudo_id,
        (SELECT `value` FROM UNNEST(event_params) WHERE key = 'ga_session_id' LIMIT 1).int_value),
      12)) AS session_count,
FROM `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`

आप इस ब्लॉग पोस्ट में बुनियादी क्वेरी और BigQuery इवेंट से ज़्यादा इनसाइट पाने के लिए, ऐडवांस क्वेरी के उदाहरण अपनी Google Analytics 4 प्रॉपर्टी के लिए डेटा एक्सपोर्ट करें. अगर आपकी प्रॉपर्टी इवेंट डेटा का एक बड़ा हिस्सा है, तो HLL++ फ़ंक्शन का इस्तेमाल इन कामों के लिए भी किया जा सकता है BigQuery में आम तौर पर इस्तेमाल की जाने वाली अन्य मेट्रिक की एलिमेंट की संख्या का अनुमान लगाया जाता है क्वेरी. HLL++ के बारे में ज़्यादा जानने के साथ-साथ यह भी जानें कि एलिमेंट की संख्या की गिनती करना महंगा क्यों है बड़े डेटासेट के लिए, क्लाउड ब्लॉग पर ज़्यादा जानकारी वाली ब्लॉग पोस्ट पढ़ें: बड़े पैमाने पर डेटासेट में अलग-अलग गिनती को तेज़ी से करने के लिए HLL++ का इस्तेमाल करना.