মিনহাজ কাজী , ডেভেলপার অ্যাডভোকেট, গুগল অ্যানালিটিক্স - অক্টোবর 2022
বড় ডেটাসেটের জন্য সঠিক স্বতন্ত্র গণনা (অর্থাৎ কার্ডিনালিটি) পরিমাপের জন্য উল্লেখযোগ্য মেমরির প্রয়োজন হয় এবং কার্যক্ষমতা প্রভাবিত করে। সক্রিয় ব্যবহারকারী এবং সেশন সহ সর্বাধিক ব্যবহৃত মেট্রিকগুলির কার্ডিনালিটি অনুমান করতে Google Analytics 4 বৈশিষ্ট্য হাইপারলগলগ++ (HLL++) অ্যালগরিদম ব্যবহার করে। উদাহরণস্বরূপ, যখন Google Analytics UI এবং ডেটা API এর মাধ্যমে সক্রিয় ব্যবহারকারীদের দেখা হয়, তখন গণনা একটি আনুমানিক হবে৷ এই মেট্রিক্সের জন্য HLL++ ব্যবহার করা উচ্চতর অনুমান নির্ভুলতা এবং নিম্ন ত্রুটির সীমার সাথে আরও ভাল কর্মক্ষমতা নিশ্চিত করে। এই ব্লগপোস্টটি Google Analytics 4 বৈশিষ্ট্যে কীভাবে HLL++ ব্যবহার করা হয় এবং আপনি BigQuery ইভেন্ট এক্সপোর্ট ডেটা ব্যবহার করে কিছু অনুমান কীভাবে প্রতিলিপি করতে পারেন তার বিশদ বিবরণ প্রদান করে।
HLL++ সম্পর্কে
কম মেমরি ব্যবহার করে এবং কর্মক্ষমতা উন্নত করার সময় HLL++ কার্ডিনালিটি অনুমান করে । এইচএলএল++ হাইপারলগলগ অ্যালগরিদমের উপর তৈরি করা হয়েছে এবং হাইপারলগলগ ইন প্র্যাকটিস: অ্যালগরিদমিক ইঞ্জিনিয়ারিং অফ এ স্টেট অফ দ্য আর্ট কার্ডিনালিটি এস্টিমেশন অ্যালগরিদমের উপর ভিত্তি করে তৈরি করা হয়েছে। HLL++ precision
প্যারামিটারে পরিবর্তন মেমরি ব্যবহার বনাম কম্পিউটেড পরিসংখ্যানের নির্ভুলতা বাণিজ্য বন্ধ করে। প্যারামিটার মান বৃদ্ধি ত্রুটি কম করে, কিন্তু মেমরি খরচ বাড়ায়।
BigQuery-এ অনন্য গণনা বাস্তবায়ন
- সঠিক কার্ডিনালিটি পরিমাপ করতে
COUNT(DISTINCT)
ব্যবহার করুন। এই পদ্ধতির জন্য আরও মেমরির প্রয়োজন এবং এটি চালানোর জন্য বেশি সময় লাগবে, বিশেষ করে বড় ডেটাসেটের জন্য। - HLL++ এর সাথে
APPROX_COUNT_DISTINCT
আনুমানিক ফলাফল। যাইহোক,APPROX_COUNT_DISTINCT
ব্যবহারকারীদের আনুমানিক নির্ভুলতা কনফিগার করার অনুমতি দেয় না। - কাস্টম
precision
মান ব্যবহার করতে, HyperLogLog++ ফাংশন ব্যবহার করুন। অনুমোদিতprecision
মান এবং সাধারণ নির্ভুলতার জন্য আত্মবিশ্বাসের ব্যবধানের জন্য HLL++ স্কেচগুলি দেখুন। -
sparse precision
হল HLL+ এর জন্য আরেকটি প্যারামিটার। 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 ডেটার সাথে UI-এর মেট্রিক্স মেলানোর চেষ্টা করতে পারেন। নিম্নলিখিত উদাহরণগুলি অনুমান করে:
- 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 UI-তে ডেটা প্রতিলিপি করতে, 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 ইভেন্ট এক্সপোর্ট টেবিল থেকে সক্রিয় ব্যবহারকারী গণনা করতে, আপনাকে প্রথমে শুধুমাত্র সক্রিয় ব্যবহারকারীদের জন্য ইভেন্ট ফিল্টার করতে হবে। সক্রিয় ব্যবহারকারী ফিল্টার প্রয়োগ করা এই নিবন্ধের সুযোগের বাইরে।
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_*`
আপনার Google Analytics 4 প্রপার্টির জন্য BigQuery ইভেন্ট এক্সপোর্ট ডেটা থেকে অতিরিক্ত অন্তর্দৃষ্টি পেতে আপনি এই ব্লগপোস্টে বেসিক কোয়েরি এবং অ্যাডভান্সড কোয়েরি উদাহরণ সহ কোয়েরি ব্যবহার করতে পারেন। যদি আপনার সম্পত্তি উল্লেখযোগ্য পরিমাণে ইভেন্ট ডেটা তৈরি করে, তাহলে আপনি সাধারণত আপনার BigQuery কোয়েরিতে ব্যবহার করেন এমন অন্যান্য মেট্রিকের কার্ডিনালিটি অনুমান করতে HLL++ ফাংশন প্রয়োগ করতে পারেন। HLL++ সম্পর্কে আরও জানতে এবং কেন কার্ডিনালিটি গণনা বড় ডেটাসেটের জন্য ব্যয়বহুল, ক্লাউড ব্লগে গভীরতর ব্লগপোস্ট পড়ুন: বিশাল ডেটাসেটে গণনা-স্বতন্ত্র গতি বাড়াতে HLL++ ব্যবহার করুন।