Atelier · Intermédiaire
Le district qui paraissait le meilleur
Classez trois districts sur la fonctionnalité des points d'eau, puis établissez que vous ne le pouvez pas. Construisez les trois taux, encadrez chacun face aux visites jamais faites, et rédigez la phrase qui refuse de classer.
Un rapport bailleur est attendu et il demande un classement des districts sur la fonctionnalité des points d’eau. Le registre compte douze tournées mensuelles et paraît complet.
Deux cent soixante-quinze de ses visites prévues n’ont jamais été faites, il ne contient aucune ligne pour elles, et le district qui a le moins de visites arrive en tête.
Le fichier
water-point-monitoring-2024.v1.csv — 2 629 visites de suivi sur 242 points d’eau
dans trois districts, mensuelles tout au long de 2024, avec l’état, le débit, le
chlore et le nombre de personnes desservies par chaque point. Synthétique.
Préparez d’abord
Un répertoire de projet, le fichier en lecture seule, un répertoire outputs/, et
un script qui s’exécute de haut en bas depuis un noyau propre.
Partie une : trois taux, trois dénominateurs
Pour l’ensemble du registre et pour chaque district, calculez :
- la fonctionnalité par visite — visites trouvant un point en service sur visites faites ;
- la fonctionnalité par point — points en service à chacune de leurs visites, sur le nombre de points ;
- la fonctionnalité pondérée par la population — usagers desservis par un point en service sur usagers desservis, sommés sur les visites.
Imprimez-les dans un seul tableau avec chaque dénominateur énoncé. Décidez si
partially-functional compte comme en service, écrivez la décision en commentaire
en tête du script, et employez-la de façon cohérente.
Deux choses à traiter avant l’arithmétique. Deux points ont été réenregistrés après
une passation et figurent deux fois sous des identifiants différents ;
trouvez-les et dites ce que vous en avez fait. Quatre visites n’ont pas de
users_estimated, ce qui n’affecte qu’un seul des trois taux.
Partie deux : le dénominateur que personne n’a choisi
Le registre compte 242 points et douze tournées prévues, soit 2 904 visites dues et 2 629 faites.
Calculez la couverture — visites faites sur visites dues — pour chaque district et chaque mois. Puis encadrez la fonctionnalité de chaque district :
- le taux observé, qui suppose que les visites manquées ressemblent aux visites faites ;
- la borne basse, qui suppose que chaque visite manquée aurait trouvé une panne.
Produisez un tableau avec l’observé, la borne basse et la largeur de la fourchette. Regardez ensuite le classement sous chaque hypothèse, et notez ce qu’il devient.
Partie trois : l’absence était-elle aléatoire ?
Vous ne pouvez pas resserrer la fourchette sans soutenir que les visites manquées ressemblent aux visites faites. Testez-le.
Pour chaque visite suivie d’une tournée manquée, et chaque visite suivie d’une tournée faite, calculez la part ayant trouvé un point en panne. Rapportez les deux avec leur n.
L’écart est faible. Dites en trois phrases ce qu’il permet et ne permet pas de conclure, et s’il justifie de resserrer les bornes.
Partie quatre : le paragraphe
Rédigez le paragraphe district du rapport bailleur. Six phrases au plus, contenant :
- les trois taux pour l’ensemble du programme, chacun avec son dénominateur ;
- la couverture, par district ;
- la fourchette du district le moins bien couvert ;
- une phrase refusant de classer les districts, et pourquoi ;
- une phrase disant ce qui rendrait un classement possible.
Vérifiez vos nombres
| Attendu | |
|---|---|
| Fonctionnalité par visite, registre entier | environ 74 % |
| Fonctionnalité par point | environ 34 % |
| Fonctionnalité pondérée par la population | environ 83 % |
| Couverture globale | environ 90 % |
| Couverture, pire district | environ 83 % |
| Fourchette la plus large | environ 13 points |
Si votre chiffre pondéré par la population est inférieur à celui par visite, les poids sont passés du mauvais côté de la division — les réseaux desservent le plus de monde et tombent le moins en panne, donc la pondération doit le faire monter.
Les questions à traiter en prose
Trois phrases chacune.
1. Vos trois taux de fonctionnalité s’écartent de près de cinquante points entre le plus haut et le plus bas. Expliquez à un responsable de programme pourquoi les trois sont exacts, et lequel vous mettriez dans un rapport adossé à Sphère.
2. Le report de la dernière observation remplirait chaque tournée manquée et produirait un nombre presque identique au taux observé. Dites pourquoi ce n’est pas rassurant, et quelle hypothèse cela introduit en douce.
3. Le district à la plus mauvaise couverture est aussi le plus difficile à atteindre pendant les pluies. Expliquez pourquoi cela rend son retrait du rapport pire que son maintien avec une large fourchette, et ce que le chiffre de couverture dit à un programme de changer.
À rendre
Un script ou un carnet Python produisant :
- le tableau des trois taux avec chaque dénominateur et n énoncés
- le tableau de couverture par district et par mois
- le tableau des bornes avec la largeur de la fourchette, et le classement sous chaque hypothèse
- le test d’absence avec les deux parts et leur n
- le paragraphe de six phrases en cellule markdown ou docstring
Comment savoir que c’est fini
Supprimez outputs/, redémarrez le noyau, exécutez une fois, et chaque tableau se
régénère à l’identique. Changer votre décision sur partially-functional en tête
du script déplace les trois taux et rien d’autre — si un chiffre de couverture
bouge, un filtre d’état a fui dans un dénominateur qui ne devrait compter que des
visites.
Ce que ce laboratoire n’est pas
Ce n’est pas une évaluation du programme d’eau. Savoir si les points étaient les bons, si les communautés ont été consultées et si le modèle d’entretien est viable sont des questions auxquelles ce registre ne peut pas répondre. Ce laboratoire porte sur le dénominateur : trois taux défendables issus d’un seul fichier, et la discipline de dire ce que les visites que personne n’a faites auraient pu faire à chacun d’eux.