-
Notifications
You must be signed in to change notification settings - Fork 97
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
Ajoute l'aide aux jeunes diplômés et anciens boursiers #1501
Conversation
@sandcha C'est vraiment top ces travaux ! Je vais regarder cette branche là car je voudrais l'utiliser comme pour l'ajout d'autres aides. |
3b3170f
to
fe24363
Compare
class bourse_criteres_sociaux(Variable): | ||
value_type = float | ||
entity = Individu | ||
reference = [ | ||
"Circulaire ESRS2013435C - Annexe 3 - Conditions de ressources et points de charge / 1 - Conditions de ressources", | ||
"https://www.education.gouv.fr/bo/20/Hebdo25/ESRS2013435C.htm" | ||
] | ||
label = "Échelon de la bourse sur critères sociaux de l'enseignement supérieur perçue (de 0 à 7)" | ||
definition_period = MONTH | ||
set_input = set_input_divide_by_period |
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.
Variable issue de la PR #1484 + ajout du set_input
mais des interrogations sur la meilleure façon de modéliser les périodes de réception de la bourse.
Ceci afin de répondre à contrainte d'éligibilité à l'aide disant Avoir bénéficié d'une bourse de l'enseignement supérieur attribuée sur critères sociaux au cours de la dernière année de préparation du diplôme
.
Et pour être cohérent avec la durée de versement qui est en général de 10 mois mais qui peut intervenir sur une autre durée (vacances d'été, ...). 🤔
part_bourse = where( | ||
bourse_2021 > 0, | ||
bourse_2021 / parameters_bourse.nombre_mensualites, | ||
bourse_2020 / parameters_bourse.nombre_mensualites | ||
) * parameters_bourse.aide_jeunes_diplomes_anciens_boursiers.taux_bourse |
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.
La page Pôle emploi dit :
QUAND / COMMENT L’AIDE SERA-T-ELLE VERSÉE ?
L’aide est versée directement par Pôle emploi, et ce durant 4 mois.
(...)
QUEL EST LE MONTANT DE L’AIDE?
L’aide financière varie en fonction du montant de votre ancienne bourse :
* 70% du montant net de la bourse perçue la dernière année ;
* S’ajoute une somme supplémentaire de 100 € si vous ne vivez pas chez l’un de vos parents et devez-vous loger (sur justificatif : facture d'énergie, bail à votre nom).
Mais n'indique pas si le montant calculé est bien un montant mensuel que la personne percevrait 4 fois ou un montant à diviser par 4. Le parti pris ici est de considérer que l'aide venant prolonger la bourse, la baisse ne serait que de 30% et que la majoration de 100€ pour le logement surviendrait tous les mois.
Autre descriptif de l'aide un pouillème moins ambigu.
Il me semble que ce serait à vérifier avec le métier @guillett.
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.
Je suis aligné avec l'interprétation donnée ici 🙂
condition_logement = not_( | ||
(statut_occupation_logement == TypesStatutOccupationLogement.loge_gratuitement) | ||
+ (statut_occupation_logement == TypesStatutOccupationLogement.non_renseigne) |
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.
Au regard de la page Pôle emploi, ce pourrait être "tout sauf loge_gratuitement" mais deux situations m'ont posé question : non_renseigne
et sans_abris
. Ici, on donne les 100€ aux ex boursiers sans abris.
values: | ||
2020-07-31: | ||
value: 10 | ||
aide_jeunes_diplomes_anciens_boursiers: |
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.
On aurait pu reprendre l'arborescence de la PR #1484 mais vu la longueur du nom de l'aide, il m'a semblé qu'elle n'aiderait pas au respect de la contrainte de longueur de chemin de fichiers sous windows (164 caractères en supposant un répertoire ou deux depuis le disque si je me souviens bien) d'où l'inclusion des paramètres dans ce yaml.
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.
Je me suis permis de faire #1510 pour faire des propositions concrètes qui passent les tests.
default_value = date.max | ||
entity = Individu | ||
label = "Date d'obtention du diplôme de plus haut niveau" | ||
definition_period = ETERNITY |
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.
Pourquoi ne pas mettre MONTH
et permettre l'historisation des mois d'obtention des différents diplômes obtenus ?
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.
Pas sûr de voir la valeur ajoutée, alors que ça a un coût computationnel.
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.
Finalement, modifié en MONTH
pour les réutilisations de cette variable (calculs en dehors de cette PR).
class formation(Variable): | ||
value_type = bool | ||
entity = Individu | ||
label = "Inscrit à une formation ou en cours de formation professionnelle" |
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.
Les références indiquées et retrouvées (notamment le décret n° 2020-1789 du 30 décembre 2020 instituant une aide financière à titre exceptionnel à destination des jeunes diplômés en recherche d'emploi anciennement boursiers de l'enseignement supérieur ne font pas référence à la formation professionnelle.
class formation(Variable): | ||
value_type = bool |
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.
Cette variable là pourrait-être niveau_diplome_en_preparation
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.
Merci @sandcha ! Pas évident de mener cette revue avec #1510 en parallèle, je ne suis pas certain de comment traiter ce cas.
Au-delà des commentaires spécifiques faits ligne à ligne, je ressens le besoin de clarifier un point par rapport à l'introduction de l'ARE et l'ATI : je suis extrêmement surpris que l'ARE ne soit pas encore modélisée. Peut-être faut-il simplement raffiner chomage_brut
, mais dans tous les cas il me semble impératif d'expliciter la relation de ces nouvelles variables avec toute la série de variables chomage_*
déjà existantes ! 🙂
@@ -13,3 +14,100 @@ class boursier(Variable): | |||
entity = Individu | |||
label = "Élève ou étudiant boursier" | |||
definition_period = MONTH | |||
|
|||
|
|||
class bourse_criteres_sociaux(Variable): |
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.
En quoi cette variable diffère-t-elle de bourse_enseignement_sup
? 🤔
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.
Ou de echelon_bourse
.
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.
La confusion avec l'échelon me semble venir d'une erreur de libellé (modification proposée ici). Nous calculerons bien un montant pour bourse_criteres_sociaux
.
Et, afin de distinguer bourse_criteres_sociaux
de bourse_enseignement_sup
, je mets ici à jour le libellé de bourse_enseignement_sup
en Toute bourse de l'enseignement supérieur
puisqu'il existe des bourses du supérieur qui ne sont pas fournies par l'Etat (autres que la bourse sur critères sociaux) comme les bourses des fondations et territoires (exemple de bourse de fondation).
"Circulaire ESRS2013435C - Annexe 3 - Conditions de ressources et points de charge / 1 - Conditions de ressources", | ||
"https://www.education.gouv.fr/bo/20/Hebdo25/ESRS2013435C.htm" | ||
] | ||
label = "Échelon de la bourse sur critères sociaux de l'enseignement supérieur perçue (de 0 à 7)" |
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.
Si c'est un échelon de 0 à 7, pourquoi le type est-il float
? Je m'attendrais à une valeur d'Enum, ou à ce que le montant de la bourse soit donné en euros 🙂
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.
De même, c'est une erreur de libellé (modification proposée au même endroit). cc @guillett 🙂
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.
Correction bien intégrée à master. Ceci devrait donc disparaître au rebase de cette PR après validation.
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.
Je préfèrerais que le rebase soit effectué avant d'approuver, car en l'état il ne me semble pas acceptable d'approuver… On a un problème de poule et d'œuf 😉
set_input = set_input_divide_by_period | ||
|
||
|
||
class aide_jeunes_diplomes_anciens_boursiers_eligibilite(Variable): |
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.
D'après la référence donnée, cette aide est très spécifique à la crise sanitaire du Covid-19, ce qui explique ses conditions d'années très contraintes. J'aurais donc tendance à la déclarer dans le fichier covid19.py
, ou mieux encore à en faire un dossier dans lequel créer un fichier contenant cette aide aux jeunes diplômés anciens boursiers 🙂
date_diplome = individu("date_diplome", period) | ||
annee_validation_diplome = date_diplome.astype('datetime64[Y]') |
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.
Attention à la cohérence entre les formes de guillemets 😉
part_bourse = where( | ||
bourse_2021 > 0, | ||
bourse_2021 / parameters_bourse.nombre_mensualites, | ||
bourse_2020 / parameters_bourse.nombre_mensualites | ||
) * parameters_bourse.aide_jeunes_diplomes_anciens_boursiers.taux_bourse |
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.
Je suis aligné avec l'interprétation donnée ici 🙂
@@ -31,3 +31,23 @@ class indemnites_chomage_partiel(Variable): | |||
label = "Indemnités de chômage partiel" | |||
definition_period = MONTH | |||
set_input = set_input_divide_by_period | |||
|
|||
|
|||
class are(Variable): |
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.
En quoi cette variable diffère-t-elle de chomage_brut
? 🤔
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.
L'ARE (l'allocation d'Aide au Retour à l'Emploi) semble être une composante du chomage_brut
.
Voici quelques éléments ayant mené à cette conclusion :
-
Montant brut ?
Le montant de l'ARE est bien un montant brut si on se réfère à sa valeur journalière indiquée comme montant brut par service-public qu'il s'agisse du cas d'un salarié du privé ou d'un agent public. -
ARE composante du chomage_brut ?
On en a déjà parlé sur openfisca-france : c'est du moins ce qui est envisagé par ce commentaire de @benjello sur la PR qui supprimait la variable inutiliséeallocation_aide_retour_emploi
👻 .
➡️ Reste à identifier la formule qui rattache l'are
au chomage_brut
:
Je propose dans un premier temps de les définir comme égales (formula de chomage_brut
qui renvoie la valeur d'are
). Est-ce que cela vous semblerait acceptable @MattiSG @benjello ?
L'autre option me semblerait d'y joindre l'ASS. 🤔
Pourquoi ? :
-
Si l'ARE n'est qu'une composante du chômage brut, quelles sont les autres composantes ?
L'ARE est la principale allocation chômage au regard de cette page de pôle emploi.
Néanmoins, si l'on définit lechomage_brut
comme la somme des revenus de remplacement pour les demandeurs d'emploi, alors selon les dispositions générales décrites par l'article L5421-2 du code du travail il en existe de plusieurs sortes que l'on retrouve dans les chapitres dédiés aux indemnisations : allocation d'assurance (ARE seule ?), allocations de solidarité (ASS, allocation équivalent retraite) et allocations des régimes particuliers. -
Salarié du privé et agent public :
Si l'on sait que l'ARE concerne les deux catégories de demandeurs d'emploi, il faudrait une analyse plus fine pour déterminer ce qu'il en est des autres types d'allocations / revenus de remplacement. Et c'est une source de complexité pour la modélisation de la formule duchomage_brut
qui me semble dépasser le périmètre de cette PR.
Mémos divers :
- L'allocation spécifique de solidarité (ASS) qui prend le relais de l'ARE est aussi un minima social.
- Quid de l'AREF = ARE formation ? Est-ce une allocation d'assurance au même titre que l'ARE ?
- Les allocations ATA et AER (allocation équivalent retraite) ont elles été supprimées (ici ce qui est arrivé à l'ATA, ici pour l'AER).
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.
De ma compréhension de la description de l'aide, l'ARE, l'ASS et l'ATI ne semblent être données qu'à titre d'exemple de revenu de remplacement.
Ne pas percevoir un revenu de remplacement au moment de la demande, qu’il s’agisse de l’allocation d’aide au retour à l’emploi (ARE) de l’allocation de solidarité spécifique (ASS) ou de l’allocation des travailleurs indépendants (ATI) ;
J'ai donc l'impression qu'il n'est pas nécessaire créer une nouvelle variable are
mais de reprendre les variables existantes notamment chomage_brut
. En effet, on ne s'intéresse qu'au fait que ces variables soient nulles, si elles sont décomptées deux fois ce n'est pas trop grave.
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.
(message écrit et envoyé hier à 7h41 mais apparemment pas parti… 🙁 )
Merci infiniment @sandcha pour cette analyse détaillée !
Je suis aligné avec l’idée que chomage_brut
renvoie allocation_retour_emploi
. Je me suis posé la question dans #1513 de si chomage_brut
(ou chomage_net
…) ne devrait pas également comprendre indemnites_chomage_partiel
.
Je suis également aligné avec l’idée que l’on définisse « chomage_brut
comme la somme des revenus de remplacement pour les demandeurs d’emploi » 👍
Pour compléter l’analyse, je comprends que l’ASS est un minima social spécifique distribué par Pôle Emploi, et non une forme de compensation assurantielle. Je ne l’incluerais donc pas dans chomage_brut
.
De mon point de vue, il reste donc à éclaircir (mais pas pour cette PR !) :
- L’AREF devrait-elle être incluse dans
chomage_brut
? C’est-à-dire, constitue-t-elle un revenu de remplacement pour les demandeurs d’emploi ? - Faudrait-il inclure ATA et AER dans une formule historique de
chomage_brut
?
Et à implémenter :
- Création de
allocation_retour_emploi
comme variable d’entrée pure. - `chomage_brut
return where( | ||
bourse_2021 > 0, | ||
bourse_2021 / parameters_bourse.nombre_mensualites, | ||
bourse_2020 / parameters_bourse.nombre_mensualites | ||
) |
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.
Comme évoqué en réunion, une valeur médiane semblerait plus proche de la réalité ici mais cela n'a pas été fait parce que sa modélisation m'a aussi semblée complexe/laborieuse.
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.
Je me sens bloqué dans l'approbation par un problème qui est annoncé comme a priori résolu par un rebase. Merci de me re-demander comme reviewer lorsque le rebase aura été fait 🙂
possible_values = TypesNiveauDiplome # defined in model/base.py | ||
entity = Individu | ||
label = "Plus haut niveau de diplôme obtenu" | ||
definition_period = MONTH |
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.
definition_period = MONTH | |
definition_period = YEAR |
default_value = date.max | ||
entity = Individu | ||
label = "Date d'obtention du diplôme de plus haut niveau" | ||
definition_period = MONTH |
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.
definition_period = MONTH | |
definition_period = YEAR |
possible_values = TypesNiveauDiplome # defined in model/base.py | ||
entity = Individu | ||
label = "Niveau du diplôme en cours de préparation" | ||
definition_period = MONTH |
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.
definition_period = MONTH | |
definition_period = YEAR |
"Circulaire ESRS2013435C - Annexe 3 - Conditions de ressources et points de charge / 1 - Conditions de ressources", | ||
"https://www.education.gouv.fr/bo/20/Hebdo25/ESRS2013435C.htm" | ||
] | ||
label = "Échelon de la bourse sur critères sociaux de l'enseignement supérieur perçue (de 0 à 7)" |
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.
Je préfèrerais que le rebase soit effectué avant d'approuver, car en l'état il ne me semble pas acceptable d'approuver… On a un problème de poule et d'œuf 😉
definition_period = MONTH | ||
set_input = set_input_divide_by_period | ||
calculate_output = calculate_output_add | ||
|
||
def formula(individu, period): | ||
return individu("allocation_retour_emploi", period) |
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.
Est-ce que indemnites_chomage_partiel
ne devrait pas être inclus ici aussi ? 🙂
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.
Bien vu ! Ajouté.
Ceci avec l'idée que les indemnités de chômage partiel sont des revenus de remplacement sur lesquels, comme pour l'ARE, il n'y a pas de cotisation mais bien un prélèvement de CSG et CRDS (src : urssaf.fr).
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.
Cela s'avère plus compliqué qu'imaginé. Le test suivant échoue suite à cette modification :
/.../openfisca-france/tests/formulas/cs/cmu_fiab.yaml:
Test 'CMU-C: N°3 accord CMU-C':
cmu_base_ressources@2018-05: [19948.] differs from 19323.0 with an absolute margin [625.] > 0.05
Par conséquent, comme cela est à la frontière du périmètre de l'aide traitée ici, je propose de reverter la modification et d'analyser la question dans une autre PR. 🤔
openfisca_france/parameters/bourses_superieur/criteres_sociaux.yaml
Outdated
Show resolved
Hide resolved
Le problème bloquant est annoncé comme a priori résolu par un futur rebase
2557e12
to
5332eec
Compare
…toire covid Et ajoute la référence de l'aide famille
Aussi par considération du temps de calcul
96eac35
to
fd4ccfb
Compare
Co-authored-by: Matti Schneider <matti@mes-aides.org>
…t l'élémentaire Co-authored-by: Matti Schneider <matti@mes-aides.org>
Co-authored-by: Matti Schneider <matti@mes-aides.org>
Co-authored-by: Matti Schneider <matti@mes-aides.org>
…nce en aide_jeunes_diplomes_anciens_boursiers_base_ressources Prise en compte partielle des retours du rendez-vous sur les méthodes de modélisation
2b2d3a4
to
67a69ad
Compare
model/prestations/bourses_superieur.py
parameters/bourses_superieur/criteres_sociaux.yaml
Ces changements (effacez les lignes ne correspondant pas à votre cas) :
Quelques conseils à prendre en compte :
setup.py
.CHANGELOG.md
.