Skip to content

mamadou-data/ab-testing-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 A/B Testing Analysis - Landing Page Optimization

🚀 Contexte

Dans un contexte d’optimisation de la performance produit, une entreprise souhaite améliorer le taux de conversion de sa landing page.

Un test A/B est mis en place pour comparer :

  • Version A : version actuelle (contrôle)
  • Version B : nouvelle version (variation)

L’objectif est de déterminer si la version B permet d’améliorer significativement les conversions.


🎯 Objectifs du projet

  • Mesurer et comparer les performances des groupes A et B
  • Calculer l’uplift absolu et relatif
  • Vérifier la significativité statistique
  • Analyser les performances par segment (device, pays, temps)
  • Formuler une recommandation business

📁 Structure du projet

ab-testing-python/
│
├── data/
│   └── ab_test_data.csv
│
├── notebooks/
│   └── ab_test_analysis.ipynb
│
├── src/
│   └── data_generation.py
│
├── images/
│   └── conversion_rate_ci.png
│
├── README.md
└──requirements.txt

⚙️ Génération des données

Les données ont été simulées en Python afin de reproduire un cas réaliste :

  • 10 000 utilisateurs

  • Répartition aléatoire entre A et B

  • Variables :

    • device (mobile, desktop, tablet)
    • country
    • date
  • Effets simulés :

    • impact du device sur la conversion
    • impact géographique
    • variation du taux de conversion entre A et B

📊 KPI principal

Conversion Rate

[ Conversion\ Rate = \frac{Conversions}{Visiteurs} ]


📈 Résultats principaux

Metric Value
Conversion rate A 10.34%
Conversion rate B 12.14%
Uplift absolu +1.80%
Uplift relatif +17.41%
Z-test p-value 0.00438
Chi² test p-value 0.00484

🧪 Analyse statistique

  • Test utilisé : Z-test de proportion
  • Test complémentaire : Chi²

👉 Résultat :

  • p-value < 0.05
  • Différence statistiquement significative

➡️ La variation B performe mieux que A avec un haut niveau de confiance.


📉 Intervalles de confiance (95%)

  • A : [9.50% ; 11.18%]
  • B : [11.23% ; 13.05%]

📌 Les intervalles montrent une séparation claire entre les deux groupes.


📊 Analyse par segments

📱 Device

  • B surperforme A sur tous les devices
  • Impact particulièrement fort sur tablet

🌍 Pays

  • Amélioration sur la majorité des pays
  • Exception : légère baisse au Canada

📅 Temps

  • B performe mieux en semaine et weekend
  • Résultats stables dans le temps

📈 Visualisation

Conversion Rate CI


🧠 Conclusion

La version B améliore significativement le taux de conversion.

✔️ Gain mesurable (+17%)

✔️ Résultat statistiquement significatif

✔️ Impact positif sur plusieurs segments

✔️ Performance stable dans le temps

👉 Recommandation : déployer la version B


🛠️ Technologies utilisées

  • Python (Pandas, NumPy)
  • Matplotlib
  • Statsmodels
  • SciPy
  • Jupyter Notebook

📦 Installation

git clone https://github.com/ton-username/ab-testing-python.git
cd ab-testing-python

pip install -r requirements.txt

▶️ Exécution

Générer les données

python src/data_generation.py

Lancer l’analyse

jupyter notebook notebooks/ab_test_analysis.ipynb

💡 Améliorations possibles

  • Dashboard interactif avec Streamlit
  • A/B test multi-variantes (A/B/C)
  • Ajout d’autres KPI (revenu, temps passé)
  • Simulation d’effets saisonniers

📬 Contact

Projet réalisé par Mamadou Diedhiou Data Analyst | BI | Analytics Engineering


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors