যখন আপনি সক্রিয় ব্যবহারকারী আছে এমন কোনো অ্যাপ্লিকেশনের জন্য সেটিংস ডেপ্লয় করতে Firebase Remote Config ব্যবহার করেন, তখন আপনাকে নিশ্চিত করতে হবে যে কাজটি সঠিকভাবে হচ্ছে। নিম্নলিখিত বিষয়গুলো সবচেয়ে ভালোভাবে নির্ধারণ করার জন্য আপনি A/B Testing এক্সপেরিমেন্ট ব্যবহার করতে পারেন:
- ব্যবহারকারীর অভিজ্ঞতা উন্নত করার জন্য কোনো ফিচার প্রয়োগ করার সেরা উপায় হলো A/B Testing পরিমাপ করতে সাহায্য করে যে আপনার ব্যবহারকারীরা ফিচারের নতুন সংস্করণগুলো পছন্দ করছেন, নাকি তারা অ্যাপটির বর্তমান রূপটিই বেশি পছন্দ করেন। এছাড়াও, আপনার বেশিরভাগ ব্যবহারকারীকে একটি বেসলাইন গ্রুপে রাখলে এটি নিশ্চিত হয় যে, পরীক্ষাটি শেষ না হওয়া পর্যন্ত আপনার ব্যবহারকারীদের একটি বড় অংশ অ্যাপটির আচরণ বা চেহারায় কোনো পরিবর্তন ছাড়াই এটি ব্যবহার করা চালিয়ে যেতে পারবেন।
- একটি ব্যবসায়িক লক্ষ্যের জন্য ব্যবহারকারীর অভিজ্ঞতাকে অপ্টিমাইজ করার সেরা উপায় হলো এ/বি টেস্টিং। কখনও কখনও আপনি রাজস্ব বা রিটেনশনের মতো কোনো মেট্রিককে সর্বোচ্চ করার জন্য পণ্যে পরিবর্তন আনেন। A/B Testing মাধ্যমে, আপনি আপনার ব্যবসায়িক উদ্দেশ্য নির্ধারণ করেন এবং ফায়ারবেস পরিসংখ্যানগত বিশ্লেষণ করে নির্ধারণ করে যে, কোনো ভ্যারিয়েন্ট আপনার নির্বাচিত উদ্দেশ্যের জন্য বেসলাইনের চেয়ে ভালো পারফর্ম করছে কি না।
একটি বেসলাইনের সাথে ফিচার ভ্যারিয়েন্টগুলোর A/B টেস্ট করতে, নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:
- আপনার পরীক্ষাটি তৈরি করুন।
- আপনার পরীক্ষাটি পরিচালনা করুন।
একটি পরীক্ষা তৈরি করুন
একটি Remote Config এক্সপেরিমেন্ট আপনাকে এক বা একাধিক Remote Config প্যারামিটারের একাধিক ভ্যারিয়েন্ট মূল্যায়ন করার সুযোগ দেয়।
আপনার প্রোজেক্টে Google Analytics সক্রিয় করা আছে কিনা তা যাচাই করুন, যাতে এক্সপেরিমেন্টটি Analytics ডেটা অ্যাক্সেস করতে পারে।
প্রজেক্ট তৈরি করার সময় যদি আপনি Google Analytics চালু না করে থাকেন, তাহলে আপনি এটি চালু করতে পারেন।
Firebase কনসোলের > ইন্টিগ্রেশন ট্যাব । Firebase কনসোলে, DevOps & Engagement > A/B Testing- এ যান।
Create experiment-এ ক্লিক করুন, এবং তারপরে আপনি যে পরিষেবাটি নিয়ে পরীক্ষা করতে চান তার জন্য অনুরোধ করা হলে Remote Config নির্বাচন করুন।
ভ্যারিয়েন্টস সেকশনে, পরীক্ষাটির জন্য একটি বেসলাইন এবং অন্তত একটি ভ্যারিয়েন্ট বেছে নিন। পরীক্ষা চালানোর জন্য আপনি এক বা একাধিক প্যারামিটার যোগ করতে পারেন। আপনার পরীক্ষায় একাধিক প্যারামিটার যোগ করতে আপনি এই ধাপটি পুনরাবৃত্তি করতে পারেন।
(ঐচ্ছিক) আপনার পরীক্ষায় একাধিক ভ্যারিয়েন্ট যোগ করতে, ‘Add another variant’- এ ক্লিক করুন।
নির্দিষ্ট ভ্যারিয়েন্টগুলোর জন্য এক বা একাধিক প্যারামিটার পরিবর্তন করুন। পরীক্ষায় অন্তর্ভুক্ত নন এমন ব্যবহারকারীদের জন্য অপরিবর্তিত প্যারামিটারগুলো একই থাকবে।
পরীক্ষার জন্য ভ্যারিয়েন্টের ওয়েট দেখতে বা পরিবর্তন করতে ‘Variant Weights’ অংশটি প্রসারিত করুন। ডিফল্টরূপে, প্রতিটি ভ্যারিয়েন্টকে সমান ওয়েট দেওয়া হয়। মনে রাখবেন যে, অসম ওয়েটের কারণে ডেটা সংগ্রহের সময় বেড়ে যেতে পারে এবং পরীক্ষা শুরু হয়ে গেলে ওয়েট পরিবর্তন করা যায় না ।
Remote Config শর্তাবলী ব্যবহার করে আপনার এক্সপেরিমেন্টের জন্য টার্গেটিং ক্রাইটেরিয়া নির্ধারণ করুন:
বিদ্যমান শর্ত পুনরায় ব্যবহার করুন: যদি আপনার Remote Config টেমপ্লেটে থাকা কোনো বিদ্যমান শর্ত আপনার টার্গেট অডিয়েন্সের সাথে আগে থেকেই মিলে যায়, তাহলে তালিকা থেকে সেটি নির্বাচন করুন।
শর্ত মূল্যায়নের ক্রম যাচাই করুন: নিশ্চিত করুন যে 'শর্তাবলী' পৃষ্ঠায় আপনার শর্তগুলো সঠিক অগ্রাধিকার ক্রমে সাজানো আছে। যেহেতু Remote Config শর্তগুলোকে উপর থেকে নিচে ক্রমানুসারে মূল্যায়ন করে, তাই অন্যান্য উচ্চ-অগ্রাধিকারের শর্তগুলো আপনার এক্সপেরিমেন্টের সাথে যুক্ত শর্তটিতে পর্যাপ্ত সংখ্যক ব্যবহারকারীকে পৌঁছাতে বাধা দিতে পারে।
একটি নতুন শর্ত তৈরি করুন: যদি কোনো বিদ্যমান শর্ত আপনার টার্গেটিংয়ের প্রয়োজনীয়তা পূরণ না করে, অথবা যদি আপনি একটি বিদ্যমান শর্তের প্রতিলিপি তৈরি করতে চান (উদাহরণস্বরূপ, যদি আপনি এমন কোনো শর্ত ব্যবহার করতে না চান যা ইতিমধ্যে অন্যান্য প্যারামিটার দ্বারা ব্যবহৃত হচ্ছে), তাহলে প্রথমে আপনার এক্সপেরিমেন্ট ব্যবহারকারী অ্যাপটি বেছে নিয়ে একটি নতুন শর্ত তৈরি করুন। যদি আপনি কোনো এক্সপেরিমেন্টের জন্য একটি পৃথক বা প্রতিলিপি শর্ত তৈরি করেন, তবে নিশ্চিত করুন যে নতুন শর্তটি বিদ্যমান শর্তের চেয়ে উচ্চতর অগ্রাধিকারের অবস্থানে রয়েছে; অন্যথায়, ব্যবহারকারীরা প্রথমে বিদ্যমান শর্তের সাথে মিলে যাবে এবং কোনো ব্যবহারকারী এক্সপেরিমেন্টে প্রবেশ করবে না।
এরপর আপনি ক্লিক করে এবং নিচের তালিকা থেকে এক বা একাধিক বিকল্প নির্বাচন করে ব্যবহারকারীদের একটি নির্দিষ্ট উপগোষ্ঠীকে লক্ষ্য করতে পারেন:
- সংস্করণ: আপনার অ্যাপের এক বা একাধিক সংস্করণ
- বিল্ড নম্বর: আপনার অ্যাপের বিল্ড নম্বর (অ্যাপল) বা ভার্সন কোড (অ্যান্ড্রয়েড)।
- প্ল্যাটফর্ম: এক বা একাধিক প্ল্যাটফর্ম (iOS, Android, বা Web) লক্ষ্য করা হবে
- অপারেটিং সিস্টেম: তাদের অপারেটিং সিস্টেম এবং ভার্সনের উপর ভিত্তি করে ওয়েব অ্যাপ ব্যবহারকারীদের লক্ষ্য করুন।
- ব্রাউজার: ওয়েব ব্রাউজার এবং ব্রাউজার সংস্করণের উপর ভিত্তি করে ওয়েব অ্যাপ ব্যবহারকারীদের লক্ষ্য করুন।
- ডিভাইসের বিভাগ: ব্যবহারকারীদের ডিভাইস মোবাইল নাকি নন-মোবাইল, তার উপর ভিত্তি করে ওয়েব অ্যাপ ব্যবহারকারীদের লক্ষ্য করুন।
- ভাষা: পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করার জন্য ব্যবহৃত এক বা একাধিক ভাষা এবং লোকেল।
- দেশ/অঞ্চল: পরীক্ষায় অন্তর্ভুক্ত করার জন্য ব্যবহারকারী নির্বাচনের উদ্দেশ্যে এক বা একাধিক দেশ বা অঞ্চল।
- ব্যবহারকারী অডিয়েন্স: Analytics অডিয়েন্স, যা এমন ব্যবহারকারীদের টার্গেট করতে ব্যবহৃত হয় যারা এই পরীক্ষায় অন্তর্ভুক্ত হতে পারেন।
- ব্যবহারকারীর বৈশিষ্ট্য: পরীক্ষায় অন্তর্ভুক্ত হতে পারে এমন ব্যবহারকারীদের নির্বাচন করার জন্য এক বা একাধিক Analytics ব্যবহারকারীর বৈশিষ্ট্য।
- এলোমেলো শতাংশে ব্যবহারকারী: একটি সংজ্ঞায়িত শতাংশ পরিসরের মধ্যে থেকে এলোমেলোভাবে নির্বাচিত ব্যবহারকারীদের একটি নির্দিষ্ট শতাংশকে লক্ষ্য করুন।
- ইমপোর্টেড সেগমেন্ট: আপনার প্রজেক্টে আপলোড করা কাস্টম ইমপোর্টেড সেগমেন্টের অন্তর্ভুক্ত ব্যবহারকারীদের টার্গেট করুন।
- তারিখ/সময়: একটি নির্দিষ্ট তারিখ এবং সময়ের মধ্যে ব্যবহারকারীদের লক্ষ্য করা।
- প্রথমবার খোলা: ব্যবহারকারীরা প্রথমবারের মতো আপনার অ্যাপটি খোলার উপর ভিত্তি করে তাদের লক্ষ্য করুন।
- ইনস্টলেশন আইডি: তাদের ফায়ারবেস ইনস্টলেশন আইডি (FID) ব্যবহার করে নির্দিষ্ট টেস্ট ডিভাইস বা ক্লায়েন্ট ইনস্ট্যান্সকে টার্গেট করুন।
- ব্যবহারকারী বিদ্যমান: প্রজেক্টের সমস্ত অ্যাপের সকল ব্যবহারকারীকে টার্গেট করুন।
- কাস্টম সিগন্যাল: রানটাইমে প্রেরিত কাস্টম ক্লায়েন্ট-সাইড কী-ভ্যালু সিগন্যালের উপর ভিত্তি করে ব্যবহারকারীদের টার্গেট করা।
এক্সপোজার নির্ধারণ করুন: আপনার এক্সপেরিমেন্টে বেসলাইন এবং এক বা একাধিক ভ্যারিয়েন্টের মধ্যে সমানভাবে ভাগ করার জন্য, 'টার্গেট ইউজার্স' -এর অধীনে নির্ধারিত শর্তের সাথে মেলে এমন আপনার অ্যাপের ব্যবহারকারীর শতাংশ লিখুন। এই শতাংশ ০% থেকে ১০০%-এর মধ্যে যেকোনো হতে পারে। ডুপ্লিকেট এক্সপেরিমেন্ট সহ প্রতিটি এক্সপেরিমেন্টে ব্যবহারকারীদের এলোমেলোভাবে বরাদ্দ করা হয়।
ঐচ্ছিকভাবে, একটি অ্যাক্টিভেশন ইভেন্ট সেট করুন যাতে আপনার এক্সপেরিমেন্টে শুধুমাত্র সেইসব ব্যবহারকারীর ডেটা গণনা করা হয়, যারা প্রথম কোনো Analytics ইভেন্ট ট্রিগার করেছেন। মনে রাখবেন যে, আপনার টার্গেটিং প্যারামিটারের সাথে মিলে যাওয়া সমস্ত ব্যবহারকারী Remote Config এক্সপেরিমেন্টাল ভ্যালু পাবেন, কিন্তু শুধুমাত্র তারাই আপনার এক্সপেরিমেন্টের ফলাফলে অন্তর্ভুক্ত হবেন, যারা একটি অ্যাক্টিভেশন ইভেন্ট ট্রিগার করবেন।
একটি বৈধ এক্সপেরিমেন্ট নিশ্চিত করতে, খেয়াল রাখবেন যেন আপনার নির্বাচিত ইভেন্টটি আপনার অ্যাপ দ্বারা ফেচ করা কনফিগারেশন ভ্যালুগুলো অ্যাক্টিভেট করার পরে ঘটে। এছাড়াও, নিম্নলিখিত ইভেন্টগুলো ব্যবহার করা যাবে না, কারণ এগুলো সবসময় ফেচ করা ভ্যালুগুলো অ্যাক্টিভেট হওয়ার আগে ঘটে:
-
app_install -
app_remove -
app_update
Analytics ইভেন্ট হিসেবে আপনি যে অ্যানালিটিক্স ইভেন্টটি নির্বাচন করবেন, সেটি একই এক্সপেরিমেন্টে প্রাইমারি মেট্রিক (বা অতিরিক্ত মেট্রিক) হিসেবে ব্যবহার করা যাবে না। এমনটা করলে ফায়ারবেস কনসোলে একটি ভ্যালিডেশন এরর দেখা দেবে এবং আপনার এক্সপেরিমেন্টটি চালু হতে পারবে না।
-
এক্সপেরিমেন্টের ' Goals'- এর জন্য, ট্র্যাক করার প্রধান মেট্রিকটি নির্বাচন করুন এবং তালিকা থেকে আপনি ট্র্যাক করতে চান এমন যেকোনো অতিরিক্ত মেট্রিক যোগ করুন। এগুলোর মধ্যে রয়েছে বিল্ট-ইন উদ্দেশ্যসমূহ (যেমন: ক্রয়, রাজস্ব, রিটেনশন, ক্র্যাশ-মুক্ত ব্যবহারকারী ইত্যাদি), Analytics কনভার্সন ইভেন্ট এবং অন্যান্য Analytics ইভেন্ট। কাজ শেষ হলে, 'Next'-এ ক্লিক করুন।
আপনার এক্সপেরিমেন্টটি সংরক্ষণ করতে সেভ-এ ক্লিক করুন। এক্সপেরিমেন্টটি চালানো শুরু করতে আপনাকে অবশ্যই টেমপ্লেটটি পাবলিশ করতে হবে।
প্রতিটি প্রকল্পে আপনাকে সর্বোচ্চ ৩০০টি এক্সপেরিমেন্ট (রোলআউট সহ) করার অনুমতি দেওয়া হয়েছে, যার মধ্যে সর্বোচ্চ ২৪টি চলমান এক্সপেরিমেন্ট ও রোলআউট এবং বাকিগুলো সম্পন্ন এক্সপেরিমেন্ট হিসেবে থাকবে।
আপনার পরীক্ষাটি পরিচালনা করুন
যখন আপনি Remote Config ব্যবহার করে একটি এক্সপেরিমেন্ট তৈরি করেন, তখন আপনি আপনার এক্সপেরিমেন্টটি শুরু করতে, এটি চলার সময় পর্যবেক্ষণ করতে এবং আপনার চলমান এক্সপেরিমেন্টে অন্তর্ভুক্ত ব্যবহারকারীর সংখ্যা বাড়াতে পারেন।
আপনার পরীক্ষাটি সম্পন্ন হলে, আপনি বিজয়ী ভ্যারিয়েন্টটির ব্যবহৃত সেটিংসগুলো নোট করে নিতে পারেন এবং তারপর সেই সেটিংসগুলো সকল ব্যবহারকারীর জন্য চালু করে দিতে পারেন। অথবা, আপনি আরেকটি পরীক্ষা চালাতে পারেন।
একটি পরীক্ষা সম্পাদনা করুন
- Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement বিভাগে, Remote Config ক্লিক করুন।
- A/B টেস্ট ট্যাবে ক্লিক করুন।
- Running-এ ক্লিক করুন, এরপর যে এক্সপেরিমেন্টটি সম্পাদনা করতে চান সেটিতে ক্লিক করুন।
- কন্টেক্সট মেনু ( ) ক্লিক করুন এবং চলমান এক্সপেরিমেন্ট সম্পাদনা করুন- এ ক্লিক করুন।
- আপনার অ্যাপে এমন ব্যবহারকারী আছেন কিনা যারা আপনার এক্সপেরিমেন্টে অন্তর্ভুক্ত হবেন, তা যাচাই করতে, ডিটেইলসগুলো এক্সপ্যান্ড করুন এবং টার্গেটিং অ্যান্ড ডিস্ট্রিবিউশন সেকশনে 0%-এর চেয়ে বড় কোনো সংখ্যা আছে কিনা তা দেখুন (উদাহরণস্বরূপ, ক্রাইটেরিয়ার সাথে মিলে যাওয়া ব্যবহারকারীদের 1% )।
একটি পরীক্ষা পর্যবেক্ষণ করুন
একটি পরীক্ষা কিছুক্ষণ চলার পর, আপনি এর অগ্রগতি যাচাই করতে পারেন এবং এখন পর্যন্ত আপনার পরীক্ষায় অংশগ্রহণকারী ব্যবহারকারীদের জন্য ফলাফল কেমন দেখাচ্ছে তা দেখতে পারেন।
- Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement বিভাগে, Remote Config ক্লিক করুন।
- A/B টেস্ট ট্যাবে ক্লিক করুন।
'Running'-এ ক্লিক করুন, এবং তারপর আপনার এক্সপেরিমেন্টের শিরোনামে ক্লিক করুন বা অনুসন্ধান করুন। এই পৃষ্ঠায়, আপনি আপনার চলমান এক্সপেরিমেন্ট সম্পর্কিত বিভিন্ন পর্যবেক্ষণকৃত এবং মডেলকৃত পরিসংখ্যান দেখতে পারবেন, যার মধ্যে নিম্নলিখিতগুলো অন্তর্ভুক্ত:
- বেসলাইন থেকে শতাংশ পার্থক্য : বেসলাইনের তুলনায় কোনো প্রদত্ত ভ্যারিয়েন্টের জন্য একটি মেট্রিকের উন্নতির পরিমাপ। ভ্যারিয়েন্টটির মান পরিসরকে বেসলাইনের মান পরিসরের সাথে তুলনা করে এটি গণনা করা হয়।
- বেসলাইনকে ছাড়িয়ে যাওয়ার সম্ভাবনা : নির্বাচিত মেট্রিকের ক্ষেত্রে কোনো প্রদত্ত ভ্যারিয়েন্টের বেসলাইনকে ছাড়িয়ে যাওয়ার আনুমানিক সম্ভাবনা।
- প্রতি ব্যবহারকারীর observed_metric : পরীক্ষার ফলাফলের উপর ভিত্তি করে, এটি হলো সেই পূর্বাভাসিত পরিসর যার মধ্যে সময়ের সাথে সাথে মেট্রিকের মানটি থাকবে।
- মোট observed_metric : বেসলাইন বা ভ্যারিয়েন্টের জন্য পর্যবেক্ষণকৃত ক্রমবর্ধমান মান। প্রতিটি এক্সপেরিমেন্ট ভ্যারিয়েন্ট কতটা ভালো পারফর্ম করে তা পরিমাপ করতে এবং উন্নতি , মানের পরিসর , বেসলাইনকে হারানোর সম্ভাবনা , ও সেরা ভ্যারিয়েন্ট হওয়ার সম্ভাবনা গণনা করতে এই মানটি ব্যবহৃত হয়। পরিমাপ করা মেট্রিকের উপর নির্ভর করে, এই কলামটির লেবেল "ব্যবহারকারী প্রতি সময়কাল," "ব্যবহারকারী প্রতি আয়," "রিটেনশন রেট," বা "কনভার্সন রেট" হতে পারে।
আপনার পরীক্ষাটি কিছু সময় চলার পর ( Remote Config জন্য ১৪ দিন), এই পৃষ্ঠার ডেটা থেকে জানা যায় কোন ভ্যারিয়েন্টটি (যদি থাকে) "লিডার"। কিছু পরিমাপের সাথে একটি বার চার্ট থাকে যা ডেটাগুলোকে একটি ভিজ্যুয়াল ফরম্যাটে উপস্থাপন করে।
সকল ব্যবহারকারীর জন্য একটি পরীক্ষা চালু করুন
একটি পরীক্ষা যথেষ্ট সময় ধরে চলার পর যখন আপনার কাঙ্ক্ষিত মেট্রিকের জন্য একটি 'লিডার' বা বিজয়ী ভ্যারিয়েন্ট পাওয়া যায়, তখন আপনি পরীক্ষাটি ১০০% ব্যবহারকারীর জন্য প্রকাশ করতে পারেন। এর মাধ্যমে আপনি ভবিষ্যতে সকল ব্যবহারকারীর জন্য প্রকাশ করার মতো একটি ভ্যারিয়েন্ট বেছে নিতে পারেন। এমনকি যদি আপনার পরীক্ষাটি কোনো সুস্পষ্ট বিজয়ী তৈরি না করে, তবুও আপনি আপনার সকল ব্যবহারকারীর জন্য একটি ভ্যারিয়েন্ট প্রকাশ করার সিদ্ধান্ত নিতে পারেন।
- Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement বিভাগে, Remote Config ক্লিক করুন।
- A/B টেস্ট ট্যাবে ক্লিক করুন।
- Completed বা Running-এ ক্লিক করুন, যে এক্সপেরিমেন্টটি আপনি সকল ব্যবহারকারীর জন্য রিলিজ করতে চান সেটিতে ক্লিক করুন, এরপর কনটেক্সট মেনু ( ) থেকে Roll out variant-এ ক্লিক করুন।
- নিম্নলিখিত কাজগুলো করে আপনার পরীক্ষাটি সকল ব্যবহারকারীর কাছে চালু করুন:
- একটি Remote Config এক্সপেরিমেন্টের জন্য, কোন Remote Config প্যারামিটার ভ্যালুগুলো আপডেট করতে হবে তা নির্ধারণ করতে একটি ভ্যারিয়েন্ট নির্বাচন করুন। এক্সপেরিমেন্টটি তৈরি করার সময় সংজ্ঞায়িত টার্গেটিং ক্রাইটেরিয়া আপনার টেমপ্লেটে একটি নতুন শর্ত হিসাবে যুক্ত করা হয়, যাতে রোলআউটটি শুধুমাত্র এক্সপেরিমেন্ট দ্বারা টার্গেট করা ব্যবহারকারীদের প্রভাবিত করে। পরিবর্তনগুলো পর্যালোচনা করতে 'রিমোট কনফিগ-এ রিভিউ' ক্লিক করার পর, রোলআউটটি সম্পূর্ণ করতে 'পাবলিশ চেঞ্জেস'-এ ক্লিক করুন।
একটি পরীক্ষা প্রসারিত করুন
যদি আপনি দেখেন যে কোনো একটি পরীক্ষা থেকে সেরাটিকে ঘোষণা করার জন্য A/B Testing উদ্দেশ্যে যথেষ্ট ব্যবহারকারী আসছে না, তাহলে আপনি অ্যাপটির ব্যবহারকারী গোষ্ঠীর একটি বৃহত্তর অংশের কাছে পৌঁছানোর জন্য আপনার পরীক্ষাটির পরিধি বাড়াতে পারেন।
- Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement বিভাগে, Remote Config ক্লিক করুন।
- A/B টেস্ট ট্যাবে ক্লিক করুন।
- যে চলমান পরীক্ষাটি আপনি সম্পাদনা করতে চান, সেটি নির্বাচন করুন।
- এক্সপেরিমেন্ট ওভারভিউ- তে, কনটেক্সট মেনুতে ( ) ক্লিক করুন এবং তারপরে 'Edit running experiment'-এ ক্লিক করুন।
- টার্গেটিং ডায়ালগটি চলমান এক্সপেরিমেন্টে থাকা ব্যবহারকারীদের শতাংশ বাড়ানোর একটি অপশন দেখায়। বর্তমান শতাংশের চেয়ে বেশি একটি সংখ্যা নির্বাচন করুন এবং পাবলিশ-এ ক্লিক করুন। আপনার নির্দিষ্ট করা ব্যবহারকারীদের শতাংশের কাছে এক্সপেরিমেন্টটি পৌঁছে দেওয়া হবে।
একটি পরীক্ষা নকল করুন
- Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement বিভাগে, Remote Config ক্লিক করুন।
- A/B টেস্ট ট্যাবে ক্লিক করুন।
- যে চলমান বা সমাপ্ত পরীক্ষাটি আপনি বন্ধ করতে চান, সেটি নির্বাচন করুন।
- Completed বা Running-এ ক্লিক করুন, আপনার এক্সপেরিমেন্টের উপর পয়েন্টারটি ধরে রাখুন, কনটেক্সট মেনুতে ( ) ক্লিক করুন, এবং তারপরে Duplicate experiment বা Stop experiment-এ ক্লিক করুন।
একটি পরীক্ষা বন্ধ করুন
- Firebase কনসোল নেভিগেশন মেনুর DevOps & Engagement বিভাগে, Remote Config ক্লিক করুন।
- A/B টেস্ট ট্যাবে ক্লিক করুন।
- যে চলমান বা সমাপ্ত পরীক্ষাটি আপনি বন্ধ করতে চান, সেটি নির্বাচন করুন।
- Completed বা Running-এ ক্লিক করুন, আপনার এক্সপেরিমেন্টের উপর পয়েন্টারটি ধরে রাখুন, কনটেক্সট মেনুতে ( ) ক্লিক করুন এবং তারপরে Stop experiment-এ ক্লিক করুন।
ওয়েব ক্লায়েন্ট শনাক্তকরণ এবং পরীক্ষার স্থায়িত্ব
যখন কোনো ব্যবহারকারী প্রথমবারের মতো ব্রাউজারে Firebase A/B Testing ব্যবহার করে একটি ওয়েব অ্যাপ্লিকেশন চালু করেন, তখন একটি অনন্য Firebase ইনস্টলেশন আইডি (FID) তৈরি হয়। সেশন জুড়ে অ্যাপ ইনস্ট্যান্সটিকে শনাক্ত করার জন্য এই FID-টি ব্রাউজারের IndexedDB-তে স্থায়ীভাবে সংরক্ষণ করা হয়।
Firebase A/B Testing ব্যবহারকারীদের এক্সপেরিমেন্ট ভ্যারিয়েন্টে অন্তর্ভুক্ত করতে এফআইডি (FID) ব্যবহার করে, এবং Google Analytics প্রতিটি ভ্যারিয়েন্টের মধ্যে ব্যবহারকারীর আচরণ পরিমাপ ও বিশ্লেষণ করার জন্য ইভেন্ট অ্যাগ্রিগেশনে এটি ব্যবহার করে।
যেহেতু FID ইনডেক্সডডিবি-তে সংরক্ষিত থাকে, তাই Firebase A/B Testing একজন ব্যবহারকারীকে নতুন ব্যবহারকারী হিসেবে গণ্য করে, যদি তিনি ভিন্ন কোনো ব্রাউজার থেকে বা ইনকগনিটো উইন্ডোতে আপনার অ্যাপ অ্যাক্সেস করেন, অথবা যদি তিনি তার ব্রাউজারের ইনডেক্সডডিবি মুছে ফেলেন। এর মানে হলো, ভিন্ন ভিন্ন ব্রাউজার বা ব্রাউজিং সেশন ব্যবহার করার সময় একজন ব্যবহারকারী ভিন্ন ভিন্ন এক্সপেরিমেন্ট ভ্যারিয়েন্টে অন্তর্ভুক্ত হতে পারেন।
ব্যবহারকারী টার্গেটিং
নিম্নলিখিত ব্যবহারকারী-লক্ষ্য নির্ধারণের মানদণ্ড ব্যবহার করে আপনি আপনার পরীক্ষায় অন্তর্ভুক্ত করার জন্য ব্যবহারকারীদের লক্ষ্য করতে পারেন।
Firebase কনসোলে নিম্নলিখিত নিয়মের প্রকারগুলি সমর্থিত। Remote Config REST API-তে সমতুল্য বৈশিষ্ট্যগুলি উপলব্ধ, যেমনটি কন্ডিশনাল এক্সপ্রেশন রেফারেন্সে বিস্তারিতভাবে বর্ণনা করা হয়েছে।
| নিয়মের ধরণ | অপারেটর(গণ) | মান(গুলি) | দ্রষ্টব্য |
| অ্যাপ | == | আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত অ্যাপগুলোর অ্যাপ আইডি-র তালিকা থেকে নির্বাচন করুন। | যখন আপনি Firebase-এ কোনো অ্যাপ যোগ করেন, তখন আপনাকে একটি বান্ডেল আইডি বা অ্যান্ড্রয়েড প্যাকেজ নেম লিখতে হয়, যা এমন একটি অ্যাট্রিবিউটকে সংজ্ঞায়িত করে, যা Remote Config রুলসে অ্যাপ আইডি হিসেবে প্রকাশিত হয়। এই অ্যাট্রিবিউটটি নিম্নরূপে ব্যবহার করুন:
|
| অ্যাপ সংস্করণ | স্ট্রিং মানের জন্য: হুবহু মিলে যায়, ধারণ করে, ধারণ করে না, রেগুলার এক্সপ্রেশন ধারণ করে সংখ্যাসূচক মানের জন্য: <, <=, =, !=, >, >= | আপনার অ্যাপের যে সংস্করণ(গুলি)কে লক্ষ্য করতে চান, তা নির্দিষ্ট করুন। এই নিয়মটি ব্যবহার করার আগে, আপনাকে অবশ্যই একটি অ্যাপ আইডি নিয়ম ব্যবহার করে আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত একটি অ্যান্ড্রয়েড/অ্যাপল অ্যাপ নির্বাচন করতে হবে। | অ্যাপল প্ল্যাটফর্মের জন্য: অ্যাপটির CFBundleShortVersionString ব্যবহার করুন। দ্রষ্টব্য: নিশ্চিত করুন যে আপনার Apple অ্যাপটি Firebase Apple প্ল্যাটফর্ম SDK সংস্করণ 6.24.0 বা তার উচ্চতর সংস্করণ ব্যবহার করছে, কারণ পূর্ববর্তী সংস্করণগুলিতে CFBundleShortVersionString পাঠানো হয় না ( রিলিজ নোট দেখুন)। অ্যান্ড্রয়েডের জন্য: অ্যাপটির versionName ব্যবহার করুন। এই নিয়মের ক্ষেত্রে স্ট্রিং তুলনা কেস-সেনসিটিভ। 'exactly matches' , ' contains ', 'does not contain' , বা 'contains' রেগুলার এক্সপ্রেশন অপারেটর ব্যবহার করার সময়, আপনি একাধিক মান নির্বাচন করতে পারেন। `contains` রেগুলার এক্সপ্রেশন অপারেটর ব্যবহার করে, আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশনটি টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও, আপনি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মেলানোর জন্য ` ^` এবং `$` অ্যাঙ্কর ব্যবহার করতে পারেন। |
| বিল্ড নম্বর | স্ট্রিং মানের জন্য: হুবহু মিলে যায়, ধারণ করে, ধারণ করে না, নিয়মিত অভিব্যক্তি সংখ্যাসূচক মানের জন্য: =, ≠, >, ≥, <, ≤ | আপনার অ্যাপের যে বিল্ড(গুলি)কে টার্গেট করতে চান, তা নির্দিষ্ট করুন। এই নিয়মটি ব্যবহার করার আগে, আপনাকে অবশ্যই একটি অ্যাপ আইডি নিয়ম ব্যবহার করে আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত একটি অ্যাপল বা অ্যান্ড্রয়েড অ্যাপ নির্বাচন করতে হবে। | এই অপারেটরটি শুধুমাত্র অ্যাপল এবং অ্যান্ড্রয়েড অ্যাপের জন্য উপলব্ধ। এটি অ্যাপলের ক্ষেত্রে অ্যাপের CFBundleVersion এবং অ্যান্ড্রয়েডের ক্ষেত্রে versionCode-এর সাথে সঙ্গতিপূর্ণ। এই নিয়মের জন্য স্ট্রিং তুলনা কেস-সেনসিটিভ। 'exactly matches ', ' contains ', 'does not contain ', বা 'contains' রেগুলার এক্সপ্রেশন অপারেটর ব্যবহার করার সময়, আপনি একাধিক মান নির্বাচন করতে পারেন। `contains` রেগুলার এক্সপ্রেশন অপারেটর ব্যবহার করে, আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশনটি টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও, আপনি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মেলানোর জন্য ` ^` এবং `$` অ্যাঙ্কর ব্যবহার করতে পারেন। |
| প্ল্যাটফর্ম | == | আইওএস অ্যান্ড্রয়েড ওয়েব | |
| অপারেটিং সিস্টেম | == | লক্ষ্য করার জন্য অপারেটিং সিস্টেম(গুলি) নির্দিষ্ট করুন। এই নিয়মটি ব্যবহার করার আগে, আপনাকে অবশ্যই একটি অ্যাপ আইডি নিয়ম ব্যবহার করে আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত একটি ওয়েব অ্যাপ নির্বাচন করতে হবে। | এই নিয়মটি কোনো নির্দিষ্ট ওয়েব অ্যাপ ইনস্ট্যান্সের জন্য true বলে বিবেচিত হবে, যদি অপারেটিং সিস্টেম এবং এর সংস্করণ নির্দিষ্ট তালিকার কোনো লক্ষ্য মানের সাথে মিলে যায়। |
| ব্রাউজার | == | যে ব্রাউজার(গুলি)কে লক্ষ্য করতে চান তা নির্দিষ্ট করুন। এই নিয়মটি ব্যবহার করার আগে, আপনাকে অবশ্যই একটি অ্যাপ আইডি নিয়ম ব্যবহার করে আপনার ফায়ারবেস প্রজেক্টের সাথে যুক্ত একটি ওয়েব অ্যাপ নির্বাচন করতে হবে। | কোনো নির্দিষ্ট ওয়েব অ্যাপ ইনস্ট্যান্সের ক্ষেত্রে এই নিয়মটি true বলে গণ্য হবে, যদি ব্রাউজার এবং তার সংস্করণ নির্দিষ্ট তালিকার কোনো লক্ষ্য মানের সাথে মিলে যায়। |
| ডিভাইসের বিভাগ | আছে, নেই | মোবাইল | এই নিয়মটি মূল্যায়ন করে যে আপনার ওয়েব অ্যাপ অ্যাক্সেসকারী ডিভাইসটি মোবাইল নাকি নন-মোবাইল (ডেস্কটপ বা কনসোল)। এই ধরনের নিয়ম শুধুমাত্র ওয়েব অ্যাপের জন্য উপলব্ধ। |
| ভাষা | ভিতরে আছে | এক বা একাধিক ভাষা নির্বাচন করুন। | এই নিয়মটি কোনো নির্দিষ্ট অ্যাপ ইনস্ট্যান্সের জন্য true বলে বিবেচিত হবে, যদি সেই অ্যাপ ইনস্ট্যান্সটি তালিকাভুক্ত ভাষাগুলোর মধ্যে কোনো একটি ব্যবহারকারী ডিভাইসে ইনস্টল করা থাকে। |
| দেশ/অঞ্চল | ভিতরে আছে | এক বা একাধিক অঞ্চল বা দেশ নির্বাচন করুন। | এই নিয়মটি একটি নির্দিষ্ট অ্যাপ ইনস্ট্যান্সের জন্য true বলে বিবেচিত হবে, যদি ইনস্ট্যান্সটি তালিকাভুক্ত কোনো অঞ্চল বা দেশে থাকে। ডিভাইসের কান্ট্রি কোডটি অনুরোধে থাকা ডিভাইসের আইপি অ্যাড্রেস ব্যবহার করে অথবা ফায়ারবেস অ্যানালিটিক্স দ্বারা নির্ধারিত কান্ট্রি কোড ব্যবহার করে নির্ণয় করা হয় (যদি অ্যানালিটিক্স ডেটা ফায়ারবেসের সাথে শেয়ার করা হয়)। |
| ব্যবহারকারী দর্শক(গণ) | অন্তত একটি অন্তর্ভুক্ত | আপনার প্রোজেক্টের জন্য সেট আপ করা Google Analytics অডিয়েন্সের তালিকা থেকে এক বা একাধিক নির্বাচন করুন। | এই নিয়মটি আপনার Firebase প্রজেক্টের সাথে যুক্ত একটি অ্যাপ নির্বাচন করার জন্য একটি অ্যাপ আইডি নিয়মের প্রয়োজন। দ্রষ্টব্য: যেহেতু অনেক Analytics অডিয়েন্স ইভেন্ট বা ব্যবহারকারীর বৈশিষ্ট্যের উপর ভিত্তি করে সংজ্ঞায়িত করা হয়, যা অ্যাপ ব্যবহারকারীদের কার্যকলাপের উপর নির্ভর করতে পারে, তাই একটি নির্দিষ্ট অ্যাপ ইনস্ট্যান্সের জন্য 'ইউজার ইন অডিয়েন্স' নিয়মটি কার্যকর হতে কিছুটা সময় লাগতে পারে। এর মানে হলো, কোনো ব্যবহারকারী প্রযুক্তিগতভাবে একটি অডিয়েন্সের জন্য যোগ্য হলেও, যদি |
| ব্যবহারকারীর সম্পত্তি | স্ট্রিং মানের জন্য: ধারণ করে, ধারণ করে না, হুবহু মিলে যায়, রেগুলার এক্সপ্রেশন ধারণ করে সংখ্যাসূচক মানের জন্য: =, ≠, >, ≥, <, ≤ দ্রষ্টব্য: ক্লায়েন্টে, আপনি ইউজার প্রপার্টির জন্য শুধুমাত্র স্ট্রিং ভ্যালু সেট করতে পারবেন। যেসব কন্ডিশনে নিউমেরিক অপারেটর ব্যবহৃত হয়, Remote Config সংশ্লিষ্ট ইউজার প্রপার্টির ভ্যালুকে একটি ইন্টিজার/ফ্লোটে রূপান্তর করে। | উপলব্ধ Google Analytics ব্যবহারকারী বৈশিষ্ট্যগুলির তালিকা থেকে নির্বাচন করুন। | আপনার ব্যবহারকারী গোষ্ঠীর খুব নির্দিষ্ট অংশের জন্য কীভাবে ইউজার প্রোপার্টি ব্যবহার করে আপনার অ্যাপকে কাস্টমাইজ করতে পারেন, তা জানতে Remote Config এবং ইউজার প্রোপার্টি দেখুন। ব্যবহারকারীর বৈশিষ্ট্য সম্পর্কে আরও জানতে, নিম্নলিখিত নির্দেশিকাগুলি দেখুন: 'exactly matches ', ' contains ', ' does not contain ' বা 'contains' রেগুলার এক্সপ্রেশন অপারেটর ব্যবহার করার সময়, আপনি একাধিক মান নির্বাচন করতে পারেন। `contains` রেগুলার এক্সপ্রেশন অপারেটর ব্যবহার করে, আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশনটি টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও, আপনি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মেলানোর জন্য ` ^` এবং `$` অ্যাঙ্কর ব্যবহার করতে পারেন। দ্রষ্টব্য: Remote Config শর্ত তৈরি করার সময় স্বয়ংক্রিয়ভাবে সংগৃহীত ব্যবহারকারী বৈশিষ্ট্যগুলি উপলব্ধ থাকে না। |
| ব্যবহারকারী এলোমেলো শতাংশে | স্লাইডার (ফায়ারবেস কনসোলে। REST API-তে <= , > , এবং between অপারেটরগুলো ব্যবহৃত হয়)। | ০-১০০ | এই ফিল্ডটি ব্যবহার করে অ্যাপ ইনস্ট্যান্সের একটি র্যান্ডম স্যাম্পলে (স্যাম্পলের আকার .০০০১% এর মতো ছোট হলেও) কোনো পরিবর্তন প্রয়োগ করুন এবং স্লাইডার উইজেট ব্যবহার করে এলোমেলোভাবে সাজানো ব্যবহারকারীদের (অ্যাপ ইনস্ট্যান্স) বিভিন্ন গ্রুপে বিভক্ত করুন। প্রতিটি অ্যাপ ইনস্ট্যান্সকে সেই প্রজেক্টে সংজ্ঞায়িত একটি সিড অনুসারে একটি র্যান্ডম পূর্ণ বা ভগ্নাংশ সংখ্যার সাথে স্থায়ীভাবে ম্যাপ করা হয়। আপনি সিড ভ্যালুটি পরিবর্তন না করলে, একটি রুল ডিফল্ট কী ব্যবহার করবে (যা Firebase কনসোলে ' এডিট সিড ' হিসেবে দেখানো হয়)। 'সিড' ফিল্ডটি খালি করে আপনি রুলটিকে আবার ডিফল্ট কী ব্যবহারে ফিরিয়ে আনতে পারেন। প্রদত্ত শতাংশ পরিসরের মধ্যে ধারাবাহিকভাবে একই অ্যাপ ইনস্ট্যান্সগুলিকে সম্বোধন করতে, সমস্ত শর্ত জুড়ে একই সীড মান ব্যবহার করুন। অথবা, একটি নতুন সীড নির্দিষ্ট করে একটি প্রদত্ত শতাংশ পরিসরের জন্য অ্যাপ ইনস্ট্যান্সগুলির একটি নতুন এলোমেলোভাবে নির্ধারিত গোষ্ঠী নির্বাচন করুন। উদাহরণস্বরূপ, দুটি সম্পর্কিত শর্ত তৈরি করতে, যেগুলোর প্রতিটি একটি অ্যাপের ব্যবহারকারীদের এমন ৫% অংশের উপর প্রযোজ্য হবে যারা একে অপরের সাথে ওভারল্যাপ করবে না, আপনি একটি শর্তকে ০% থেকে ৫% এর মধ্যে একটি শতাংশের সাথে মেলানোর জন্য এবং অন্য শর্তটিকে ৫% থেকে ১০% এর মধ্যে একটি পরিসরের সাথে মেলানোর জন্য কনফিগার করতে পারেন। কিছু ব্যবহারকারীকে এলোমেলোভাবে উভয় গ্রুপে অন্তর্ভুক্ত করার সুযোগ দিতে, প্রতিটি শর্তের ভেতরের নিয়মগুলোর জন্য ভিন্ন ভিন্ন সিড ভ্যালু ব্যবহার করুন। |
| আমদানিকৃত অংশ | ভিতরে আছে | এক বা একাধিক আমদানিকৃত সেগমেন্ট নির্বাচন করুন। | এই নিয়মটির জন্য কাস্টম ইম্পোর্টেড সেগমেন্ট সেট আপ করা প্রয়োজন। |
| তারিখ/সময় | আগে, পরে | একটি নির্দিষ্ট তারিখ ও সময়, যা ডিভাইসের টাইমজোনে অথবা কোনো নির্দিষ্ট টাইমজোনে হতে পারে, যেমন "(GMT+11) সিডনি টাইম"। | বর্তমান সময়ের সাথে ডিভাইস থেকে ডেটা আনার সময়ের তুলনা করা হয়। |
| প্রথম খোলা | আগে, পরে | ব্যবহারকারীরা প্রথমবার আপনার অ্যাপ খোলার উপর ভিত্তি করে তাদের টার্গেট করুন:
| একটি অ্যান্ড্রয়েড, আইওএস বা ওয়েব অ্যাপ নির্বাচন করার পর, প্রথমবার খোলার ভিত্তিতে ব্যবহারকারীকে লক্ষ্য করার সুবিধাটি উপলব্ধ হয়। নিম্নলিখিত SDK-গুলো প্রয়োজন:
প্রথম ওপেন ইভেন্টের সময় ক্লায়েন্টে Analytics সক্রিয় করা থাকতে হবে। |
| ইনস্টলেশন আইডি | ভিতরে আছে | লক্ষ্য করার জন্য এক বা একাধিক (সর্বোচ্চ ৫০টি) ইনস্টলেশন আইডি নির্দিষ্ট করুন। | এই নিয়মটি কোনো নির্দিষ্ট ইনস্টলেশনের জন্য true বলে বিবেচিত হবে, যদি সেই ইনস্টলেশনের আইডিটি কমা দ্বারা পৃথক করা মানগুলির তালিকায় থাকে।কীভাবে ইনস্টলেশন আইডি পেতে পারেন তা জানতে, ‘ক্লায়েন্ট শনাক্তকারী পুনরুদ্ধার করুন’ দেখুন। |
| ব্যবহারকারী বিদ্যমান | (কোন অপারেটর নেই) | বর্তমান প্রকল্পের অন্তর্গত সমস্ত অ্যাপের সকল ব্যবহারকারীকে লক্ষ্য করে। | অ্যাপ বা প্ল্যাটফর্ম নির্বিশেষে, প্রোজেক্টের অন্তর্গত সকল ব্যবহারকারীকে মেলানোর জন্য এই শর্ত নিয়মটি ব্যবহার করুন। |
| কাস্টম সংকেত | স্ট্রিং মানের জন্য: ধারণ করে, ধারণ করে না, হুবহু মিলে যায়, রেগুলার এক্সপ্রেশন ধারণ করে সংখ্যাসূচক মানের জন্য: =, ≠, >, ≥, <, ≤ সংস্করণ মানগুলির জন্য: =, ≠, >, ≥, <, ≤ | এই নিয়মের জন্য স্ট্রিং তুলনা কেস-সেনসিটিভ। এক্স্যাক্টলি ম্যাচ, কন্টেইন, ডাজ নট কন্টেইন, বা কন্টেইন রেগুলার এক্সপ্রেশন অপারেটর ব্যবহার করার সময়, আপনি একাধিক মান নির্বাচন করতে পারেন। কন্টেইন রেগুলার এক্সপ্রেশন অপারেটর ব্যবহার করার সময়, আপনি RE2 ফরম্যাটে রেগুলার এক্সপ্রেশন তৈরি করতে পারেন। আপনার রেগুলার এক্সপ্রেশন টার্গেট ভার্সন স্ট্রিং-এর সম্পূর্ণ বা আংশিক অংশের সাথে মিলতে পারে। এছাড়াও আপনি একটি টার্গেট স্ট্রিং-এর শুরু, শেষ বা সম্পূর্ণ অংশের সাথে মিলানোর জন্য ^ এবং $ অ্যাঙ্কর ব্যবহার করতে পারেন। ক্লায়েন্ট পরিবেশের জন্য নিম্নলিখিত ডেটা টাইপগুলি সমর্থিত:
যে সংখ্যাটি মেলাতে হবে এমন সংস্করণ নম্বর(গুলি) নির্দেশ করে (উদাহরণস্বরূপ, ২.১.০)। | কাস্টম সিগন্যাল কন্ডিশন এবং ব্যবহারযোগ্য কন্ডিশনাল এক্সপ্রেশন সম্পর্কে আরও তথ্যের জন্য, কাস্টম সিগন্যাল কন্ডিশন এবং কন্ডিশন তৈরিতে ব্যবহৃত উপাদানসমূহ দেখুন। |
A/B Testing মেট্রিক্স
যখন আপনি আপনার এক্সপেরিমেন্ট তৈরি করেন, তখন আপনি একটি প্রাথমিক বা লক্ষ্য মেট্রিক বেছে নেন, যা বিজয়ী ভ্যারিয়েন্ট নির্ধারণ করতে ব্যবহৃত হয়। প্রতিটি এক্সপেরিমেন্ট ভ্যারিয়েন্টের পারফরম্যান্স আরও ভালোভাবে বুঝতে এবং প্রতিটি ভ্যারিয়েন্টের জন্য ভিন্ন হতে পারে এমন গুরুত্বপূর্ণ ট্রেন্ডগুলো ট্র্যাক করতে আপনার অন্যান্য মেট্রিকগুলোও ট্র্যাক করা উচিত, যেমন ব্যবহারকারী ধরে রাখা, অ্যাপের স্থিতিশীলতা এবং ইন-অ্যাপ পারচেজ থেকে আয়। আপনি আপনার এক্সপেরিমেন্টে সর্বোচ্চ পাঁচটি অ-লক্ষ্য মেট্রিক ট্র্যাক করতে পারেন।
উদাহরণস্বরূপ, ধরুন আপনি আপনার অ্যাপে দুটি ভিন্ন গেম ফ্লো চালু করতে Remote Config ব্যবহার করছেন এবং ইন-অ্যাপ পারচেজ ও বিজ্ঞাপন থেকে আয়ের জন্য অপটিমাইজ করতে চান, কিন্তু একই সাথে প্রতিটি ভ্যারিয়েন্টের স্থিতিশীলতা এবং ইউজার রিটেনশনও ট্র্যাক করতে চান। এই ক্ষেত্রে, আপনি আপনার গোল মেট্রিক হিসেবে ‘Estimated total revenue’ বেছে নেওয়ার কথা ভাবতে পারেন, কারণ এতে ইন-অ্যাপ পারচেজ থেকে আয় এবং বিজ্ঞাপন থেকে আয় অন্তর্ভুক্ত থাকে। এরপর, ‘Other metrics to track’-এর জন্য আপনি নিম্নলিখিত বিষয়গুলো যোগ করতে পারেন:
- আপনার দৈনিক এবং সাপ্তাহিক ব্যবহারকারী ধরে রাখার হার ট্র্যাক করতে, রিটেনশন (২-৩ দিন) এবং রিটেনশন (৪-৭ দিন) যোগ করুন।
- দুটি গেম ফ্লো-এর মধ্যে স্থিতিশীলতা তুলনা করতে, ক্র্যাশ-মুক্ত ব্যবহারকারীদের যুক্ত করুন।
- প্রতিটি রাজস্বের ধরণ সম্পর্কে আরও বিস্তারিত তথ্য দেখতে, 'ক্রয় রাজস্ব' এবং 'আনুমানিক বিজ্ঞাপন রাজস্ব' যোগ করুন।
নিম্নলিখিত সারণিগুলোতে লক্ষ্যমাত্রা মেট্রিক এবং অন্যান্য মেট্রিকগুলো কীভাবে গণনা করা হয়, সে সম্পর্কে বিস্তারিত তথ্য দেওয়া হয়েছে।
লক্ষ্য মেট্রিক্স
| মেট্রিক | বর্ণনা |
|---|---|
| ক্র্যাশ-মুক্ত ব্যবহারকারীরা | পরীক্ষার সময় Firebase Crashlytics SDK দ্বারা শনাক্ত হওয়া ত্রুটিগুলো আপনার অ্যাপে পাননি এমন ব্যবহারকারীর শতকরা হার। দ্রষ্টব্য: ওয়েব অ্যাপ্লিকেশনের জন্য Firebase Crashlytics সমর্থিত নয়। |
| আনুমানিক বিজ্ঞাপন আয় | আনুমানিক বিজ্ঞাপন আয়। |
| আনুমানিক মোট রাজস্ব | ক্রয়মূল্য এবং আনুমানিক বিজ্ঞাপন রাজস্বের সম্মিলিত মান। |
| ক্রয় রাজস্ব | সমস্ত purchase এবং in_app_purchase ইভেন্টের সম্মিলিত মান। |
| ধরে রাখা (১ দিন) | যেসব ব্যবহারকারী প্রতিদিন আপনার অ্যাপে ফিরে আসেন, তাদের সংখ্যা। |
| ধরে রাখার হার (২-৩ দিন) | যেসব ব্যবহারকারী ২-৩ দিনের মধ্যে আপনার অ্যাপে ফিরে আসেন, তাদের সংখ্যা। |
| ধরে রাখার হার (৪-৭ দিন) | যেসব ব্যবহারকারী ৪-৭ দিনের মধ্যে আপনার অ্যাপে ফিরে আসেন, তাদের সংখ্যা। |
| ধরে রাখার হার (৮-১৪ দিন) | যেসব ব্যবহারকারী ৮-১৪ দিনের মধ্যে আপনার অ্যাপে ফিরে আসেন, তাদের সংখ্যা। |
| ধরে রাখা (১৫+ দিন) | যেসব ব্যবহারকারী শেষবার অ্যাপটি ব্যবহার করার ১৫ বা তার বেশি দিন পর আবার ফিরে আসেন, তাদের সংখ্যা। |
| প্রথম_খোলা | একটি Analytics ইভেন্ট যা কোনো ব্যবহারকারী অ্যাপটি ইনস্টল বা রিইনস্টল করার পর প্রথমবার খুললে ট্রিগার হয়। এটি কনভার্সন ফানেলের অংশ হিসেবে ব্যবহৃত হয়। |
অন্যান্য মেট্রিক
| মেট্রিক | বর্ণনা |
|---|---|
| বিজ্ঞপ্তি_বাতিল করুন | একটি Analytics ইভেন্ট যা নোটিফিকেশন কম্পোজার দ্বারা প্রেরিত কোনো নোটিফিকেশন খারিজ করা হলে ট্রিগার হয় (শুধুমাত্র অ্যান্ড্রয়েডের জন্য)। |
| বিজ্ঞপ্তি_গ্রহণ | একটি Analytics ইভেন্ট যা তখন ট্রিগার হয় যখন অ্যাপটি ব্যাকগ্রাউন্ডে থাকা অবস্থায় নোটিফিকেশন কম্পোজার দ্বারা পাঠানো কোনো নোটিফিকেশন পাওয়া যায় (শুধুমাত্র অ্যান্ড্রয়েডের জন্য)। |
| ওএস_আপডেট | একটি Analytics ইভেন্ট যা ট্র্যাক করে কখন ডিভাইসের অপারেটিং সিস্টেম একটি নতুন সংস্করণে আপডেট করা হয়। আরও জানতে, স্বয়ংক্রিয়ভাবে সংগৃহীত ইভেন্টসমূহ দেখুন। এই মেট্রিকটি ওয়েব অ্যাপ্লিকেশনের জন্য সমর্থিত নয়। |
| স্ক্রিন_ভিউ | একটি Analytics ইভেন্ট যা আপনার অ্যাপের মধ্যে দেখা স্ক্রিনগুলো ট্র্যাক করে। আরও জানতে, ‘স্ক্রিনভিউ ট্র্যাক করুন’ দেখুন। |
| সেশন_শুরু | একটি Analytics ইভেন্ট যা আপনার অ্যাপে ব্যবহারকারীর সেশন গণনা করে। আরও জানতে, স্বয়ংক্রিয়ভাবে সংগৃহীত ইভেন্টসমূহ দেখুন। |
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 কনসোলে, এখানে যান
> ইন্টিগ্রেশন ট্যাব । BigQuery কার্ডে, Manage-এ ক্লিক করুন এবং যাচাই করুন যে আপনার প্রজেক্টটি BigQuery তে Analytics ডেটা এক্সপোর্ট করছে।
যদি কার্ডটিতে ‘লিঙ্ক’ লেখা থাকে, তাহলে আপনাকে এক্সপোর্ট সেট আপ করতে হবে (পরবর্তী ধাপে যান)।
যদি আপনার রপ্তানি সেট আপ করার প্রয়োজন হয়:
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) দেখা যায়। - Experiment date: To compose a faster and more efficient query, it's good practice to limit your queries to the Google Analytics daily event table partitions that contain your experiment data—tables identified with a
YYYYMMDDsuffix. So, if your experiment ran from February 2, 2024 through May 2, 2024, you'd specify a_TABLE_SUFFIX between '20240202' AND '20240502'. For an example, see Select a specific experiment's values . - Event names: Typically, these correspond with your goal metrics that you configured in the experiment. For example,
in_app_purchaseevents,ad_impression, oruser_retentionevents.
After you gather the information you need to generate your query:
- In the Google Cloud console, go to BigQuery .
- Select your project, then select Create SQL query .
- Add your query. For example queries to run, see Explore example queries .
- রান-এ ক্লিক করুন।
Query experiment data using the Firebase console's auto-generated query
If you're using the Blaze plan, the Experiment overview page provides a sample query that returns the experiment name, variants, event names, and the number of events for the experiment you're viewing.
To obtain and run the auto-generated query:
- In the Firebase console, go to DevOps & Engagement > A/B Testing .
- Select the A/B Testing experiment you want to query to open the Experiment overview .
- From the Options menu, beneath BigQuery integration , select Query experiment data . This opens your project in BigQuery within the Google Cloud console console and provides a basic query you can use to query your experiment data.
The following example shows a generated query for an experiment with three variants (including the baseline) named "Winter welcome experiment." It returns the active experiment name, variant name, unique event, and event count for each event. Note that the query builder doesn't specify your project name in the table name, as it opens directly within your project.
/*
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
For additional query examples, proceed to Explore example queries .
Explore example queries
The following sections provide examples of queries you can use to extract A/B Testing experiment data from Google Analytics event tables.
Extract purchase and experiment standard deviation values from all experiments
You can use experiment results data to independently verify Firebase A/B Testing results. The following BigQuery SQL statement extracts experiment variants, the number of unique users in each variant, and sums total revenue from in_app_purchase and ecommerce_purchase events, and standard deviations for all experiments within the time range specified as the _TABLE_SUFFIX begin and end dates. You can use the data you obtain from this query with a statistical significance generator for one-tailed t-tests to verify that the results Firebase provides match your own analysis.
For more information about how A/B Testing calculates inference, see Interpret test results .
/*
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;
Select a specific experiment's values
The following example query illustrates how to obtain data for a specific experiment in BigQuery . This sample query returns the experiment name, variant names (including Baseline), event names, and event counts.
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