Dans le domaine du marketing digital, PDCA de diverses mesures circule chaque jour. Dans un tel processus, il peut être difficile de vérifier avec précision l'effet des mesures simplement en comparant l'ampleur des nombres. Dans l'optique d'appliquer les connaissances statistiques à de meilleures propositions d'analyse et d'amélioration, j'ai travaillé sur une étude de cas en utilisant la méthode des tests statistiques.
Le sujet cette fois est de vérifier la présence ou l'absence de différences significatives dans les résultats des tests A / B sur un site Web (en supposant un niveau de signification de 0,05). Nous avons adopté le test du chi carré (test d'indépendance), qui est souvent utilisé pour vérifier l'efficacité des tests A / B, et nous nous sommes référés au «test d'ab audace» de kaggle pour les données. https://www.kaggle.com/samtyagi/audacity-ab-testing
Tout d'abord, importez la bibliothèque et chargez les données.
import math
import numpy as np
import pandas as pd
import scipy.stats
df=pd.read_csv("homepage_actions.csv")
df.head()
L'explication de chaque colonne est la suivante. horodatage: date et heure d'accès id: ID utilisateur groupe: le groupe témoin est témoin, le groupe d'essai est l'expérience action: cliquez lorsque vous cliquez dessus, voir si juste vu
Puis agrégez les données. Obtenons le nombre total pour chaque groupe.
group=df.groupby('group').count()
group
De plus, le tableau croisé dynamique regroupe le nombre de clics pour chaque groupe.
pd.pivot_table(df,index='group',columns='action',values=['group','action'],aggfunc='count')
Le taux de clics de chaque groupe est Groupe témoin: 932 ÷ 4264 = 0,21857410881801126 Groupe de test: 928/3924 = 0,2364937410805302 On peut voir que le taux de clic lui-même est plus élevé dans le groupe de test.
Est-il possible de dire que le groupe de test a un taux de clics nettement plus élevé? Vérifions avec le test du chi carré. Pour Python, utilisez la fonction chi2_contingency dans scipy.stats.
data=np.matrix([[932,3332],[928,2996]])
chi2,p,ddof,expected=scipy.stats.chi2_contingency(data,correction=False)
print("Valeur du chi carré:", chi2)
print("valeur p:", p)
print("Degré de liberté:", ddof)
print("Fréquence attendue:", expected)
En regardant les résultats de sortie, la valeur p, qui est une probabilité significative, était supérieure à 0,05. Dans ce cas, l'hypothèse nulle selon laquelle "il n'y a pas de différence significative entre les deux échantillons" n'est pas rejetée. Cela signifie que le groupe de test n'a pas un taux de clics significativement plus élevé. Vous pouvez voir qu'il n'est pas possible de juger par la taille de nombres simples.
Dans certains cas, il peut ne pas être approprié de juger si une mesure est bonne ou mauvaise en se basant uniquement sur le taux de clics, mais il semble que l'analyse par une telle méthode puisse être utilisée comme un élément de jugement pour prendre des mesures plus efficaces.
Recommended Posts