# Méthodologie — Analyse de la couverture vaccinale et des abandons

Documentation technique du projet *Analyse de la couverture vaccinale et des
abandons*. Elle expose comment chaque chiffre est calculé, pourquoi le
dénominateur a changé par rapport à l'ancien tableau de bord, et ce que la liste
de supervision affirme et n'affirme pas.

- **Jeu de données source :** `vaccination-coverage-2024.v1.csv` (38 formations
  sanitaires, 12 mois, agrégats mensuels au format DHIS2)
- **Analyse :** `notebooks/coverage-analysis.python.fr.ipynb`
- **Décision éclairée :** lesquelles des trente-huit formations sanitaires — dix —
  reçoivent une visite de supervision le trimestre prochain
- **Normes appliquées :** définitions d'indicateurs UNICEF, ODD 3.b.1

Tous les jeux de données de cette plateforme sont synthétiques. La couverture
présentée ici ne décrit aucun district réel.

---

## 1. Le défaut que cette méthodologie corrige

L'ancien tableau de bord classait les formations sanitaires selon

```
couverture = Σ doses penta3 / population_cible
```

sommé sur les douze mois **que la formation ait rapporté ou non**. Une formation
n'ayant rien transmis apparaît dans un extrait DHIS2 comme des lignes à zéro
dose : une formation silencieuse devenait donc une formation n'ayant vacciné
personne, et les visites de supervision allaient à des formations dont le seul
vrai problème était un rapport en retard.

La complétude du rapportage du district est de **76,5 %**. Ce n'est pas une
erreur d'arrondi sur le dénominateur ; c'est un quart des mois-formation.

---

## 2. Complétude du rapportage — calculée en premier, car elle conditionne tout le reste

| | |
| --- | --- |
| **Numérateur** | Mois-formation avec `report_submitted` vrai |
| **Dénominateur** | Mois-formation attendus (38 formations × 12 mois = 456) |
| **Valeur** | 0,765 |
| **Valide au niveau** | Formation, mois, district |
| **Décision éclairée** | Conditionne tous les autres indicateurs ; également critère de supervision à part entière |

Dédupliquer à une ligne par mois-formation avant ce calcul — l'extrait porte une
ligne par mois-formation-antigène, et compter les lignes d'antigène pondérerait
une formation par le nombre de vaccins qu'elle rapporte.

**Complétude mensuelle**

| Mois | Complétude |
| --- | ---: |
| Janv. | 92,1 % |
| Févr. | 81,6 % |
| Mars | 73,7 % |
| Avr. | 86,8 % |
| Mai | 84,2 % |
| Juin | 86,8 % |
| Juil. | 81,6 % |
| **Août** | **28,9 %** |
| **Sept.** | **44,7 %** |
| Oct. | 94,7 % |
| Nov. | 76,3 % |
| Déc. | 86,8 % |

**Août et septembre sont un problème de district, non un problème de formation
sanitaire.** Une liste de supervision bâtie sur ces deux mois seuls irait visiter
ceux qui se trouvaient silencieux pendant une perturbation à l'échelle du
district. Toute tendance mensuelle traversant cette fenêtre doit être lue au
regard de ce tableau, et les chiffres annuels ci-dessous sont utilisés
précisément parce qu'ils n'en sont pas dominés.

---

## 3. Couverture

| | |
| --- | --- |
| **Numérateur** | Doses de penta3 administrées, **sur les seuls mois rapportés** |
| **Dénominateur** | `population_cible × (mois rapportés / 12)` |
| **Valide au niveau** | Formation, annuel |
| **Décision éclairée** | Contexte de la liste de supervision ; **pas un critère de classement en soi** |

Le dénominateur est proratisé aux mois réellement rapportés par la formation :
l'indicateur mesure ainsi la vaccination et non le rapportage.

**Effet de la correction.** Classement des formations sur les deux dénominateurs
et comparaison des positions :

