Objectif : charger Criteo via scikit-uplift ou CSV local.
Acceptance criteria :
load_criteo(mode="smoke")retourne X, y, treatment.- Les colonnes sont typées.
- Le mode smoke limite à 100k lignes.
- Un message clair apparaît si
scikit-upliftn'est pas installé.
Objectif : produire reports/tables/data_audit.csv.
Acceptance criteria :
- taux traitement, exposure, visit, conversion ;
- dimensions ;
- missing values ;
- outcome par groupe traité/contrôle.
Objectif : créer train/validation/test stratifiés.
Acceptance criteria :
- seed configurable ;
- stratification par
(treatment, outcome); - proportions respectées ;
- pas de chevauchement d'indices.
Objectif : calculer uplift par quantile de score.
Acceptance criteria :
- fonction testée ;
- gestion des bins sans traités ou sans contrôles ;
- sortie DataFrame propre.
Objectif : calculer uplift dans le top-k.
Acceptance criteria :
- k en proportion ;
- score décroissant ;
- tests unitaires ;
- warning si top-k trop petit.
Objectif : wrapper propre autour de scikit-uplift ou implémentation fallback.
Acceptance criteria :
- fonctionne avec y, treatment, score ;
- exporte points de courbe ;
- figure sauvegardée.
Acceptance criteria :
- score aléatoire reproductible ;
- métriques calculées ;
- figure incluse.
Acceptance criteria :
- fit sur train ;
- score sur val/test ;
- AUC rapportée en métrique secondaire ;
- métriques uplift de la politique propension.
Acceptance criteria :
- modèle traité et contrôle séparés ;
- score uplift = p1 - p0 ;
- métriques uplift ;
- comparaison aux baselines.
Acceptance criteria :
- dépendance vérifiée ;
- fallback si impossible ;
- comparaison Qini/AUUC ;
- limites documentées.
Statut : optionnel, non exécuté.
Acceptance criteria :
- bootstrap configurable ;
- IC 95 % pour uplift@k ;
- runtime raisonnable.
Statut : fait en smoke et dev ; à renforcer avec 1000 itérations si un résultat final plus robuste est requis.
Acceptance criteria :
- pipeline rejoué sur
conversion; - comparaison stabilité ;
- section dédiée dans rapport.
Statut : fait en dev, intégré à reports/final_report.md.
Objectif : assembler audit, EDA, métriques, test verrouillé et overlap dans un rapport Markdown.
Acceptance criteria :
- rapport produit depuis les sorties ;
- liens figures valides ;
- limites smoke explicites ;
- pas de conclusion business définitive.
Statut : fait, reports/smoke_study_report.md.
Objectif : visualiser politique et segments.
Acceptance criteria :
- Streamlit ou Dash ;
- filtres modèle/outcome/k ;
- courbe Qini et déciles.
Objectif : exporter le rapport final en PDF.
Acceptance criteria :
- figures intégrées ;
- bibliographie ;
- annexes.
Objectif : produire une table synthétique lisible par des non initiés et référencée dans le README.
Acceptance criteria :
- fichier
reports/tables/experiment_results.csvversionné ; - lignes validation pour chaque modèle ;
- lignes test pour chaque politique sélectionnée ;
- colonnes outcome, split, modèle, score type, Qini, AUUC, uplift@k ;
- commande
make experiment-results.