CommencerCommencer gratuitement

Parcours d’inscription

Nous allons maintenant modéliser le processus de génération des données (DGP) d’un flux publicitaire eCommerce en commençant par les inscriptions.

Chaque jour, nous avons de nombreuses impressions publicitaires, modélisées par des variables aléatoires de Poisson. On vous indique que \(\lambda\) suit une loi normale avec une moyenne de 100 000 visiteurs et un écart type de 2000.

Pendant le parcours d’inscription, le client voit une publicité, choisit 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 variables 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 plus coûteuse pourrait augmenter les taux de clic et d’inscription jusqu’à 20 % supplémentaires, mais comme nous ne connaissons pas précisément le niveau d’amélioration, nous le modélisons comme une variable uniforme.

Cet exercice fait partie du cours

Simulation statistique en Python

Afficher le cours

Instructions

  • Initialisez les dictionnaires ct_rate et su_rate de sorte que les valeurs high soient réparties uniformément entre la valeur low et \(1.2 \times\) la valeur low.
  • Modélisez impressions comme une variable de Poisson de moyenne lam.
  • Modélisez clicks et signups comme des variables binomiales avec n égal à impressions et clicks, et p égal à ct_rate[cost] et su_rate[cost], respectivement.
  • Affichez ensuite les inscriptions simulées pour l’option de coût 'high'.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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