A/B टेस्ट के डिलीवरी डिज़ाइन को इंडस्ट्री स्टैंडर्ड के अनुरूप बनाने की कहानी — "डिलीवरी रेट" और "A/B अलोकेशन" को अलग करना
- engineering
- ab-testing
- product-design
इस लेख का सार
- A/B टेस्ट के अनुपात सेटिंग में "डिलीवरी रेट" और "A/B अलोकेशन" जैसी दो अलग-अलग चिंताएँ आसानी से मिल जाती हैं
- हमने इन दोनों को स्वतंत्र पैरामीटर के रूप में अलग किया
- अलग करने से "जोखिम प्रबंधन" और "निष्पक्ष तुलना" दोनों को स्वाभाविक रूप से संभाला जा सकता है
HeatMapX में A/B टेस्ट फ़ीचर लागू करते समय, एक सामान्य लेकिन महत्वपूर्ण डिज़ाइन निर्णय सामने आया — "अनुपात" को कैसे मॉडल किया जाए। नतीजतन, हमने "एक्सपेरिमेंट में शामिल करने का अनुपात (डिलीवरी रेट)" और "A/B का अलोकेशन" को दो स्वतंत्र पैरामीटर में अलग किया। इस लेख में हम इसका कारण साझा कर रहे हैं।
आसानी से मिल जाने वाली दो चिंताएँ
A/B टेस्ट के "अनुपात" में वास्तव में दो अलग प्रकृति की चिंताएँ शामिल होती हैं।
- कितने विज़िटर्स को एक्सपेरिमेंट में शामिल किया जाए (= जोखिम प्रबंधन)
- शामिल किए गए विज़िटर्स के बीच A और B का अलोकेशन कैसे किया जाए (= तुलना की निष्पक्षता)
शुरुआती सरल डिज़ाइन में इन्हें एक ही स्लाइडर में समेट देने की प्रवृत्ति होती है। लेकिन ऐसा करने पर "सुरक्षित रूप से छोटे स्तर पर टेस्ट करना" और "A और B की निष्पक्ष तुलना करना" — ये दो अलग-अलग उद्देश्य आपस में उलझ जाते हैं, जिससे यह यूज़र और इम्प्लीमेंटेशन दोनों के लिए समझना मुश्किल हो जाता है।
अलग किया गया मॉडल
इसलिए हमने इन दोनों को स्वतंत्र बनाया।
traffic_allocation(एक्सपेरिमेंट में शामिल करने का अनुपात): सभी विज़िटर्स में से कितना प्रतिशत एक्सपेरिमेंट का हिस्सा बनाया जाए। 0 से 100% तक।- A/B अलोकेशन: एक्सपेरिमेंट में शामिल विज़िटर्स के बीच Control और Variant B का वेटेज।
इसे स्यूडोकोड के रूप में लिखें तो, अलोकेशन का निर्णय इस तरह होता है।
- सबसे पहले यह तय किया जाता है कि विज़िटर "एक्सपेरिमेंट में शामिल है या नहीं", यह डिलीवरी रेट के आधार पर तय होता है।
- शामिल किए गए विज़िटर्स को ही A/B अलोकेशन के अनुसार Control / Variant B में बाँटा जाता है।
जो विज़िटर शामिल नहीं होते, वे सामान्य पेज (बिना किसी बदलाव के) ही देखते हैं।
अलग करने के फ़ायदे
- जोखिम को धीरे-धीरे बढ़ाया जा सकता है: डिलीवरी रेट को 10% → 30% → 100% तक बढ़ाते हुए भी, तुलना की निष्पक्षता (50:50) बनाए रखते हुए सिर्फ़ जोखिम को समायोजित किया जा सकता है।
- सेटिंग का अर्थ स्पष्ट रहता है: "कितनों को शामिल करना है" और "कैसे दिखाना है" अलग-अलग UI में होने से गलतफ़हमी कम होती है।
- इंडस्ट्री स्टैंडर्ड के अनुरूप: प्रमुख A/B टेस्टिंग टूल्स भी इसी तरह ट्रैफ़िक अलोकेशन और एक्सपेरिमेंट के भीतर के अलोकेशन को अलग-अलग रखते हैं।
UI में भी प्रतिबिंबित
यह डिज़ाइन निर्णय सीधे UI में भी दिखता है। एक्सपेरिमेंट की सेटिंग स्क्रीन पर "एक्सपेरिमेंट में शामिल करने का अनुपात" और "A/B का अलोकेशन" को अलग-अलग सेट किया जा सकता है, और एक्सपेरिमेंट डिटेल में दोनों को सारांश के रूप में देखा जा सकता है।
निष्कर्ष
"अनुपात" जैसे दिखने में सरल तत्व में भी जोखिम प्रबंधन और तुलना की निष्पक्षता जैसी अलग-अलग चिंताएँ छिपी होती हैं। इन्हें अलग करके मॉडल करने से A/B टेस्ट यूज़र के लिए समझने में आसान और संचालन में सुविधाजनक बन गया। यह एक छोटा-सा डिज़ाइन निर्णय है, लेकिन ऐसे संचयी निर्णय ही उपयोगिता तय करते हैं।