আপনার পরীক্ষার ফলাফলের প্রাসঙ্গিকতা এবং উপযোগিতা বাড়াতে সাহায্য করার জন্য, এই পৃষ্ঠায় Firebase A/B Testing কীভাবে কাজ করে সে সম্পর্কে বিস্তারিত তথ্য দেওয়া হয়েছে।
নমুনার আকার
Firebase A/B Testing অনুমানের জন্য পরীক্ষা শুরু করার আগে ন্যূনতম নমুনার আকার নির্ধারণ করার প্রয়োজন হয় না। সাধারণত, আপনার এমন সর্বোচ্চ পরীক্ষামূলক এক্সপোজার লেভেল বেছে নেওয়া উচিত যা আপনার জন্য স্বস্তিদায়ক। বড় নমুনার আকার পরিসংখ্যানগতভাবে তাৎপর্যপূর্ণ ফলাফল পাওয়ার সম্ভাবনা বাড়িয়ে দেয়, বিশেষ করে যখন ভ্যারিয়েন্টগুলোর মধ্যে পারফরম্যান্সের পার্থক্য কম থাকে। আপনার পরীক্ষার বৈশিষ্ট্যগুলোর উপর ভিত্তি করে প্রস্তাবিত নমুনার আকার খুঁজে পেতে একটি অনলাইন স্যাম্পল সাইজ ক্যালকুলেটরের সাহায্য নেওয়াও আপনার জন্য সহায়ক হতে পারে।
সম্পাদনা পরীক্ষা
আপনি চলমান পরীক্ষাগুলোর নির্বাচিত প্যারামিটারগুলো সম্পাদনা করতে পারেন, যার মধ্যে রয়েছে:
- পরীক্ষার নাম
- বর্ণনা
- লক্ষ্য নির্ধারণের শর্তাবলী
- বিভিন্ন মান
একটি পরীক্ষা সম্পাদনা করতে:
- যে পরীক্ষাটি আপনি পরিবর্তন করতে চান, তার ফলাফল পৃষ্ঠাটি খুলুন।
- More মেনু থেকে, Edit running experiment নির্বাচন করুন।
- আপনার পরিবর্তনগুলো করুন, তারপর 'প্রকাশ করুন'-এ ক্লিক করুন।
মনে রাখবেন যে, চলমান পরীক্ষা চলাকালীন অ্যাপের আচরণ পরিবর্তন করলে তা ফলাফলের উপর প্রভাব ফেলতে পারে।
রিমোট কনফিগ ভ্যারিয়েন্ট অ্যাসাইনমেন্ট লজিক
যেসব ব্যবহারকারী এক্সপেরিমেন্টের টার্গেটিং-এর সমস্ত শর্ত (শতাংশ এক্সপোজার শর্ত সহ) পূরণ করেন, তাঁদেরকে ভ্যারিয়েন্ট ওয়েট এবং এক্সপেরিমেন্ট আইডি ও ব্যবহারকারীর Firebase ইনস্টলেশন আইডির হ্যাশ অনুসারে এক্সপেরিমেন্টের ভ্যারিয়েন্টগুলোতে বরাদ্দ করা হয়।
Google Analytics অডিয়েন্সগুলো তথ্য পেতে কিছুটা সময় নেয় এবং কোনো ব্যবহারকারী প্রথমবার অডিয়েন্সের শর্ত পূরণ করার সাথে সাথেই তা উপলব্ধ হয় না।
- আপনি যখন নতুন অডিয়েন্স তৈরি করেন, তখন নতুন ব্যবহারকারী জমা হতে ২৪-৪৮ ঘণ্টা সময় লাগতে পারে।
- নতুন ব্যবহারকারীরা সাধারণত যোগ্য হওয়ার ২৪-৪৮ ঘণ্টা পর যোগ্যতাসম্পন্ন দর্শকগোষ্ঠীতে অন্তর্ভুক্ত হন।
নির্দিষ্ট সময়ের জন্য টার্গেট করতে, Google Analytics এর ইউজার প্রোপার্টি অথবা দেশ বা অঞ্চল, ভাষা এবং অ্যাপ ভার্সনের মতো বিল্ট-ইন টার্গেটিং অপশনগুলো ব্যবহার করার কথা বিবেচনা করতে পারেন।
একবার কোনো ব্যবহারকারী কোনো এক্সপেরিমেন্টে প্রবেশ করলে, এক্সপেরিমেন্টটি সক্রিয় থাকা পর্যন্ত তাকে স্থায়ীভাবে তার এক্সপেরিমেন্ট ভ্যারিয়েন্টে নিযুক্ত করা হয় এবং তিনি এক্সপেরিমেন্ট থেকে প্যারামিটার মান পেতে থাকেন; এমনকি যদি তার ব্যবহারকারীর বৈশিষ্ট্য পরিবর্তিত হয় এবং তিনি এক্সপেরিমেন্টের টার্গেটিং মানদণ্ড আর পূরণ না করেন, তবুও।
সক্রিয়করণ ইভেন্ট
এক্সপেরিমেন্ট অ্যাক্টিভেশন ইভেন্টগুলো শুধুমাত্র সেইসব অ্যাপ ব্যবহারকারীদের মধ্যেই এক্সপেরিমেন্টের পরিমাপ সীমাবদ্ধ রাখে, যারা অ্যাক্টিভেশন ইভেন্টটি ট্রিগার করে। এক্সপেরিমেন্ট অ্যাক্টিভেশন ইভেন্টটি অ্যাপ দ্বারা সংগৃহীত এক্সপেরিমেন্ট প্যারামিটারগুলোর উপর কোনো প্রভাব ফেলে না; এক্সপেরিমেন্ট টার্গেটিংয়ের শর্ত পূরণকারী সকল ব্যবহারকারীই এক্সপেরিমেন্ট প্যারামিটারগুলো পাবেন। ফলস্বরূপ, এমন একটি অ্যাক্টিভেশন ইভেন্ট বেছে নেওয়া গুরুত্বপূর্ণ যা এক্সপেরিমেন্ট প্যারামিটারগুলো সংগ্রহ ও সক্রিয় করার পরে, কিন্তু অ্যাপের আচরণ পরিবর্তন করার জন্য প্যারামিটারগুলো ব্যবহার করার আগে ঘটে।
বিভিন্ন ওজন
এক্সপেরিমেন্ট তৈরির সময়, এক্সপেরিমেন্ট ব্যবহারকারীদের একটি বৃহত্তর শতাংশকে কোনো একটি ভ্যারিয়েন্টে অন্তর্ভুক্ত করার জন্য ডিফল্ট ভ্যারিয়েন্ট ওয়েট পরিবর্তন করা সম্ভব।
পরীক্ষার ফলাফল ব্যাখ্যা করুন
Firebase A/B Testing ফ্রিকোয়েন্টিস্ট ইনফারেন্স ব্যবহার করে আপনাকে এটি বুঝতে সাহায্য করে যে, আপনার পরীক্ষার ফলাফল শুধুমাত্র দৈবক্রমে ঘটার সম্ভাবনা কতটা। এই সম্ভাবনাকে একটি প্রোবাবিলিটি ভ্যালু বা পি-ভ্যালু দ্বারা প্রকাশ করা হয়। পি-ভ্যালু হলো সেই সম্ভাবনা যে, দুটি ভ্যারিয়েন্টের মধ্যে পারফরম্যান্সের এই পরিমাণ বা তার চেয়ে বড় পার্থক্য দৈবক্রমে ঘটতে পারে, যদি বাস্তবে কোনো প্রভাব না থাকে। এর মান ০ থেকে ১-এর মধ্যে থাকে। A/B Testing ০.০৫-এর একটি সিগনিফিকেন্স লেভেল ব্যবহার করা হয়, যার ফলে:
- ০.০৫-এর কম একটি পি-ভ্যালু নির্দেশ করে যে, যদি প্রকৃত পার্থক্য শূন্য হতো, তবে দৈবক্রমে এই ধরনের চরম একটি পার্থক্য ঘটার সম্ভাবনা ৫%-এরও কম। যেহেতু ০.০৫ হলো প্রান্তিক মান, তাই ০.০৫-এর কম যেকোনো পি-ভ্যালু ভ্যারিয়েন্টগুলোর মধ্যে একটি পরিসংখ্যানগতভাবে তাৎপর্যপূর্ণ পার্থক্য নির্দেশ করে।
- ০.০৫-এর বেশি পি-ভ্যালু নির্দেশ করে যে ভ্যারিয়েন্টগুলোর মধ্যে পার্থক্য পরিসংখ্যানগতভাবে তাৎপর্যপূর্ণ নয়।
পরীক্ষার তথ্য দিনে একবার রিফ্রেশ করা হয় এবং সর্বশেষ আপডেটের সময়টি পরীক্ষার ফলাফল পৃষ্ঠার শীর্ষে প্রদর্শিত হয়।
পরীক্ষার ফলাফলের গ্রাফটি নির্বাচিত মেট্রিকের ক্রমবর্ধমান গড় মান প্রদর্শন করে। উদাহরণস্বরূপ, যদি আপনি ব্যবহারকারী প্রতি বিজ্ঞাপনের আয়কে একটি মেট্রিক হিসাবে ট্র্যাক করেন, তবে এটি ব্যবহারকারী প্রতি অর্জিত আয় প্রদর্শন করে এবং যদি আপনি ক্র্যাশ-মুক্ত ব্যবহারকারীদের ট্র্যাক করেন, তবে এটি সেইসব ব্যবহারকারীর শতাংশ ট্র্যাক করে যারা কোনো ক্র্যাশের সম্মুখীন হননি। এই ডেটা পরীক্ষার শুরু থেকে ক্রমবর্ধমান থাকে।
ফলাফলগুলিকে অবজার্ভড ডেটা এবং ইনফারেন্স ডেটা— এই দুই ভাগে ভাগ করা হয়। অবজার্ভড ডেটা সরাসরি গুগল অ্যানালিটিক্স ডেটা থেকে গণনা করা হয়, এবং ইনফারেন্স ডেটা আপনাকে অবজার্ভড ডেটার পরিসংখ্যানগত তাৎপর্য মূল্যায়ন করতে সাহায্য করার জন্য পি-ভ্যালু এবং কনফিডেন্স ইন্টারভাল প্রদান করে।
প্রতিটি মেট্রিকের জন্য নিম্নলিখিত পরিসংখ্যানগুলো প্রদর্শিত হয়:
পর্যবেক্ষিত তথ্য
- ট্র্যাক করা মেট্রিকের মোট মান (ধরে রাখা ব্যবহারকারীর সংখ্যা, ক্র্যাশ হওয়া ব্যবহারকারীর সংখ্যা, মোট রাজস্ব)
- মেট্রিক-নির্দিষ্ট হার (রিটেনশন রেট, কনভার্সন রেট, প্রতি ব্যবহারকারী থেকে আয়)
- ভ্যারিয়েন্ট এবং বেসলাইনের মধ্যে শতাংশ পার্থক্য (লিফট)
অনুমান ডেটা
৯৫% CI (গড়ের পার্থক্য) এমন একটি ব্যবধি প্রদর্শন করে যা ৯৫% নিশ্চয়তার সাথে ট্র্যাক করা মেট্রিকের "প্রকৃত" মানকে ধারণ করে। উদাহরণস্বরূপ, যদি আপনার পরীক্ষার ফলাফলে আনুমানিক মোট রাজস্বের জন্য ৯৫% CI $৫ এবং $১০-এর মধ্যে হয়, তাহলে ৯৫% সম্ভাবনা আছে যে গড়ের প্রকৃত পার্থক্য $৫ এবং $১০-এর মধ্যেই থাকবে। যদি CI পরিসরে ০ অন্তর্ভুক্ত থাকে, তাহলে ভ্যারিয়েন্ট এবং বেসলাইনের মধ্যে পরিসংখ্যানগতভাবে তাৎপর্যপূর্ণ কোনো পার্থক্য শনাক্ত করা যায়নি।
কনফিডেন্স ইন্টারভালের মানগুলো ট্র্যাক করা মেট্রিকের সাথে মেলে এমন ফরম্যাটে প্রদর্শিত হয়। উদাহরণস্বরূপ, ইউজার রিটেনশনের জন্য সময় (
HH:MM:SSফরম্যাটে), প্রতি ব্যবহারকারীর বিজ্ঞাপন আয়ের জন্য USD এবং কনভার্সন রেটের জন্য শতাংশ।পি-ভ্যালু হলো এমন একটি মান, যা ভ্যারিয়েন্ট এবং বেসলাইনের মধ্যে কোনো প্রকৃত পার্থক্য না থাকার সাপেক্ষে, পরীক্ষায় প্রাপ্ত ফলাফলের মতো চরম ডেটা পর্যবেক্ষণ করার সম্ভাবনাকে প্রকাশ করে। পি-ভ্যালু যত কম হবে, পরীক্ষাটি পুনরাবৃত্তি করলে পর্যবেক্ষণকৃত পারফরম্যান্সটি সঠিক থাকবে—এই বিষয়ে আত্মবিশ্বাস তত বেশি হবে। ০.০৫ বা তার কম মান একটি তাৎপর্যপূর্ণ পার্থক্য নির্দেশ করে এবং ফলাফলগুলো দৈবক্রমে হওয়ার সম্ভাবনা কম থাকে। পি-ভ্যালু একটি এক-পার্শ্বীয় পরীক্ষার (one-tailed test) উপর ভিত্তি করে নির্ধারিত হয়, যেখানে ভ্যারিয়েন্টের মান বেসলাইনের মানের চেয়ে বেশি হয়। ফায়ারবেস (Firebase) কন্টিনিউয়াস ভ্যারিয়েবলের (যেমন রাজস্বের মতো সংখ্যাসূচক মান) জন্য একটি অসম ভ্যারিয়েন্স টি-টেস্ট (unequal variance t-test ) এবং কনভার্সন ডেটার (যেমন ব্যবহারকারী ধরে রাখা, ক্র্যাশ-মুক্ত ব্যবহারকারী, Google Analytics ইভেন্ট ট্রিগারকারী ব্যবহারকারীর মতো বাইনারি মান) জন্য অনুপাতের একটি জেড-টেস্ট (z-test) ব্যবহার করে।
পরীক্ষার ফলাফল প্রতিটি পরীক্ষামূলক রূপের জন্য গুরুত্বপূর্ণ অন্তর্দৃষ্টি প্রদান করে, যার মধ্যে অন্তর্ভুক্ত রয়েছে:
- সরাসরি পরিমাপ করা অনুযায়ী (অর্থাৎ, প্রকৃত পর্যবেক্ষণ করা ডেটা), বেসলাইনের তুলনায় প্রতিটি পরীক্ষামূলক মেট্রিক কতটা বেশি বা কম।
- ভ্যারিয়েন্ট এবং বেসলাইনের মধ্যে পর্যবেক্ষণকৃত পার্থক্যটি দৈবক্রমে ঘটার সম্ভাবনা (পি-ভ্যালু)
- এমন একটি পরিসর যা প্রতিটি পরীক্ষামূলক মেট্রিকের জন্য ভ্যারিয়েন্ট এবং বেসলাইনের মধ্যেকার 'প্রকৃত' পারফরম্যান্স পার্থক্যকে ধারণ করার সম্ভাবনা রাখে—'সর্বোত্তম পরিস্থিতি' এবং 'নিকৃষ্টতম পরিস্থিতি'র পারফরম্যান্স দৃশ্যকল্পগুলো বোঝার একটি উপায়।
গুগল অপটিমাইজ দ্বারা চালিত পরীক্ষাগুলোর ফলাফল ব্যাখ্যা করুন।
২০২৩ সালের ২৩শে অক্টোবরের আগে শুরু হওয়া এক্সপেরিমেন্টগুলোর Firebase A/B Testing ফলাফল গুগল অপটিমাইজ দ্বারা পরিচালিত হয়েছিল। গুগল অপটিমাইজ আপনার এক্সপেরিমেন্টের ডেটা থেকে অন্তর্দৃষ্টিপূর্ণ পরিসংখ্যান তৈরি করতে বেসিয়ান ইনফারেন্স ব্যবহার করেছে।
ফলাফলগুলিকে 'পর্যবেক্ষিত ডেটা' এবং 'মডেলকৃত ডেটা'—এই দুই ভাগে ভাগ করা হয়েছে। পর্যবেক্ষিত ডেটা সরাসরি অ্যানালিটিক্স ডেটা থেকে গণনা করা হয়েছিল, এবং মডেলকৃত ডেটা ওই পর্যবেক্ষিত ডেটার উপর আমাদের বেসিয়ান মডেল প্রয়োগ করে উদ্ভূত হয়েছিল।
প্রতিটি মেট্রিকের জন্য নিম্নলিখিত পরিসংখ্যানগুলো প্রদর্শিত হয়:
পর্যবেক্ষিত তথ্য
- মোট মান (ভেরিয়েন্টের সকল ব্যবহারকারীর মেট্রিকের যোগফল)
- গড় মান (ভেরিয়েন্টটিতে থাকা ব্যবহারকারীদের জন্য মেট্রিকের গড় মান)
- বেসলাইন থেকে % পার্থক্য
মডেল করা ডেটা
- বেসলাইনকে ছাড়িয়ে যাওয়ার সম্ভাবনা: বেসলাইনের তুলনায় এই ভ্যারিয়েন্টটির ক্ষেত্রে মেট্রিকটি বেশি হওয়ার সম্ভাবনা কতটুকু।
- বেসলাইন থেকে শতাংশ পার্থক্য: ভ্যারিয়েন্টটির মেট্রিক এবং বেসলাইনের মধ্যক মডেল অনুমানের উপর ভিত্তি করে
- মেট্রিক পরিসর: সেই পরিসর যেখানে মেট্রিকটির মান ৫০% এবং ৯৫% নিশ্চয়তার সাথে পাওয়া যাওয়ার সম্ভাবনা সবচেয়ে বেশি।
সামগ্রিকভাবে, পরীক্ষার ফলাফল থেকে পরীক্ষায় অন্তর্ভুক্ত প্রতিটি ভ্যারিয়েন্টের জন্য আমরা তিনটি গুরুত্বপূর্ণ অন্তর্দৃষ্টি লাভ করি:
- সরাসরি পরিমাপ অনুযায়ী (অর্থাৎ, প্রকৃত পর্যবেক্ষণ করা ডেটা), বেসলাইনের তুলনায় প্রতিটি পরীক্ষামূলক মেট্রিক কতটা বেশি বা কম।
- বেসিয়ান অনুমানের উপর ভিত্তি করে, প্রতিটি পরীক্ষামূলক মেট্রিক বেসলাইন / সামগ্রিকভাবে সেরার চেয়ে বেশি হওয়ার সম্ভাবনা (যথাক্রমে আরও ভালো / সেরা হওয়ার সম্ভাবনা)।
- বেসিয়ান অনুমানের উপর ভিত্তি করে প্রতিটি পরীক্ষামূলক মেট্রিকের সম্ভাব্য পরিসর—"সর্বোত্তম পরিস্থিতি" এবং "নিকৃষ্টতম পরিস্থিতি" (বিশ্বাসযোগ্য ব্যবধি)
নেতার সংকল্প
ফ্রিকোয়েন্টিস্ট ইনফারেন্স ব্যবহার করে করা এক্সপেরিমেন্টের ক্ষেত্রে, ফায়ারবেস একটি ভ্যারিয়েন্টকে লিডিং হিসেবে ঘোষণা করে যদি গোল মেট্রিক-এ ভ্যারিয়েন্টটি এবং বেসলাইনের মধ্যে পরিসংখ্যানগতভাবে তাৎপর্যপূর্ণ পারফরম্যান্সের পার্থক্য থাকে। যদি একাধিক ভ্যারিয়েন্ট এই মানদণ্ড পূরণ করে, তবে সর্বনিম্ন পি-ভ্যালুযুক্ত ভ্যারিয়েন্টটি বেছে নেওয়া হয়।
যেসব এক্সপেরিমেন্টে গুগল অপটিমাইজ ব্যবহার করা হয়েছিল, সেগুলোর ক্ষেত্রে ফায়ারবেস একটি ভ্যারিয়েন্টকে "ক্লিয়ার লিডার" হিসেবে ঘোষণা করত যদি প্রধান মেট্রিকের উপর ভিত্তি করে বেসলাইন ভ্যারিয়েন্টের চেয়ে সেটির ভালো হওয়ার সম্ভাবনা ৯৫%-এর বেশি থাকত। যদি একাধিক ভ্যারিয়েন্ট "ক্লিয়ার লিডার" হওয়ার শর্ত পূরণ করত, তবে সামগ্রিকভাবে সেরা পারফর্ম করা ভ্যারিয়েন্টটিকেই "ক্লিয়ার লিডার" হিসেবে চিহ্নিত করা হতো।
যেহেতু লিডার নির্ধারণ শুধুমাত্র প্রাথমিক লক্ষ্যের উপর ভিত্তি করে করা হয়, তাই একটি লিডিং ভ্যারিয়েন্ট চালু করার সিদ্ধান্ত নেওয়ার আগে আপনার সমস্ত প্রাসঙ্গিক বিষয় বিবেচনা করা এবং সেকেন্ডারি মেট্রিকগুলোর ফলাফল পর্যালোচনা করা উচিত। আপনি পরিবর্তনটি করার প্রত্যাশিত সুবিধা, নেতিবাচক ঝুঁকি (যেমন উন্নতির জন্য কনফিডেন্স ইন্টারভালের নিম্ন সীমা), এবং প্রাথমিক লক্ষ্য ছাড়া অন্যান্য মেট্রিকের উপর এর প্রভাব বিবেচনা করতে পারেন।
উদাহরণস্বরূপ, যদি আপনার প্রাথমিক মেট্রিক হয় ক্র্যাশ-মুক্ত ব্যবহারকারী, এবং ভ্যারিয়েন্ট A বেসলাইনের চেয়ে সুস্পষ্টভাবে এগিয়ে থাকে, কিন্তু ভ্যারিয়েন্ট A-এর ব্যবহারকারী ধরে রাখার মেট্রিক বেসলাইনের চেয়ে পিছিয়ে থাকে, তাহলে ভ্যারিয়েন্ট A আরও ব্যাপকভাবে চালু করার আগে আপনি বিষয়টি আরও খতিয়ে দেখতে পারেন।
প্রাথমিক ও মাধ্যমিক উভয় মেট্রিক জুড়ে পারফরম্যান্সের সামগ্রিক মূল্যায়নের উপর ভিত্তি করে, আপনি শুধু প্রধান ভ্যারিয়েন্টটিই নয়, যেকোনো ভ্যারিয়েন্ট চালু করতে পারেন।
পরীক্ষার সময়কাল
ফায়ারবেস সুপারিশ করে যে নিম্নলিখিত শর্তগুলো পূরণ না হওয়া পর্যন্ত একটি এক্সপেরিমেন্ট চলতে থাকবে:
- পরীক্ষাটি একটি কার্যকর ফলাফল প্রদানের জন্য পর্যাপ্ত তথ্য সংগ্রহ করেছে। পরীক্ষা এবং ফলাফলের তথ্য দিনে একবার হালনাগাদ করা হয়। আপনার পরীক্ষার জন্য প্রস্তাবিত নমুনার আকার মূল্যায়ন করতে আপনি একটি অনলাইন স্যাম্পল সাইজ ক্যালকুলেটরের সাহায্য নিতে পারেন।
- আপনার ব্যবহারকারীদের একটি প্রতিনিধিত্বমূলক নমুনা নিশ্চিত করতে এবং দীর্ঘমেয়াদী কর্মক্ষমতা পরিমাপ করার জন্য পরীক্ষাটি যথেষ্ট দীর্ঘ সময় ধরে চালানো হয়েছে। একটি সাধারণ রিমোট কনফিগ পরীক্ষার জন্য ন্যূনতম দুই সপ্তাহ সময় সুপারিশ করা হয়।
এক্সপেরিমেন্ট শুরু হওয়ার পর সর্বোচ্চ ৯০ দিন পর্যন্ত এক্সপেরিমেন্টের ডেটা প্রসেস করা হয়। ৯০ দিন পর, এক্সপেরিমেন্টটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। Firebase কনসোলে এক্সপেরিমেন্টের ফলাফল আর আপডেট করা হয় না এবং এক্সপেরিমেন্টটি এক্সপেরিমেন্ট-নির্দিষ্ট প্যারামিটার ভ্যালু পাঠানো বন্ধ করে দেয়। এই পর্যায়ে, ক্লায়েন্টরা Remote Config টেমপ্লেটে সেট করা শর্তাবলীর উপর ভিত্তি করে প্যারামিটার ভ্যালু ফেচ করা শুরু করে। আপনি এক্সপেরিমেন্টটি ডিলিট না করা পর্যন্ত পূর্ববর্তী এক্সপেরিমেন্টের ডেটা সংরক্ষিত থাকে।
BigQuery স্কিমা
Firebase কনসোলে A/B Testing এক্সপেরিমেন্টের ডেটা দেখার পাশাপাশি, আপনি BigQuery তেও এক্সপেরিমেন্টের ডেটা পরিদর্শন ও বিশ্লেষণ করতে পারেন। যদিও A/B Testing কোনো আলাদা BigQuery টেবিল নেই, এক্সপেরিমেন্ট এবং ভ্যারিয়েন্ট মেম্বারশিপগুলো প্রতিটি Google Analytics ইভেন্টের সাথে Analytics ইভেন্ট টেবিলের মধ্যেই সংরক্ষিত থাকে।
যেসব ইউজার প্রপার্টিতে এক্সপেরিমেন্টের তথ্য থাকে, সেগুলো userProperty.key like "firebase_exp_%" অথবা userProperty.key = "firebase_exp_01" এই ধরনের হয়ে থাকে, যেখানে 01 হলো এক্সপেরিমেন্ট আইডি এবং userProperty.value.string_value এক্সপেরিমেন্ট ভ্যারিয়েন্টের (শূন্য-ভিত্তিক) ইনডেক্স থাকে।
আপনি এই এক্সপেরিমেন্ট ইউজার প্রপার্টিগুলো ব্যবহার করে এক্সপেরিমেন্টের ডেটা এক্সট্র্যাক্ট করতে পারেন। এটি আপনাকে আপনার এক্সপেরিমেন্টের ফলাফলকে বিভিন্ন উপায়ে বিশ্লেষণ করার এবং A/B Testing এর ফলাফল স্বাধীনভাবে যাচাই করার ক্ষমতা দেয়।
শুরু করার জন্য, এই নির্দেশিকায় বর্ণিত অনুযায়ী নিম্নলিখিতগুলি সম্পূর্ণ করুন:
- Firebase কনসোলে Google Analytics জন্য BigQuery এক্সপোর্ট সক্রিয় করুন।
- BigQuery ব্যবহার করে A/B Testing ডেটা অ্যাক্সেস করুন
- উদাহরণ কোয়েরিগুলি অন্বেষণ করুন
Firebase কনসোলে Google Analytics জন্য BigQuery এক্সপোর্ট সক্রিয় করুন।
আপনি যদি Spark প্ল্যানে থাকেন, তাহলে Sandbox-এর সীমাবদ্ধতা সাপেক্ষে কোনো খরচ ছাড়াই BigQuery অ্যাক্সেস করতে BigQuery স্যান্ডবক্স ব্যবহার করতে পারবেন। আরও তথ্যের জন্য মূল্য নির্ধারণ এবং BigQuery স্যান্ডবক্স দেখুন।
প্রথমে, নিশ্চিত করুন যে আপনি আপনার Analytics ডেটা BigQuery তে এক্সপোর্ট করছেন।
- ইন্টিগ্রেশন ট্যাবটি খুলুন, যেটি আপনি Firebase কনসোলে > প্রজেক্ট সেটিংস ব্যবহার করে অ্যাক্সেস করতে পারবেন।
- আপনি যদি ইতিমধ্যেই অন্যান্য Firebase পরিষেবার সাথে BigQuery ব্যবহার করে থাকেন, তাহলে Manage-এ ক্লিক করুন। অন্যথায়, Link-এ ক্লিক করুন।
- Firebase-কে BigQuery এর সাথে লিঙ্ক করার বিষয়ে পর্যালোচনা করুন, তারপর Next-এ ক্লিক করুন।
- ইন্টিগ্রেশন কনফিগার করুন বিভাগে, Google Analytics টগলটি সক্রিয় করুন।
একটি অঞ্চল নির্বাচন করুন এবং রপ্তানি সেটিংস বেছে নিন।
BigQuery তে যেতে লিঙ্কে ক্লিক করুন।
আপনি কীভাবে ডেটা এক্সপোর্ট করেছেন তার উপর নির্ভর করে, টেবিলগুলো উপলব্ধ হতে একদিন পর্যন্ত সময় লাগতে পারে। BigQuery তে প্রোজেক্ট ডেটা এক্সপোর্ট করার বিষয়ে আরও তথ্যের জন্য, BigQuery তে প্রোজেক্ট ডেটা এক্সপোর্ট করুন" দেখুন।
BigQuery তে A/B Testing ডেটা অ্যাক্সেস করুন
কোনো নির্দিষ্ট পরীক্ষার ডেটার জন্য কোয়েরি করার আগে, আপনার কোয়েরিতে ব্যবহারের জন্য নিম্নলিখিতগুলির কয়েকটি বা সবগুলি সংগ্রহ করতে হবে:
- এক্সপেরিমেন্ট আইডি: আপনি এক্সপেরিমেন্ট ওভারভিউ পেজের URL থেকে এটি পেতে পারেন। উদাহরণস্বরূপ, যদি আপনার URL দেখতে
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25এর মতো হয়, তাহলে এক্সপেরিমেন্ট আইডি হবে 25 । - Google Analytics প্রপার্টি আইডি : এটি আপনার ৯-সংখ্যার Google Analytics প্রপার্টি আইডি। আপনি এটি Google Analytics মধ্যেই খুঁজে পাবেন; এছাড়াও, BigQuery তে (BigQuery) আপনার প্রোজেক্টের নামটি এক্সপ্যান্ড করলে আপনার Google Analytics ইভেন্ট টেবিলের নামটি (
project_name.analytics_000000000.events) দেখা যায়। - এক্সপেরিমেন্টের তারিখ: একটি দ্রুততর এবং আরও কার্যকর কোয়েরি তৈরি করার জন্য, আপনার কোয়েরিগুলোকে Google Analytics সেই দৈনিক ইভেন্ট টেবিল পার্টিশনগুলোর মধ্যে সীমাবদ্ধ রাখা একটি ভালো অভ্যাস, যেগুলোতে আপনার এক্সপেরিমেন্টের ডেটা থাকে—অর্থাৎ
YYYYMMDDসাফিক্স দ্বারা চিহ্নিত টেবিলগুলো। সুতরাং, যদি আপনার এক্সপেরিমেন্টটি ২ ফেব্রুয়ারি, ২০২৪ থেকে ২ মে, ২০২৪ পর্যন্ত চলে, তাহলে আপনাকে_TABLE_SUFFIX between '20240202' AND '20240502'নির্দিষ্ট করতে হবে। একটি উদাহরণের জন্য, একটি নির্দিষ্ট এক্সপেরিমেন্টের ভ্যালু নির্বাচন করুন (Select a specific experiment's values) দেখুন। - ইভেন্টের নাম: সাধারণত, এগুলো আপনার এক্সপেরিমেন্টে কনফিগার করা গোল মেট্রিকগুলোর সাথে সঙ্গতিপূর্ণ থাকে। উদাহরণস্বরূপ,
in_app_purchaseইভেন্ট,ad_impression, বাuser_retentionইভেন্ট।
আপনার কোয়েরি তৈরি করার জন্য প্রয়োজনীয় তথ্য সংগ্রহ করার পর:
- Google Cloud কনসোলে BigQuery খুলুন।
- আপনার প্রজেক্টটি নির্বাচন করুন, তারপর 'Create SQL query' নির্বাচন করুন।
- আপনার কোয়েরি যোগ করুন। চালানোর জন্য উদাহরণ কোয়েরিগুলো দেখতে, ‘উদাহরণ কোয়েরিগুলো অন্বেষণ করুন’ দেখুন।
- রান-এ ক্লিক করুন।
ফায়ারবেস কনসোলের স্বয়ংক্রিয়ভাবে তৈরি কোয়েরি ব্যবহার করে এক্সপেরিমেন্টের ডেটা অনুসন্ধান করুন।
আপনি যদি ব্লেজ প্ল্যান ব্যবহার করেন, তাহলে এক্সপেরিমেন্ট ওভারভিউ পেজটি একটি নমুনা কোয়েরি প্রদান করে, যা আপনার দেখা এক্সপেরিমেন্টটির জন্য এক্সপেরিমেন্টের নাম, ভ্যারিয়েন্ট, ইভেন্টের নাম এবং ইভেন্টের সংখ্যা ফেরত দেয়।
স্বয়ংক্রিয়ভাবে তৈরি কোয়েরিটি পেতে এবং চালাতে:
- Firebase কনসোল থেকে, A/B Testing খুলুন এবং Experiment overview খোলার জন্য আপনি যে A/B Testing এক্সপেরিমেন্টটি কোয়েরি করতে চান সেটি নির্বাচন করুন।
- Options মেনু থেকে, BigQuery integration-এর নিচে, Query experiment data নির্বাচন করুন। এটি Google Cloud কনসোলের মধ্যে BigQuery তে আপনার প্রজেক্টটি খোলে এবং একটি বেসিক কোয়েরি প্রদান করে যা আপনি আপনার এক্সপেরিমেন্ট ডেটা কোয়েরি করতে ব্যবহার করতে পারেন।
নিম্নলিখিত উদাহরণটি "Winter welcome experiment" নামক একটি এক্সপেরিমেন্টের জন্য তৈরি করা কোয়েরি দেখাচ্ছে, যেখানে বেসলাইন সহ তিনটি ভ্যারিয়েন্ট রয়েছে। এটি প্রতিটি ইভেন্টের জন্য সক্রিয় এক্সপেরিমেন্টের নাম, ভ্যারিয়েন্টের নাম, অনন্য ইভেন্ট এবং ইভেন্টের সংখ্যা ফেরত দেয়। উল্লেখ্য যে, কোয়েরি বিল্ডারটি টেবিলের নামে আপনার প্রজেক্টের নাম উল্লেখ করে না, কারণ এটি সরাসরি আপনার প্রজেক্টের মধ্যেই খোলে।
/*
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 স্টেটমেন্টটি _TABLE_SUFFIX শুরু এবং শেষের তারিখ হিসাবে নির্দিষ্ট করা সময়সীমার মধ্যে সমস্ত এক্সপেরিমেন্টের জন্য এক্সপেরিমেন্টের ভ্যারিয়েন্ট, প্রতিটি ভ্যারিয়েন্টের অনন্য ব্যবহারকারীর সংখ্যা, in_app_purchase এবং ecommerce_purchase ইভেন্ট থেকে মোট রাজস্বের যোগফল এবং স্ট্যান্ডার্ড ডেভিয়েশন বের করে। ফায়ারবেস প্রদত্ত ফলাফল আপনার নিজের বিশ্লেষণের সাথে মেলে কিনা তা যাচাই করার জন্য, আপনি এই কোয়েরি থেকে প্রাপ্ত ডেটা একটি স্ট্যাটিস্টিক্যাল সিগনিফিকেন্স জেনারেটরের সাথে ওয়ান-টেইলড টি-টেস্টের জন্য ব্যবহার করতে পারেন।
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
সীমা
A/B Testing মোট ৩০০টি এক্সপেরিমেন্ট, ২৪টি চলমান এক্সপেরিমেন্ট এবং ২৪টি ড্রাফট এক্সপেরিমেন্টে সীমাবদ্ধ। এই সীমাবদ্ধতাগুলো Remote Config রোলআউটের ক্ষেত্রেও প্রযোজ্য। উদাহরণস্বরূপ, যদি আপনার দুটি চলমান রোলআউট এবং তিনটি চলমান এক্সপেরিমেন্ট থাকে, তাহলে আপনি সর্বোচ্চ ১৯টি অতিরিক্ত রোলআউট বা এক্সপেরিমেন্ট যোগ করতে পারবেন।
যদি আপনি মোট ৩০০টি পরীক্ষার সীমায় অথবা ২৪টি খসড়া পরীক্ষার সীমায় পৌঁছে যান, তবে নতুন একটি তৈরি করার আগে আপনাকে অবশ্যই বিদ্যমান একটি পরীক্ষা মুছে ফেলতে হবে।
যদি আপনি ২৪টি চলমান এক্সপেরিমেন্ট এবং রোলআউটের সীমায় পৌঁছে যান, তবে নতুন একটি শুরু করার আগে আপনাকে অবশ্যই একটি চলমান এক্সপেরিমেন্ট বা রোলআউট বন্ধ করতে হবে।
একটি এক্সপেরিমেন্টে সর্বোচ্চ ৮টি ভ্যারিয়েন্ট (বেসলাইন সহ) এবং প্রতিটি ভ্যারিয়েন্টের জন্য ২৫টি পর্যন্ত প্যারামিটার থাকতে পারে। একটি এক্সপেরিমেন্টের সাইজ প্রায় ২০০ KiB পর্যন্ত হতে পারে। এর মধ্যে ভ্যারিয়েন্টের নাম, ভ্যারিয়েন্টের প্যারামিটার এবং অন্যান্য কনফিগারেশন মেটাডেটা অন্তর্ভুক্ত থাকে।