Leçon 6 sur 8
Unité · Le rapport autour
Une annexe ne contenant que des analyses réussies est celle que personne ne croit
L'annexe existe pour qu'un relecteur puisse vérifier le rapport sans le réexécuter. Elle contient donc les tests qui n'ont rien trouvé, les analyses lancées puis écartées, et le nombre de comparaisons — parce qu'un relecteur qui ne voit pas le dénominateur ne peut pas peser les constats.
À quoi sert l’annexe
Non à l’exhaustivité — un relecteur ne lira pas quarante pages. L’annexe contient exactement ce dont quelqu’un a besoin pour être en désaccord avec vous de façon compétente.
| L’annexe contient | Pour qu’un relecteur puisse |
|---|---|
| Chaque test lancé, y compris les nuls | Peser les constats contre le nombre |
| Les définitions, ou un lien vers elles | Vérifier que l’indicateur est celui qu’il croit |
| Les écarts au plan d’analyse | Voir que les changements ont été décidés, non découverts |
| Les exclusions, avec effectifs et raisons | Reconstituer le dénominateur |
| Le code, ou son emplacement | Le réexécuter |
Tout le reste a sa place dans le rapport ou nulle part.
Le tableau des tests
Comparison Test Statistic p Effect
Completion by disability two-sample z z = -5.21 <0.001 -19.4 pts
Over-age by sex two-sample z z = 1.84 0.066 +5.5 pts
Attendance by sex two-sample z z = 2.28 0.023 +0.56 pts
Attendance by feeding Welch t t = 3.11 0.008 +5.2 pts
Over-age by sex, 24 schools two-sample z x24 2 of 24 at p<0.05 0 survive
Bonferroni
Comparisons run in total: 29. Findings reported in the body: 2.
Trois de ces cinq lignes sont en annexe précisément parce qu’elles n’ont rien trouvé. Un écart non significatif, une significativité sans portée et une famille de tests nuls sont tous des choses qu’un relecteur doit pouvoir retrouver.
La dernière ligne est celle qui change la lecture du rapport. Deux constats sur vingt-neuf comparaisons est un rapport défendable énoncé ouvertement ; deux constats sans dénominateur est une affirmation qu’un relecteur n’a aucun moyen de peser.
Une annexe ne contenant que des tests réussis dit au relecteur que le compte a été arrangé, et rien ne défait ce signal.
Les exclusions, avec effectifs
Chaque exclusion est une décision, et un relecteur qui reconstitue votre dénominateur a besoin de toutes.
audit = []
audit.append(("all rows", len(survey)))
survey = survey[survey["age_months"] <= 60]
audit.append(("age above 60 months", len(survey)))
survey = survey.dropna(subset=["muac_mm"])
audit.append(("no MUAC recorded", len(survey)))
for label, remaining in audit:
print(f"{label:28} {remaining:>6,}")
# Build the audit trail as you filter, not from memory afterwards.
Imprimez l’effectif après chaque étape, dans l’ordre. Un relecteur qui voit 4 218 dans le rapport et 4 206 dans l’annexe sait exactement quelles douze lignes sont parties et pourquoi.
L’exclusion silencieuse la plus courante est une jointure. Une jointure interne qui écarte un tiers des données ressemble exactement à une qui n’en écarte aucune, raison pour laquelle l’assertion la plus utile du cours sur les chaînes est un comptage de lignes à chaque jointure.
Les écarts au plan
Deviations from the analysis plan
Planned: primary analysis on all enrolled students.
Done: restricted to the 585 with both assessment rounds.
Why: 156 students have no endline. Attrition analysis added; those who
left scored 39.3% at baseline against 56.8% for those who stayed,
so the panel is not representative and this is a stated limitation.
Un écart listé est une force et un écart non listé trouvé par un relecteur est la fin de la crédibilité du rapport, et ce qui les sépare tient en quatre lignes écrites sur le moment.
La section exploratoire, étiquetée
Deux en-têtes, et l’étiquette est tout le mécanisme.
B.1 Pre-specified analyses 1 model, reported in the body
B.2 Exploratory analyses 3 models, generating hypotheses only
Un constat de sous-groupe est exploratoire à moins que le sous-groupe ait été nommé d’avance. Le cours de statistiques a trouvé deux écoles significatives sur vingt-quatre pour un effet exactement nul ; un sous-groupe choisi après avoir vu les données est la même machine sans l’étiquette.
Ce qu’une annexe ne doit pas contenir
Des données brutes. Surtout pas ici. Une annexe de protection avec un tableau au niveau du cas est une divulgation, et l’agrégation qui l’empêche est la règle de suppression qu’enseigne le cours de protection.
Des captures d’écran de code. Le code, ou le dépôt, ou rien.
Chaque graphique qui n’a pas atteint le rapport. Une annexe n’est pas un cimetière ; un graphique qui ne portait pas de constat n’en porte pas non plus en annexe.
Une sortie que personne ne peut lire. Un résumé de régression collé avec quarante lignes de mise en forme logicielle n’est pas une preuve, c’est une intimidation. Formatez-le comme le tableau qu’aurait employé le corps du rapport.
La note de reproduction
La dernière chose de l’annexe, et celle qui rend tout ce qui précède vérifiable.
Reproduction
Code: github.com/<org>/nutrition-surveillance, commit a3f9c21
Data: muac-screening-artibonite-2024.v1.csv, SHA-256 4f2a9c1b8e...
Environment: Python 3.12, dependencies pinned in uv.lock
uv sync && uv run python run.py
Running this on a clean checkout reproduces every number in this report
and this annex. Verified 2026-03-14.
« Vérifié » avec une date est l’affirmation. Tout l’argument du cours sur les chaînes reproductibles atterrit ici : une analyse que personne ne peut réexécuter est une analyse dont les autres propriétés doivent être prises sur parole.
Rapportez-le en entier
Annex contents
A. Indicator definitions (linked; numerator, denominator, level, standard,
decision informed, for nine indicators)
B.1 Pre-specified analyses (1)
B.2 Exploratory analyses (3, labelled, not presented as findings)
C. All comparisons run: 29, with statistic, p and effect size. Two are
reported as findings in the body.
D. Exclusions: 4,218 screenings, 12 excluded for an implausible age, with
the count after each step.
E. Deviations from the analysis plan: 1, listed with its reason.
F. Reproduction: repository, commit, data checksum, environment, and the
two commands. Verified 2026-03-14.
Six sections et aucune n’est longue. Une annexe se juge à la capacité d’un relecteur d’y trouver ce dont il doute, non à son poids.
La suite
Le rapport est écrit et l’annexe contient le travail. La leçon suivante est la salle où il est présenté — précisément le cas où le constat n’est pas celui que le comité a commandé, ce qui est la chose la plus difficile que ce cours demande à quiconque.