CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Initialisez les dictionnaires ct_rate et su_rate de sorte que les valeurs high soient distribuées uniformément entre la valeur low et \(1{.}2 \times\) la valeur low.
  • Modélisez impressions comme une variable aléatoire de Poisson de moyenne lam.
  • Modélisez clicks et signups comme des variables aléatoires binomiales avec n égal à impressions et clicks, et p égal à ct_rate[cost] et su_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)))
Modifier et exécuter le code