Skip to content

Latest commit

 

History

History
179 lines (112 loc) · 4.09 KB

File metadata and controls

179 lines (112 loc) · 4.09 KB

12 — Backlog / Issues

P0 — Fondations

Issue 001 — Implémenter le chargement dataset — fait en smoke

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-uplift n'est pas installé.

Issue 002 — Data audit — fait en smoke

Objectif : produire reports/tables/data_audit.csv.

Acceptance criteria :

  • taux traitement, exposure, visit, conversion ;
  • dimensions ;
  • missing values ;
  • outcome par groupe traité/contrôle.

Issue 003 — Split reproductible — fait en smoke

Objectif : créer train/validation/test stratifiés.

Acceptance criteria :

  • seed configurable ;
  • stratification par (treatment, outcome) ;
  • proportions respectées ;
  • pas de chevauchement d'indices.

P0 — Métriques

Issue 004 — Uplift by bin — fait en smoke

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.

Issue 005 — Uplift@k — fait en smoke

Objectif : calculer uplift dans le top-k.

Acceptance criteria :

  • k en proportion ;
  • score décroissant ;
  • tests unitaires ;
  • warning si top-k trop petit.

Issue 006 — Qini curve wrapper — fait en smoke

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.

P0 — Modèles

Issue 007 — Random policy — fait en smoke

Acceptance criteria :

  • score aléatoire reproductible ;
  • métriques calculées ;
  • figure incluse.

Issue 008 — Propensity LR/HGB — fait en smoke

Acceptance criteria :

  • fit sur train ;
  • score sur val/test ;
  • AUC rapportée en métrique secondaire ;
  • métriques uplift de la politique propension.

Issue 009 — T-Learner LR/HGB — fait en smoke

Acceptance criteria :

  • modèle traité et contrôle séparés ;
  • score uplift = p1 - p0 ;
  • métriques uplift ;
  • comparaison aux baselines.

P1 — Avancé

Issue 010 — DRLearner

Acceptance criteria :

  • dépendance vérifiée ;
  • fallback si impossible ;
  • comparaison Qini/AUUC ;
  • limites documentées.

Statut : optionnel, non exécuté.

Issue 011 — Bootstrap intervals

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.

Issue 012 — Conversion outcome

Acceptance criteria :

  • pipeline rejoué sur conversion ;
  • comparaison stabilité ;
  • section dédiée dans rapport.

Statut : fait en dev, intégré à reports/final_report.md.

Issue 015 — Rapport narratif smoke

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.

P2 — Bonus

Issue 013 — Dashboard léger

Objectif : visualiser politique et segments.

Acceptance criteria :

  • Streamlit ou Dash ;
  • filtres modèle/outcome/k ;
  • courbe Qini et déciles.

Issue 014 — Rapport PDF

Objectif : exporter le rapport final en PDF.

Acceptance criteria :

  • figures intégrées ;
  • bibliographie ;
  • annexes.

Issue 016 — Table consolidée des expériences — fait en dev

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.csv versionné ;
  • 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.