| Formation | Mois rapportés seuls | Tous les mois | Complétude | Variation de rang |
| --- | ---: | ---: | ---: | ---: |
| FAC019 | 0,866 | 0,505 | 58,3 % | +21 |
| FAC021 | 0,876 | 0,511 | 58,3 % | +21 |
| FAC033 | 0,680 | 0,680 | 100 % | −21 |
| FAC001 | 0,767 | 0,703 | 91,7 % | −19 |
| FAC006 | 0,986 | 0,575 | 58,3 % | +17 |
| FAC004 | 1,015 | 0,592 | 58,3 % | +16 |
| FAC025 | 0,714 | 0,655 | 91,7 % | −16 |
| FAC011 | 0,774 | 0,452 | 58,3 % | +14 |

Les formations se déplacent jusqu'à 21 places, et **elles se déplacent selon la
fréquence à laquelle elles ont rapporté, non selon la qualité de leur
vaccination**. Toute formation qui gagne des rangs est à 58,3 % de complétude ;
toute formation qui en perd est à 91,7 % ou 100 %. C'est le défaut, isolé.

**Pourquoi la couverture n'est pas un critère de classement.** Elle repose sur
`target_population`, une estimation administrative que ce jeu de données prend
pour acquise. Une formation à aire de responsabilité surestimée paraîtra
sous-performante quel que soit le nombre d'enfants atteints. Une couverture
au-dessus de 1,0 (FAC004 à 1,015, FAC035 à 1,121) en est le symptôme visible. La
couverture est rapportée pour le contexte ; la liste de visites est bâtie sur les
signalements du §5.

---

## 4. Abandon

| | |
| --- | --- |
| **Numérateur** | Doses penta1 − doses penta3, annuel, mois rapportés seuls |
| **Dénominateur** | Doses penta1, même base |
| **Valide au niveau** | Formation, annuel |
| **Décision éclairée** | Signalement de supervision (seuil 25 %) |

Distribution : médiane 14,2 %, intervalle interquartile 4,1 % à 18,6 %, maximum
24,1 %, minimum −29,6 %.

**Le signalement d'abandon ne se déclenche jamais**, et cela est rapporté plutôt
que discrètement abandonné. Aucune formation ne dépasse 25 % sur le total annuel :
une liste de supervision bâtie sur le seul abandon serait vide.

Conserver le contrôle et déclarer qu'il s'est déclenché zéro fois est plus utile
au superviseur du trimestre prochain que de le supprimer : un critère qui
disparaît de la méthodologie ne peut pas être vu comme ayant été testé. **Ne pas
abaisser le seuil pour le faire mordre** — 25 % est le niveau d'action
programmatique conventionnel, et le déplacer pour produire une liste reviendrait à
ajuster le critère à la sortie souhaitée.

---

## 5. Les trois signalements de supervision

| Signalement | Condition | Formations |
| --- | --- | ---: |
| Sur-rapportage | penta3 annuel > penta1 annuel (abandon < 0) | 6 |
| Abandon élevé | Abandon > 25 % | 0 |
| Complétude faible | Complétude < 70 % | 14 |

14 formations échouent à au moins un contrôle ; 10 visites sont disponibles. La
liste doit donc être **priorisée, non filtrée**.

### 5.1 La règle de priorité

```
priorite = 2 × sur_rapportage + 1 × completude_faible
```

les égalités étant départagées par complétude croissante.

**Le sur-rapportage prime sur la complétude faible** parce qu'une formation
rapportant plus de troisièmes doses que de premières produit des chiffres
*faux*, tandis qu'une formation qui n'a pas rapporté produit des chiffres
*absents*. L'absent se récupère en demandant ; le faux est déjà entré dans le
total du district et dans le dénominateur de tout chiffre dérivé.

### 5.2 La liste retenue

