Skip to content

Latest commit

 

History

History
43 lines (34 loc) · 1.89 KB

File metadata and controls

43 lines (34 loc) · 1.89 KB

Contribution Guide

Ce dépôt est une mini-étude de causal machine learning. Les contributions doivent préserver la distinction entre prédiction de conversion, propension au traitement et uplift causal.

Principes

  • P(Y=1 | X) mesure une probabilité de conversion.
  • P(Y=1 | X,T=1) - P(Y=1 | X,T=0) mesure l'uplift conditionnel.
  • P(T=1 | X) mesure la propension à recevoir le traitement.
  • Les conclusions causales doivent rappeler les hypothèses : randomisation ou ignorabilité, SUTVA, positivité, cohérence et absence d'interférences majeures.

Règles de travail

  • Ne pas optimiser l'accuracy comme métrique principale.
  • Utiliser Qini, AUUC, uplift@k, incremental gain, policy value et diagnostics par décile pour comparer les politiques.
  • Conserver treatment comme traitement primaire pour l'analyse principale.
  • Traiter exposure comme variable post-traitement exploratoire.
  • Ne pas versionner les données brutes ou intermédiaires.
  • Tracer chaque expérience : ID, seed, variante dataset, taille d'échantillon, colonnes, modèle, hyperparamètres et métriques.
  • Garder la logique lourde dans src/uplift_study, pas dans les notebooks.
  • Sauvegarder les résultats dans reports/ ou data/processed/.

Standards de code

  • Python 3.11+.
  • Fonctions courtes, typées et testables.
  • Tests dédiés pour les métriques et les diagnostics de politique.
  • Séparation stricte train/validation/test.
  • Seuils et sélection de politique décidés sur validation, jamais sur test.

Documentation

  • Les notebooks doivent rester narratifs et légers.
  • Les rapports doivent préciser la base des déciles : classement par score d'uplift ou par score de politique.
  • Les limites méthodologiques doivent rester visibles.
  • Les recommandations doivent être actionnables : ciblage proposé, gain incrémental attendu et segments à éviter lorsque les données le permettent.