-
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
Prise en compte de la RLS dans le calcul des prestations sociales #1217
Conversation
Débat relié à cette PR à trancher : Quelle est la date de mise en place de la RLS ?
infos contradictoires sur Internet : Aujourd'hui dans OpenFisca la date implicite choisie semble être le 1er janvier (cf. formule |
@claireleroy |
@Morendil Je n'ai rien trouvé dessus non ... |
@claireleroy Je t'avoue que ce n'est pas encore totalement clair pour moi, j'essaie de reproduire l'effet que tu évoques dans un test (et ce serait peut-être pertinent de l'ajouter à la PR pour expliciter l'intention): - name: Revenu disponible avec APL avant RLS
absolute_error_margin: 0.1
period: 2017-12
input_variables:
zone_apl: zone_1
aide_logement_montant_brut: 100
statut_occupation_logement: locataire_hlm
aide_logement_base_ressources: 900
minima_sociaux:
2017: 5000
output_variables:
apl:
2017-12: 99.5
revenu_disponible:
2017: 5099.5
prestations_sociales:
2017: 5099.5
aides_logement:
2017: 99.5
- name: Revenu disponible avec APL après RLS
absolute_error_margin: 0.1
period: 2018-01
input_variables:
zone_apl: zone_1
aide_logement_montant_brut: 100
statut_occupation_logement: locataire_hlm
aide_logement_base_ressources: 900
minima_sociaux:
2018: 5000
output_variables:
apl: 68.45
reduction_loyer_solidarite: 31.83
revenu_disponible:
2018: 5100.28
prestations_sociales:
2018: 5100.28
aides_logement:
2018: 68.45 Ce test échoue sur Par contre quand j'exécute le même test sur ta PR, il échoue (alors qu'il devrait passer) avec un revenu disponible de 5405,43€ - c'est peut-être purement lié avec les périodes de définition des différentes variables : le résultat obtenu s'explique si la RLS est bien à 31.83 pour chaque mois de l'année. Mais on ne devrait pas l'obtenir pour les mois où locataire_hlm n'est pas renseigné, je m'y perds un peu. En tout cas, si on fait ce check sur |
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.
- Ajouter un test plus explicite pour cadrer l'effet sur revenu_disponible
- Simplifier
aide_logement_montant_brut_crds
en supprimant la conditionlocataire_hlm
déjà vérifiée dansreduction_loyer_solidarite
@claireleroy Il faudrait tenir compte de #1223 aussi |
Oui ce sont bien mes intentions ! Par rapport au fait que le test ne passe pas, je ne vois pas trop là tout de suite. Je vais m'y pencher un peu. Par ailleurs je me demandais quelle était la pratique à adopter sur les tests : est-ce qu'il faut écrire un test par PR ? Si oui, j'ai l'impression que ça rentre en contradiction avec la critique du fait qu'il y'ait "trop" de tests sur France..
Tout à fait d'accord ! Je fais ça! |
Rien de si dogmatique :) Les tests fonctionnels sur France sont trop nombreux, trop lourds, pas assez pertinents… et en même temps une situation décrite sous la forme de test est une excellente base pour partager des éléments factuels sur le comportement d'OpenFisca. On peut décider ensuite de garder ce test ou non, suivant l'intérêt qu'il présente pour la non-régression. Ce qui nous manque sans doute et qui explique la prolifération des tests fonctionnels c'est une couche de tests unitaires qui nous permettrait, une fois qu'on a identifié une erreur d'un mécanisme sous-jacent, d'exprimer l'anomalie à ce niveau-là. Mais ici on est bien sur un cas de "test de formule", ce n'est pas un bug de Core ou d'un helper. |
|
||
montant = famille('reduction_loyer_solidarite_montant', period) | ||
return (ressources < plafond) * montant | ||
return (ressources < plafond) * montant * (statut_occupation_logement == TypesStatutOccupationLogement.locataire_hlm) |
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.
Plutôt utiliser la variable logement_conventionne
ici (conformément à #1223)
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.
@Morendil yes mais du coup il faut que je rebase non ?
tests/formulas/rls.yaml
Outdated
@@ -1,6 +1,7 @@ | |||
- name: Zone 2 isolé | |||
period: 2018-01 | |||
input_variables: | |||
statut_occupation_logement: locataire_hlm |
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.
Idem ici, logement_conventionne: true
@Morendil Par rapport aux changements demandés :
|
@claireleroy Je regarde aujourd'hui ou demain |
4b1c4df
to
ef55119
Compare
… au logement (redondant)
ef55119
to
3c6fa84
Compare
Suite à la mise en place de la réduction de loyer de solidarité (RLS), les familles qui bénéficient de cette réduction voient leur montant d'aide au logement diminuer de 98% de leur RLS.
prestations_sociales
.reduction_loyer_solidarite
En effet, la RLS est réservée aux familles locataires dans le parc social (éligibles aux APL). La formule de la variable
reduction_loyer_solidarite
est aujourd'hui calculée pour toutes les familles dont la base ressources AL est inférieure à un certain plafond, ce qui est plus large que la varie éligibilité. Cela ne posait pas de problèmes jusqu'ici, puisque la RLS n'était utilisée que dans le calcul de la baisse des aides au logement associée (et on prenait bien en compte le fait que cette baisse ne s'appliquait qu'aux locataires HLM, cf. formuleaide_logement_montant_brut_crds
) mais désormais il faut s'assurer qu'elle n'est calculée que pour les familles éligibles.model/mesures.py
model/prestations/reduction_loyer_solidarite.py
tests/formulas/rls.yaml
Ces changements :