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.
- 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
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
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)countrydate
-
Effets simulés :
- impact du device sur la conversion
- impact géographique
- variation du taux de conversion entre A et B
Conversion Rate
[ Conversion\ Rate = \frac{Conversions}{Visiteurs} ]
| 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 |
- 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.
- A : [9.50% ; 11.18%]
- B : [11.23% ; 13.05%]
📌 Les intervalles montrent une séparation claire entre les deux groupes.
- B surperforme A sur tous les devices
- Impact particulièrement fort sur tablet
- Amélioration sur la majorité des pays
- Exception : légère baisse au Canada
- B performe mieux en semaine et weekend
- Résultats stables dans le temps
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
- Python (Pandas, NumPy)
- Matplotlib
- Statsmodels
- SciPy
- Jupyter Notebook
git clone https://github.com/ton-username/ab-testing-python.git
cd ab-testing-python
pip install -r requirements.txtpython src/data_generation.pyjupyter notebook notebooks/ab_test_analysis.ipynb- Dashboard interactif avec Streamlit
- A/B test multi-variantes (A/B/C)
- Ajout d’autres KPI (revenu, temps passé)
- Simulation d’effets saisonniers
Projet réalisé par Mamadou Diedhiou Data Analyst | BI | Analytics Engineering
