openfisca / openfisca-france

French tax and benefit system for OpenFisca
https://openfisca.org/fr
254 stars 96 forks source link

Remove date interval #2274

Closed benjello closed 5 months ago

benjello commented 5 months ago

Ces changements (effacez les lignes ne correspondant pas à votre cas) :

sandcha commented 5 months ago

Merci @benjello pour tout le nettoyage en cours ! Concernant ces dates supprimées ici, peux-tu préciser pourquoi elles sont inutiles ? Sont-elles redondantes avec ce qui est déjà dit dans notes / documentation par exemple ?

À première vue, c'est une information métier que je ne perdrais pas (même si l'on pourrait la ranger différemment).

Ceci parce qu'il me semble que c'est une information qui n'est pas simple à retrouver. Elle permet par exemple, quand on recherche un paramètre, de voir en un coup d'oeil si c'est bien celui à considérer pour la période étudiée ou s'il a été transformé en un autre paramètre lorsque la législation a évolué.
Et régulièrement, chercher cette information dans les séries de valeurs n'est pas suffisant parce qu'on a des trous dans la série.

Voici un exemple paramètre pour illustrer ça au hasard dans la PR : /parameters/impot_revenu/calcul_reductions_impots/emploi_salarie_domicile/increment_plafond.yaml On en retire (1992 - 2017) de la description alors que ni 1992, ni 2017 ne figurent ailleurs dans le fichier. 😿

sylvainipp commented 5 months ago

Merci @benjello pour tout le nettoyage en cours ! Concernant ces dates supprimées ici, peux-tu préciser pourquoi elles sont inutiles ? Sont-elles redondantes avec ce qui est déjà dit dans notes / documentation par exemple ?

À première vue, c'est une information métier que je ne perdrais pas (même si l'on pourrait la ranger différemment).

Ceci parce qu'il me semble que c'est une information qui n'est pas simple à retrouver. Elle permet par exemple, quand on recherche un paramètre, de voir en un coup d'oeil si c'est bien celui à considérer pour la période étudiée ou s'il a été transformé en un autre paramètre lorsque la législation a évolué. Et régulièrement, chercher cette information dans les séries de valeurs n'est pas suffisant parce qu'on a des trous dans la série.

Voici un exemple paramètre pour illustrer ça au hasard dans la PR : /parameters/impot_revenu/calcul_reductions_impots/emploi_salarie_domicile/increment_plafond.yaml On en retire (1992 - 2017) de la description alors que ni 1992, ni 2017 ne figurent ailleurs dans le fichier. 😿

Il me semble que dans ce cas il y a a minima une dernière valeur avec null qui devrait toujours être ajoutée pour donner l'information de fin, même dans le cas où on ne veut pas prendre le temps de chercher la valeur du début du dispositif. On pourrait peut-être mettre la date de début en documentation lorsqu'elle ne correspond pas à la première valeur (je veux bien m'en charger le cas échéant).

benjello commented 5 months ago

@sandcha : la décision a été prise de ne pas garder les intervalles de dates qui seront désormais extraits automatiquement des séries pour éviter la redondance et garder une source unique de vérité. Le point que tu soulèves concerne des valeurs null en début de série qu'il faudrait aussi nettoyer. Mais chaque chose en son temps.

benjello commented 5 months ago

Merci pour la revue !

benjello commented 5 months ago

Aargh @sylvainipp : j'ai peut-être mergé trop vite, car cette solution avait été actée et le null en première période reflète des pratiques trop diverses : date de début supposé du dispositif, présence d'une note utile en lien avec le dispositif (ou pas car les notes étaitent poolées pour tous les éléments du tableau à l'origine).

benjello commented 5 months ago

Rien ne t'empêche de chercher les null en début de série et d'essayer de voir d'où cela vient. Il faut juste trouver la bonne regexp pour identifier les

values:
  YYYY-MM-DD:
    value: null
sylvainipp commented 5 months ago

Je parlais plutôt des null de fin de série lorsqu'ils sont pertinents, qui me semblent mieux que rien. Pour le début, je pensais plutôt faire passer les dates dans la documentation, mais c'est intéressant uniquement si on pense que ces dates sont vraiment fiables. Les null du début me semblent en effet assez décorrélées des dates de début de dispositif autrefois indiquées, et potentiellement de moins bons indicateurs de début de dispositif. L'avantage de parser automatiquement est que cela permettra de donner au moins l'information exacte de la durée du dispositif dans OF-France, sinon dans la réalité (pour laquelle on est moins sûr de la validité des dates).

benjello commented 5 months ago

Les null de fin de série n'ont jamais été enlevés. Les intervalles que j'ai enlevés étaient souvent recalculés à partir des séries de valeurs (et donc souvent désynchronisés). Désormais, ce sera automatique. Et, oui, on doit mettre des null en cas de fin de dispositif, et je pense que c'est largement fait, sauf erreur de ma part. Mais si tu veux passer cela systématiquement en revue, n'hésite surtout pas (mais je ne pense pas que les intervalles retirés soient très informatifs, mais je me trompe peut-être).