hostolab / covidliste

Speed-up Covid-19 vaccination campaigns 💉
https://www.covidliste.com
MIT License
255 stars 55 forks source link

Ne pas sélectionner les volontaires selon leur distance avec le centre de vaccination #270

Closed DavidLibeau closed 3 years ago

DavidLibeau commented 3 years ago

Actuellement, CovidListe sélectionne les volontaires suivant leur distance avec le centre de vaccination. Plus on est proche du centre qui a des doses, plus on a de chance d'être contacté. La localisation des volontaires est une donnée froide (non mise à jour régulièrement). Ainsi, des volontaires pourrait se retrouver juste à côté d'un centre avec des doses à administrer sans être contacté (par exemple, si le volontaire doit travailler en présentiel, ou est en déplacement).

Plusieurs solutions permettrait de résoudre ce problème. La première est de transformer la donnée de localisation en donnée chaude. A l'instar de l'application SAUV, la données de localisation est mise à jour régulièrement et permet de notifier les personnes réellement présentes à proximité et non suivant une déclaration faite à l'inscription. Cette solution demande une mise à jour des données personnelles et n'est, à mon avis, pas viable pour des temps de trajet >10min.

Une autre solution serait de passer à un système d'abonnement. Qui de mieux que les volontaires pour dire sur quel centre de vaccination iels peuvent se déplacer rapidement ? L'idée est de proposer une carte des centres de vaccination partenaires et de laisser les volontaires s'abonner pour chaque centre. On pourrait demander d'indiquer une estimation d'un temps de trajet moyen pour se rendre au centre, si on veut discriminer les volontaires selon leur distance avec les centres. Une dose d'aléatoire devra, je pense, être mise en place.

Je pense que la distance, comme elle est utilisée aujourd'hui, n'est pas une donnée assez fiable, surtout si elle n'est pas transformée en temps de trajet. Par exemple, avec le stade de France, si une personne habite à Senlis (une ville au nord-est de Paris près de l'autoroute), en 30min elle peut y être en étant à ~42km du stade de France alors qu'une personne à Gif-sur-Yvette à moins de trajet (~38km) mais c'est plus long (~45min).

Florto commented 3 years ago

La distance du domicile est aujourd’hui la donnée qui permet de respecter au mieux notre objectif de frugalité en terme d’informations collectées. La personne indique l’emplacement où elle est le plus fréquemment, elle le fait à son inscription, et peut par elle-même décider de mettre à jour cette donnée dans son interface.

Il n’est pas souhaitable de mettre en place une solution de mise à jour fréquente, manuelle ou dynamique de la localisation.

Les vaccinateurs choisissent par eux même les critères de contact en distance et âge. La personne qui n’est pas à proximité alors qu’elle est contactée est en mesure de ne pas donner suite.

La solution de listes d’attente par centre, de même encouragerait le stockage de trop d’information pour un utilisateur donné. (Pourquoi la personne est-elle inscrite à tel endroit et pas tel autre ?) D’autre part, le fait que le nombre de centres augmente sans cesse et de façon exponentielle rend cette seconde hypothèse elle-aussi non pertinente.

Par conséquent je propose la cloture de cette issue.

DavidLibeau commented 3 years ago

Je suis d'accord concernant la mise à jour fréquente/dynamique de la localisation.

Pour la liste d'attente par centre, je considère que le stockage d'abonnements des centre implique une connaissance différente qui n'est pas plus problématique. Avec des abonnements ont peut en déduire par triangulation une adresse très approximative, et aujourd'hui on a directement l'adresse enregistrée…

La liste des centres de vaccination est normalement disponible en open data. Les volontaires pourraient s'abonner à tous les centres même ceux non partenaire CovidListe, en prévision de leur intégration à CovidListe.

Florto commented 3 years ago

Il est irréaliste de penser que les utilisateurs pourront mettre à jour à chaque ajout d’un centre de vaccination pour s’ajouter. La carte opendata elle-même est mise à jour en permanence.

D’autre part, la carte proposée en opendata n’indique pas les vaccinateurs libéraux que sont les pharmaciens, les médecins, les infirmiers et les sage-femme.

DavidLibeau commented 3 years ago

Il peut très bien y avoir une option d'abonnement automatique aux centres ajoutés suivant leur distance avec les abonnements précédents.

Florto commented 3 years ago

C’est de l’over engineering qui va à l’encontre des principes de base de simplicité et de frugalité à la base de la démarche.

mathieuripert commented 3 years ago

David, tu promeus la transparence d’un algorithme de matching juste mais tu te contredis toi même en proposant un filtre basé sur un temps de parcours et non une distance.