| Formation | Complétude | Abandon | Couverture | Motif |
| --- | ---: | ---: | ---: | --- |
| FAC021 | 58,3 % | −29,6 % | 0,876 | penta3 > penta1 sur l'année ; 58 % des mois rapportés |
| FAC035 | 58,3 % | −4,1 % | 1,121 | penta3 > penta1 sur l'année ; 58 % des mois rapportés |
| FAC009 | 66,7 % | −5,7 % | 0,676 | penta3 > penta1 sur l'année ; 67 % des mois rapportés |
| FAC015 | 66,7 % | −0,8 % | 0,692 | penta3 > penta1 sur l'année ; 67 % des mois rapportés |
| FAC023 | 66,7 % | −11,1 % | 0,842 | penta3 > penta1 sur l'année ; 67 % des mois rapportés |
| FAC034 | 66,7 % | −8,0 % | 0,844 | penta3 > penta1 sur l'année ; 67 % des mois rapportés |
| FAC004 | 58,3 % | 13,3 % | 1,015 | 58 % des mois rapportés |
| FAC006 | 58,3 % | 13,4 % | 0,986 | 58 % des mois rapportés |
| FAC011 | 58,3 % | 6,7 % | 0,774 | 58 % des mois rapportés |
| FAC019 | 58,3 % | 23,8 % | 0,866 | 58 % des mois rapportés |

**Chaque formation porte son motif.** Une visite sans question énoncée est une
journée perdue, et « vous êtes sur la liste » n'est pas une question.

### 5.3 Les formations signalées et non retenues

| Formation | Complétude | Abandon | Motif |
| --- | ---: | ---: | --- |
| FAC026 | 66,7 % | 18,7 % | 67 % des mois rapportés |
| FAC028 | 66,7 % | 13,9 % | 67 % des mois rapportés |
| FAC030 | 66,7 % | 12,3 % | 67 % des mois rapportés |
| FAC036 | 66,7 % | 19,1 % | 67 % des mois rapportés |

**Nommer ces quatre est tout l'intérêt d'une liste plafonnée.** Ce sont les
premières candidates du trimestre prochain, et un superviseur à qui l'on n'en
parle pas supposera que la liste était exhaustive.

---

## 6. Ce que la liste de supervision affirme

C'est une liste de formations dont les **données** méritent une conversation. Le
fait de savoir si le service sous-jacent défaille est ce à quoi sert la visite.

Précisément : une formation figurant sur cette liste n'est pas pour autant un
service de vaccination défaillant, et une formation absente n'est pas pour autant
performante. Les formations à forte complétude et à couverture réellement basse
sont invisibles pour ces trois signalements — c'est une limite de portée
délibérée, car avec un dénominateur administratif ce jeu de données ne peut pas
distinguer une couverture basse d'une aire de responsabilité surestimée.

---

## 7. Limites

1. **`target_population` est prise pour acquise.** Là où elle est fausse, la
   couverture est fausse dans le même sens. C'est la principale source d'erreur du
   chiffre de couverture et la raison pour laquelle la couverture ne classe pas la
   liste.
2. **Des données agrégées ne voient pas l'enfant.** Un abandon calculé sur des
   totaux annuels suppose que les cohortes penta1 et penta3 se correspondent. Une
   formation ayant connu un vrai déplacement de charge de cas affiche un abandon
   qui est de l'arithmétique réelle et non un abandon réel.
3. **Un rapport transmis n'est pas un rapport juste.** `report_submitted`
   enregistre que quelque chose est arrivé, non que c'était exact. Les six
   formations en sur-rapportage prouvent que transmission et exactitude sont deux
   propriétés distinctes.
4. **Aucun antigène au-delà de penta1/penta3 n'entre dans l'analyse** : la liste ne
   dit donc rien de la performance sur la rougeole, le BCG ou la polio.
5. **La perturbation d'août-septembre reste inexpliquée** par ce jeu de données.
   Qu'il s'agisse d'une grève, d'une panne système ou d'un changement d'outil de
   rapportage modifie ce que le superviseur doit demander, et cela n'est pas
   consigné ici.

---

## 8. Reproduire cette analyse

```bash
pnpm examples:build
```

Puis exécuter `notebooks/coverage-analysis.python.fr.ipynb`. Il requiert pandas et
numpy et lit le CSV en HTTPS.

Le jeu de données est versionné par nom de fichier et immuable ; une correction
est publiée en `.v2.csv` avec ce document révisé en même temps.

---

## 9. Journal des versions

| Date | Modification |
| --- | --- |
| 27/07/2026 | Première émission, sur le jeu de données v1. |
