-
Notifications
You must be signed in to change notification settings - Fork 101
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
Corrige le calcul de l'ASF #1043
Conversation
|
||
return asf_elig * montant | ||
return asf_elig * (montant - pensions_alimentaires_percues) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Et si la pension alimentaire est supérieure au montant de l'ASF ? Plusieurs des KO remontés par l'intégration continue semblent être liés à la non prise en compte de ce cas, y compris un effet de bord sur le RSA.
J'utiliserais numpy.maximum pour bloquer à 0 le montant différentiel, ou bien on peut comparer ASF et pensions dans la variable d'éligibilité (moins efficace en termes de performances mais peut-être plus intéressant en termes d'explication de la non-éligibilité).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Un max ira très bien. C'est généralement ce que l'on utilise pour les prestations différentielles.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il faut utiliser la fonction max_
(qui pointe vers numpy.maximum) de la façon suivante
return asf_elig * max_(montant - pensions_alimentaires_percues, 0)
|
||
return asf_elig * montant | ||
return asf_elig * (montant - pensions_alimentaires_percues) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il faut utiliser la fonction max_
(qui pointe vers numpy.maximum) de la façon suivante
return asf_elig * max_(montant - pensions_alimentaires_percues, 0)
bfd7bea
to
615e075
Compare
Le message dans le YAML du test qui plante est confusant. On dirait qu'il a été forcé à zéro. |
Je suis complètement paumé, je ne comprends pas comment est calculé le chiffre de |
C'est la formule qui ne marche pas, non ? Dans ce cas de figure les pensions alimentaires ( |
Ha, non. Il y a deux enfants, donc ça fait |
Peut-être que le test est faux! |
Je ne suis pas du tout sûr, mais ces tests |
Oui c'est ce que je comprends aussi, et dans ce cas présent le descriptif du test ne me semble pas tout à fait confiant, ni complètement clair (même si c'est mieux que beaucoup d'autre tests avec zéro commentaire). Ton raisonnement me paraît correct alors que je ne lis pas dans le test une bonne raison pour laquelle l'ASF devrait être à 0. (Et je ne sais pas si "L'ASF n'est pas perçue" décrit le comportement attendu, ou le comportement observé incorrect; d'autres tests qui datent de la même PR #358 déclarent par exemple "L'ASPA n'est pas perçue" en attendant une valeur non nulle pour l'ASPA.) @guillett est en congé mais @monbocal a peut-être des billes. |
Vu avec @monbocal ce matin |
openfisca_france/parameters/prestations/prestations_familiales/af/bmaf.yaml
.Ces changements (effacez les lignes ne correspondant pas à votre cas) :