ÎncepețiÎncepe gratuit

Fluxul de înregistrare

Acum vom modela procesul de generare a datelor (DGP) pentru un flux de reclame eCommerce, începând cu înregistrările.

În orice zi, primim numeroase afișări de reclame, care pot fi modelate ca variabile aleatoare Poisson (VA). Se știe că \(\lambda\) este distribuită normal cu o medie de 100.000 de vizitatori și o abatere standard de 2.000.

În parcursul de înregistrare, utilizatorul vede o reclamă, decide dacă dă sau nu click, și apoi dacă se înregistrează sau nu. Prin urmare, atât click-urile, cât și înregistrările sunt binare și se modelează cu VA binomiale. Dar care este probabilitatea \(p\) de succes? Opțiunea noastră actuală la cost redus oferă o rată de click de 1% și o rată de înregistrare de 20%. O opțiune mai costisitoare ar putea crește aceste rate cu până la 20%, însă nivelul exact de îmbunătățire este incert – așa că îl modelăm ca o VA uniformă.

Acest exercițiu face parte din cursul

Simulare statistică în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Inițializează dicționarele ct_rate și su_rate astfel încât valorile high să fie distribuite uniform între valoarea low și \(1,2 \times\) valoarea low.
  • Modelează impressions ca o variabilă aleatoare Poisson cu valoarea medie lam.
  • Modelează clicks și signups ca variabile aleatoare binomiale, cu n egal cu impressions și, respectiv, clicks, și p egal cu ct_rate[cost] și, respectiv, su_rate[cost].
  • La final, afișăm numărul simulat de înregistrări pentru opțiunea de cost 'high'.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)))
Editează și rulează codul