La distance à vol d’oiseau est une mesure objective, et transparente pour l’utilisateur final. En revanche un temps de parcours est le résultat d’une inférence basée sur un modèle qui dépend donc de plusieurs paramètres potentiellement inconnus (mode de transport, dataset utilisé pour l’entraînement du modèle, modèle utilisé et autres hyper-paramètres).

mathieuripert commented 3 years ago

Les autres propositions me paraissent totalement over-engineered et ne répondent pas du tout aux problématiques que Covidliste s’efforce de résoudre.

Je propose de fermer cette issue.

carsso commented 3 years ago

Je remets ici ce que j'ai dit sur twitter ici à la demande de David.

Quelques bloquants pour moi à cette suggestion :

Pour la partie choix des centres : on a pas de liste exhaustive, on a des centres/vaccinodromes (ça c'est facile) mais aussi des cabinets de médecins, des infirmiers... et la liste bouge sans cesse, on va pas notifier les 500k personnes dès qu'on ajoute un nouveau "centre"/lieu.

J'ajoute (en plus de ce que je disais sur twitter) que je rejoins le fait que c'est créer une complexité monstrueuse pour un truc très simple et qui est déjà suffisamment (pour moi) protecteur et objectif dans le choix des volontaires.

DavidLibeau commented 3 years ago

@mathieuripert Lorsque je propose des solutions techniques, je ne propose pas que des solutions techniques qui me paraissent toutes faisables et auxquelles je souscris. L'idée dans la coconstruction du produit et la recherche de solutions est bien de considérer toutes les possibilités pour débattre et porter un jugement de valeur par la suite. Je considère pas assez convenable l'utilisation d'un algorithme qui calcule le temps de trajet, par exemple.

J'ai démontré avec l'exemple du stade de France et les villes de Senlis et Gif-sur-Yvette que la distance n'est pas du tout une donnée objective. En l’occurrence, je prône bien l'utilisation de données subjectives, basées sur l'estimation des volontaires.

Je prends acte de la clôture de cette issue mais je suis un peu surpris de la rapidité du débat et de la décision. Le débat sur l'utilisation de la distance comme données de sélection est pourtant important. Différentes personnes ont souligné le caractère problématique, notamment sur l'accessibilité : https://twitter.com/Moby_MicroDick/status/1380095985339269125. Selon cette personne, cela "met en lumière un des nbrx validisme sanitaire". Je souscris à cette analyse et ajoute que dans une zone faiblement peuplée, dans les déserts médicaux, une sélection par la distance au sol me semble très problématique car elle exclue encore plus les populations isolées en favorisant les personnes habitants proche des centres de vaccination.

Florto commented 3 years ago

Du coup je propose que vous vous concentriez sur proposer des évolutions concrètes qui en tant que telle seront faciles à approuver ou rejeter. Voire même à proposer des PR pour les évolutions qui vous semblent importantes, ce qui sera encore plus utile à l’initiative.

Et le cas échéant, il vous est toujours possible dans le respect de notre license de forker et créer une plateforme alternative.

DavidLibeau commented 3 years ago

Cette issue est très concrète, elle vise à ne pas utiliser la distance comme critère de sélection ici : https://github.com/hostolab/covidliste/blob/master/app/models/vaccination_center.rb#L86.

Je déplore, encore une fois, qu'aucune débat ne soit possible pour trouver ensemble des solutions pour répondre à cette problématique.

Florto commented 3 years ago

Je suis désolé, mais 10 messages échangés, un rejet des propositions et l’attente que 3 personnes se soient prononcées pour la clôture ne me semble pas être le paroxysme de la censure et de la défense de position que vous voulez faire croie que nous avons mis en œuvre.

Je vous invite à me contacter sur florto.covidliste@gmail.com que nous puissions en débattre plus longuement, si vous le souhaitez.

DavidLibeau commented 3 years ago

GitHub m'indique que le premier retour sur cette issue a été publié à cette date : Apr 10, 2021, 1:26 PM GMT+2 et que l'issue a été fermée à cette date: Apr 10, 2021, 1:58 PM GMT+2. Cette issue a donc bien été fermée en 32 minutes.

Pour obtenir l'avis de plus de personnes, il faut laisser les issues ouvertes. En les fermant rapidement, elles sont perdues dans les issues fermées et ne bénéficie de plus aucune visibilité. Je désaprouve cette méthode qui est bien autoritaire.

mathieuripert commented 3 years ago

@DavidLibeau Je répond à votre idée de proposer un système d'abonnement avec lequel les volontaires pourraient décider eux même du ou des centres pour lesquels ils souhaiteraient être alertés.

Cette approche ne marche pas selon moi, ou du moins ne permet pas de répondre à l'objectif que Covidliste s'est fixé, à savoir "perdre le moins de doses possibles". Et ceux pour deux raisons:

  1. En laissant les volontaires choisir les centres, vous créez un déséquilibre entre l'offre et la demande. En tout cas, vous ne permettez pas de le réduire. Covidliste, je le rappelle, est un outil d'ajustement de l'offre et la demande et tout le principe repose sur cette promesse. Si vous laisser les gens choisir, comment assurez-vous qu'un centre qui dispose de doses aura suffisamment "d'abonnés" ? Ou inversement pourquoi ne pas avertir une personne sous prétexte qu'elle n'aurait pas choisi le centre en question ? L'efficacité de ce genre de système repose sur sa faculté à fluidifier au maximum l'offre et la demande.

  2. Par ailleurs, le nombre de centres partenaires est en constante augmentation et rien ne garantit que tous les centres seront un jour partenaire de Covidliste. Un volontaire qui s'inscrit aujourd'hui ne saurait donc pas à quel centre s'abonner pour maximiser ses chances d'être alerté. Doit-il choisir au centre le plus proche de chez lui ? ou bien un plus gros centre à quelques kilomètres plus loin ? Cette approche me paraît bien compliquée pour utilisateur, et de la même manière inefficace.

Enfin, je pense qu'il est important de rappeler que compte tenu de l'urgence de la situation, nous devons chercher des solutions pragmatiques et réalistes (tout en respectant les règles qui s'imposent dans le cadre légal). Evidemment nous sommes conscients que tout peut être amélioré mais nos ressources sont limitées (nous sommes tous des bénévoles) et le temps joue contre nous. C'est pourquoi nous essayons de traiter les "issues" le plus efficacement possible, et je suis désolé que vous ayez l'impression que le débat ne soit pas possible. Nous avons tout de même pris le temps de répondre à chacun de vos points.

DavidLibeau commented 3 years ago
  1. Non, cela augmentera le nombre et la qualité. Les personnes qui seront contactées seront celles qui pourront vraiment se déplacer à l'endroit et non celles dont CovidListe estime qu'elles peuvent se déplacer (suivant le rayon décidé par les centres). Je pars du postulat que les centres lorsqu'ils voient sur la simulation X personnes dans un rayon Y avec X > 2*Z (Z étant le nombre de doses), alors ceux-ci n’augmentent pas le le rayon Y. Pourtant, on est en droit de leur reprocher cela, notamment en zone faiblement peuplées où les centres sont situés dans les villes, donc loin mais pourtant facilement et rapidement accessible en voiture, et parfois juste à côté du lieu de travail et non de l'adresse enregistrée qui serait le domicile.
  2. J'ai déjà répondu à l'argument de la première phrase. Les questions suivantes : c'est simple : c'est au volontaire de juger, il y a plein de cas de figure différents. J'estime que CovidListe ne devrait pas choisir à la place des volontaires. J'ai aussi fournit un exemple parlant avec le stade de France, et les villes de Senlis et Gif.

Si vous estimez que cette issue nécessite un débat, je serais d'avis de la réouvrir. Cependant, on m'a confirmé que le débat avait déjà eu lieu et que la décision avait été déjà tranchée.

DavidLibeau commented 3 years ago

Je peux donner plus d'exemples pour le 1. mais uniquement si l'idée vous intéresse un minimum.

Florto commented 3 years ago

Je me permets de rouvrir. J’ai l’impression qu’il n’y a pas eu d’argument nouveau réellement, mais effectivement il est absurde qu’une issue qui vit soit fermée.

David, à quelle problématique tente de répondre le 1 de vos deux points ?

Pouvez-vous répondre au risque qu’un centre ne trouve personne car personne n’est inscrit sûr lui ? La solution actuellement implémentée va trouver des gens, et probablement sur la masse trouver des gens motivés à faire un peu plus de transport.

DavidLibeau commented 3 years ago

Voici quelques exemple de cas où CovidListe actuellement implémenté va être nuisible.

Pour les volontaires :

  1. Le cas de la personne à mobilité réduite qui ne veut s’abonner qu’au centre à côté de chez elle. Le système actuel va la notifier pour beaucoup de centres alors qu'elle ne le veut pas. Cela risque à la longue de la pousser à se désinscrire.
  2. Le cas de la personne à forte mobilité régulière (travail-maison). Le système actuel ne va pas pouvoir la notifier pour l'une des deux localisations.
  3. Le cas de la personne ne pouvant se déplacer que par certains moyens de transport. Uniquement les transport en communs et sur certaines lignes, ou à l'inverse uniquement en voiture (ce qui est pratique pour des centre du type stade de France mais pas du tout pour ceux dans Paris intramuros).
  4. Le cas de la personne ne souhaitant pas utiliser certains types de centre. Par exemple, les vaccinodromes (agoraphobie, par exemple).

Cela répond aussi à la remarque générale sur la discrimination de l'algorithme de sélection. J'estime qu'actuellement CovidListe empêche certaines personnes d'obtenir l'information sur la disponibilité de doses à cause du facteur distance.

D'une façon générale, en terme d'accessibilité, un des points souvent négliger lors de la conception d'un produit, et qui commence a être pas mal référencé dans la littérature scientifique, c'est la personnalisation. Un·e utilisateur·rice a toujours des préférences qui ne seront pas les même que son voisin. En faisant des hypothèses, même référencées, celles-ci réduient toujours l'accessibilité à un certain point.

Pour les centres :

  1. Ils vont potentiellement faire des campagnes sur de faibles rayons qui va contacter beaucoup de monde et, comme vous l'avez dit, ensuite c'est uniquement une histoire de probabilité sur la réponse et sur la venue des personnes.
  2. Un système par abonnement sera aussi beaucoup plus simple pour les centres : pas besoin de s'occuper du rayon, ils auront presque qu'à indiquer le nombre de doses.

Il faudra aussi préciser cette histoire de code postaux demandé par les centres. Ça m'a tout l'air d'être une demande client qu'il a estimé répondre à ses besoins sans les exprimer (mais je peux me tromper).

Pour CovidListe :

Avec un système par abonnement, cela va considérablement augmenter la qualité des notifications envoyées (comme je l'ai dit, avec l'information de préférence et non l'hypothèse de l'algorithme de sélection). Je pense que c'est dans l'intérêt du projet de pouvoir envoyer des notifications qu'aux personnes vraiment intéressé en premier et oui, si on n'a pas assez faire la promotion du centre aux personnes abonnés aux centres proches.

Cela va réduire l'insatisfaction client qui aura été notifié pour un centre qui est peut-être pas si loin mais qui n'est pas pratique en terme de transport (c.f. cas ci-dessus).

Et pour finir, cela correspond à une conception type "biomimétiste". C'était d'ailleurs la remarque qu'il m'avait été fait d'un journaliste : celui-ci croyait que CovidListe imitait la réalité en créant des listes d'attente virtuelle. Je pense qu'une conception comme celle-ci correspond bien à une conception "pragmatique", comme vous dites. Sans système "intelligent", je pense qu'on va réduire l'incompréhension et simplifier le système.

DavidLibeau commented 3 years ago

Il est communiqué sur la page d'accueil "45 104 personnes ont déjà été contactées par Covidliste pour une dose de vaccin disponible. 2 698 d’entre eux ont confirmé leur rendez-vous" (chiffres du 22/04).

Est-ce que cela signifie que seulement 11,96% des doses sont sauvées ?

2698/(45104/2) = 0,1196 en prenant 2 comme overbooking_factor même si c'est même 3 pour Astrazeneca.

Si mon calcul est bon, je pense qu'il faut augmenter la priorité de cette issue ou trouver d'urgence d'autres solutions pour augmenter la qualité de la prise de contact.

mininao commented 3 years ago

Est-ce que cela signifie que seulement 11,96% des doses sont sauvées ?

Non, le nombre de personnes contactées n'est pas le nombre de doses proposées. Pour une dose proposée, on contacte plusieurs personnes jusqu'à ce qu'une d'entre elles accepte

DavidLibeau commented 3 years ago

Merci pour votre réponse rapide. Mais du coup, il y a besoin de contacter en moyenne 16 personnes pour au final avoir un rendez-vous, c'est ça ? Si oui, ça montre aussi que la qualité de la prise de contact est pas très bonne, non ?

mininao commented 3 years ago

Yes c'est ça !

On est en train de réfléchir à comment améliorer le matching, mais je pense qu'un système d'abonnements n'est pas faisable, c'est trop demander aux volontaires, surtout vu qu'on a 100+ nouveaux centres par jour.

DavidLibeau commented 3 years ago

Comme je l'ai déjà dit, l'utilisateur·rice pourra être en abonnement automatique, ce qui reviendra au système actuel, ou pourra personnaliser ses abonnements selon ses besoins et éviter d'être contacté pour rien.