Parcours d'inscription
Nous allons maintenant modéliser le processus de génération des données (DGP) d'un parcours publicitaire d'eCommerce en commençant par les inscriptions.
Chaque jour, nous obtenons de nombreuses impressions publicitaires, que l'on peut modéliser comme des variables aléatoires (VA) de Poisson. On vous indique que \(\lambda\) suit une loi normale avec une moyenne de 100 k visiteurs et un écart-type de 2000.
Pendant le parcours d'inscription, la personne voit une annonce, décide de cliquer ou non, puis de s'inscrire ou non. Les clics et les inscriptions sont donc binaires et modélisés à l'aide de VA binomiales. Qu'en est-il de la probabilité \(p\) de succès? Notre option à faible coût nous donne un taux de clics de 1 % et un taux d'inscription de 20 %. Une option à coût plus élevé pourrait augmenter les taux de clics et d'inscription jusqu'à 20 %, mais comme nous ignorons le niveau exact d'amélioration, nous le modélisons comme une VA uniforme.
Cette activité fait partie du cours
Simulation statistique en Python
Instructions de l’exercice
- Initialisez les dictionnaires
ct_rateetsu_ratede sorte que les valeurshighsoient distribuées uniformément entre la valeurlowet \(1{.}2 \times\) la valeurlow. - Modélisez
impressionscomme une variable aléatoire de Poisson de moyennelam. - Modélisez
clicksetsignupscomme des variables aléatoires binomiales avecnégal àimpressionsetclicks, etpégal àct_rate[cost]etsu_rate[cost], respectivement. - Nous affichons ensuite les inscriptions simulées pour l'option de coût
'high'.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)))