Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tests inversion revenus remplacement #209

Merged
merged 43 commits into from
Mar 1, 2024
Merged

Tests inversion revenus remplacement #209

merged 43 commits into from
Mar 1, 2024

Conversation

pzuldp
Copy link
Contributor

@pzuldp pzuldp commented Feb 16, 2023

New features

  • Introduce testing for income "inversion" (deduce gross from net)

Update features

  • Corrects the inversion functions + extends the inversion of unemployment benefit's taxation

@pzuldp pzuldp changed the title Tests inversion Tests inversion revenus remplacement Feb 17, 2023
@pzuldp pzuldp marked this pull request as ready for review February 17, 2023 18:24
@pzuldp
Copy link
Contributor Author

pzuldp commented Feb 17, 2023

@benjello @clallemand je vous soumets une première version de tests d'inversion dans OFF-data.

La série de tests dans le .yaml est le symétrique d'une série de tests mise à jour dans OFF ici : openfisca/openfisca-france#2030

L'idée est tester les mêmes valeurs dans un sens et dans l'autre pour vérifier la cohérence de la phase montante et de la phase descendante.

J'aurais voulu faire "l'aller-retour" dans un seul test mais je pense que ce premier essai est suffisamment utile pour être regardé.

Notez qu'au passage j'ai dû :

  • corriger ce qui était faux dans l'inversion
  • corriger ce qui était faux dans le calcul de la CSG côté OFF
  • augmenter l'inversion d'une partie sur l'abattement

Donc attention ⚠️ cette PR est jumelle de celle-ci : openfisca/openfisca-france#2030
et en a besoin pour fonctionner. Notamment, il faut pouvoir appeler le threshold 4 PSS, ce qui nécessite de passer le taux de la deuxième tranche de CSG (càd l'exonération au delà de 4 PSS) à 0 plutôt qu'à null (un taux à null fait qu'il est impossible d'atteindre le seuil correspondant).

@pzuldp
Copy link
Contributor Author

pzuldp commented Feb 19, 2023

@benjello @clallemand je vous soumets une première version de tests d'inversion dans OFF-data.

La série de tests dans le .yaml est le symétrique d'une série de tests mise à jour dans OFF ici : openfisca/openfisca-france#2030

L'idée est tester les mêmes valeurs dans un sens et dans l'autre pour vérifier la cohérence de la phase montante et de la phase descendante.

J'aurais voulu faire "l'aller-retour" dans un seul test mais je pense que ce premier essai est suffisamment utile pour être regardé.

Notez qu'au passage j'ai dû :

* corriger ce qui était faux dans l'inversion

* corriger ce qui était faux dans le calcul de la CSG côté OFF

* augmenter l'inversion d'une partie sur l'abattement

Donc attention warning cette PR est jumelle de celle-ci : openfisca/openfisca-france#2030 et en a besoin pour fonctionner. Notamment, il faut pouvoir appeler le threshold 4 PSS, ce qui nécessite de passer le taux de la deuxième tranche de CSG (càd l'exonération au delà de 4 PSS) à 0 plutôt qu'à null (un taux à null fait qu'il est impossible d'atteindre le seuil correspondant).

Au cas où ça vous aide, j'ai dû le poser proprement sur un bout de papier :
p1
p2

Copy link

@bfabre01 bfabre01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Merci @pzuldp ! A part un commentaire sur une ligne, tout me semble bon. Juste une question. Ce matin, tu as mentionné le fait qu'on faisait des tests de cohérence entre d'une part le calcul de l'imposable à partir du brut dans openfisca-france, et d'autre part l'inversion dans openfisca-france-data. De ce que je comprends du code ici, on entre en dur un ensemble de couples (chomage_imposable, chomage_brut_test), et on check que chomage_brut émanant de l'inversion colle bien avec chomage_brut_test, entré en dur (donc, test de l'inversion seulement, ce qui est déjà trè bien!). Ou bien y-a-t-il autre chose ? Je dis chomage, mais même chose pour retraite.

openfisca_france_data/common.py Show resolved Hide resolved
@pzuldp
Copy link
Contributor Author

pzuldp commented Feb 20, 2023

Merci @pzuldp ! A part un commentaire sur une ligne, tout me semble bon. Juste une question. Ce matin, tu as mentionné le fait qu'on faisait des tests de cohérence entre d'une part le calcul de l'imposable à partir du brut dans openfisca-france, et d'autre part l'inversion dans openfisca-france-data. De ce que je comprends du code ici, on entre en dur un ensemble de couples (chomage_imposable, chomage_brut_test), et on check que chomage_brut émanant de l'inversion colle bien avec chomage_brut_test, entré en dur (donc, test de l'inversion seulement, ce qui est déjà trè bien!). Ou bien y-a-t-il autre chose ? Je dis chomage, mais même chose pour retraite.

Comme mentionné ce matin et dans le message ci-dessus, j'aurais voulu effectuer cet aller-retour dans un seul fichier de test, mais (i) je n'ai pas encore réussi et (ii) il fallait de toute façon rajouter des tests côté OFF pour contrôler la formule de la CSG sur revenus de remplacement, ce que j'ai fait ici : openfisca/openfisca-france#2030
A l'heure actuelle, il faut donc bien lancer deux tests, un côté OFF, l'autre côté OFF-data. Cependant, les données de tests sont bien identiques d'un côté comme de l'autre.

Copy link
Contributor

@clallemand clallemand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ça me semble ok, merci !
Pour info @benoit-cty m'a parlé d'un problème pour mettre à jour la version d'openfisca-france dans openfisca-france-data à cause de ça si j'ai bien compris

@pzuldp
Copy link
Contributor Author

pzuldp commented Feb 21, 2023

ça me semble ok, merci ! Pour info @benoit-cty m'a parlé d'un problème pour mettre à jour la version d'openfisca-france dans openfisca-france-data à cause de ça si j'ai bien compris

Effectivement, j'ai remarqué ça, j'utilise une ancienne version d'OFF avec OFF-data (la version 113 si je me souviens bien). Je vais jeter un coup d'oeil à ce pb et proposer un fix.
En effet cette PR d'OFF-d ne "passe" que si OFF est à jour de ma PR "CSG" (celle que tu as reviewée), donc euh... j'ai un intérêt à ce que tout soit à jour.

@pzuldp
Copy link
Contributor Author

pzuldp commented Feb 21, 2023

@bfabre01 c'est corrigé normalement ? cf. 8090d51
pas besoin de faire la correction pour retraite puisque dans ce cas il n'y a pas d'abattement pour frais pro et donc pas de pb d'assiette.

@pzuldp pzuldp merged commit 2a341d3 into master Mar 1, 2024
11 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants