Proces registrace
Teď namodelujeme proces generování dat (DGP) pro tok eCommerce reklamy, začínající registracemi.
Každý den získáme velké množství zobrazení reklamy, která lze modelovat jako Poissonovy náhodné proměnné (RV). Předpokládej, že \(\lambda\) má normální rozdělení se střední hodnotou 100 000 návštěvníků a směrodatnou odchylkou 2 000.
Během procesu registrace zákazník uvidí reklamu, rozhodne se, zda na ni klikne, a poté zda se zaregistruje. Kliknutí i registrace jsou tedy binární jevy modelované pomocí binomických RV. Jak je to s pravděpodobností úspěchu \(p\)? Naše současná levnější varianta nám dává míru prokliku 1 % a míru registrace 20 %. Dražší varianta by mohla zvýšit míru prokliku i registrace až o 20 %, ale nejsme si jisti mírou zlepšení – modelujeme ji proto jako rovnoměrnou náhodnou proměnnou.
Toto cvičení je součástí kurzu
Statistické simulace v Pythonu
Pokyny k cvičení
- Inicializuj slovníky
ct_rateasu_ratetak, aby hodnotyhighbyly rovnoměrně rozděleny mezi hodnotoulowa \(1{,}2 \times\) hodnotoulow. - Modeluj
impressionsjako Poissonovu náhodnou proměnnou se střední hodnotoulam. - Modeluj
clicksasignupsjako binomické náhodné proměnné, kdenodpovídáimpressionsaclicksapodpovídáct_rate[cost]asu_rate[cost]. - Nakonec vypiš nasimulovaný počet registrací pro variantu
'high'.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)))