Flusso di registrazione
Ora modelleremo il DGP di un flusso pubblicitario eCommerce a partire dalle registrazioni.
In un giorno qualsiasi, otteniamo molte impression pubblicitarie, che possono essere modellate come variabili casuali di Poisson (RV). Ti viene detto che \(\lambda\) è distribuito normalmente con una media di 100k visitatori e deviazione standard 2000.
Durante il percorso di registrazione, il cliente vede un annuncio, decide se cliccarlo oppure no e poi se registrarsi oppure no. Quindi sia i clic sia le registrazioni sono binari, modellati con RV binomiali. E la probabilità \(p\) di successo? La nostra opzione a basso costo ci dà un click-through rate dell’1% e un tasso di registrazione del 20%. Un’opzione a costo più alto potrebbe aumentare i tassi di click-through e di registrazione fino al 20%, ma non conosciamo il livello esatto di miglioramento, quindi lo modelliamo come una RV uniforme.
Questo esercizio fa parte del corso
Simulazione statistica in Python
Istruzioni dell'esercizio
- Inizializza i dizionari
ct_rateesu_ratein modo che i valorihighsiano distribuiti uniformemente tra il valorelowe \(1.2 \times\) il valorelow. - Modella
impressionscome una variabile casuale di Poisson con valore mediolam. - Modella
clicksesignupscome variabili casuali binomiali connrispettivamente pari aimpressionseclicks, eppari act_rate[cost]esu_rate[cost]. - Infine, stampa le registrazioni simulate per l’opzione di costo
'high'.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)))