Fluxo de cadastro
Agora vamos modelar o DGP de um fluxo de anúncios de eCommerce começando pelos cadastros.
Em qualquer dia, recebemos muitas impressões de anúncios, que podem ser modeladas como variáveis aleatórias de Poisson. Foi informado que \(\lambda\) é normalmente distribuído com média de 100 mil visitantes e desvio padrão de 2000.
Durante a jornada de cadastro, o cliente vê um anúncio, decide se clica ou não e, em seguida, se se cadastra ou não. Assim, tanto cliques quanto cadastros são binários, modelados usando variáveis aleatórias binomiais. E a probabilidade \(p\) de sucesso? Nossa opção de baixo custo atual oferece uma taxa de cliques (click-through rate) de 1% e uma taxa de cadastro de 20%. Uma opção de custo mais alto pode aumentar as taxas de clique e de cadastro em até 20%, mas não sabemos o nível exato de melhoria, então modelamos isso como uma variável aleatória uniforme.
Este exercício faz parte do curso
Simulação Estatística em Python
Instruções do exercício
- Inicialize os dicionários
ct_rateesu_ratede modo que os valoreshighsejam distribuídos uniformemente entre o valorlowe \(1{.}2 \times\) o valorlow. - Modele
impressionscomo uma variável aleatória de Poisson com valor médiolam. - Modele
clicksesignupscomo variáveis aleatórias binomiais comncomoimpressionseclicksepcomoct_rate[cost]esu_rate[cost], respectivamente. - Em seguida, imprimimos os cadastros simulados para a opção de custo
'high'.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)))