Sign up फ़्लो
अब हम eCommerce ऐड फ़्लो के DGP को मॉडल करेंगे, शुरुआत करेंगे साइन-अप से.
किसी भी दिन हमें कई ऐड इम्प्रेशन मिलते हैं, जिन्हें Poisson रैंडम वैरिएबल (RV) के रूप में मॉडल किया जा सकता है. आपको बताया गया है कि \(\lambda\) सामान्य वितरण का अनुसरण करता है, जिसका औसत 100k विज़िटर्स और मानक विचलन 2000 है.
साइनअप यात्रा के दौरान, कस्टमर एक ऐड देखता है, तय करता है कि उस पर क्लिक करना है या नहीं, और फिर साइनअप करना है या नहीं. इसलिए क्लिक और साइनअप दोनों बाइनरी हैं, जिन्हें बाइनोमियल RVs से मॉडल किया जाता है. सफलता की प्रायिकता \(p\) क्या होगी? हमारे वर्तमान लो-कॉस्ट विकल्प में क्लिक-थ्रू रेट 1% और साइन-अप रेट 20% है. एक हाई-कॉस्ट विकल्प क्लिक-थ्रू और साइनअप रेट को अधिकतम 20% तक बढ़ा सकता है, लेकिन हमें सुधार के स्तर को लेकर अनिश्चितता है, इसलिए हम इसे यूनिफॉर्म RV के रूप में मॉडल करते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Statistical Simulation
अभ्यास निर्देश
ct_rateऔरsu_rateडिक्शनरियों को इस प्रकार इनिशियलाइज़ करें किhighमानlowमान और \(1.2 \times\)lowमान के बीच यूनिफॉर्मली वितरित हों.impressionsको Poisson रैंडम वैरिएबल के रूप में मॉडल करें, जिसका औसतlamहै.clicksऔरsignupsको बाइनोमियल रैंडम वैरिएबल्स के रूप में मॉडल करें जहाँnक्रमशःimpressionsऔरclicksहो, औरpक्रमशःct_rate[cost]औरsu_rate[cost]हो.- अंत में हम
'high'कॉस्ट विकल्प के लिए सिम्युलेटेड signups प्रिंट करेंगे.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Initialize click-through rate and signup rate dictionaries
ct_rate = {'low':0.01, 'high':np.random.uniform(low=0.01, high=1.2*0.01)}
su_rate = {'low':0.2, 'high':____(low=0.2, high=1.2*____)}
def get_signups(cost, ct_rate, su_rate, sims):
lam = np.random.normal(loc=100000, scale=2000, size=sims)
# Simulate impressions(poisson), clicks(binomial) and signups(binomial)
impressions = ____
clicks = ____
signups = ____
return signups
print("Simulated Signups = {}".format(get_signups('high', ct_rate, su_rate, 1)))