Formule de calcul

Revenu de référence, basé sur la situation familiale, pris en compte dans le calcul des AL.

Valeur du dispositif pour le cas type :

Revenu de référence, basé sur la situation familiale, pris en compte dans le calcul des AL.

Famille n°1

    Ce dispositif est peut-être obsolète !
    La dernière date de relecture du dispositif est samedi 1 janvier 2022.

    Formule de calcul OpenFisca à compter du 2022-01-01 :

    def formula_2022_01_01(famille, period, parameters): al_r0 = parameters(period).prestations_sociales.aides_logement.allocations_logement.locatif.formule.pp_particip_perso.r0_abattement couple = famille('al_couple', period) al_nb_pac = famille('al_nb_personnes_a_charge', period) residence_outre_mer = famille.demandeur.menage('residence_aides_logement_outre_mer', period) nb_pac_supp = max_(al_nb_pac - 6, 0) if period.start.date < date(2023, 1, 1): nb_pac_supp = where(residence_outre_mer, 0, nb_pac_supp) R0_cas_general = ( al_r0.cas_general.taux_seul * not_(couple) * (al_nb_pac == 0) + al_r0.cas_general.taux_couple * couple * (al_nb_pac == 0) + al_r0.cas_general.taux1pac * (al_nb_pac == 1) + al_r0.cas_general.taux2pac * (al_nb_pac == 2) + al_r0.cas_general.taux3pac * (al_nb_pac == 3) + al_r0.cas_general.taux4pac * (al_nb_pac == 4) + al_r0.cas_general.taux5pac * (al_nb_pac == 5) + al_r0.cas_general.taux6pac * (al_nb_pac >= 6) + al_r0.cas_general.taux_pac_supp * nb_pac_supp ) R0_hors_saint_pierre_et_miquelon = where( residence_outre_mer * (al_nb_pac == 1), al_r0.outre_mer.taux1pac, R0_cas_general, ) if period.start.date < date(2022, 7, 1): return R0_hors_saint_pierre_et_miquelon residence_saint_pierre_et_miquelon = famille.demandeur.menage('residence_saint_pierre_et_miquelon', period) R0_saint_pierre_et_miquelon = ( al_r0.saint_pierre_et_miquelon.taux_seul * not_(couple) * (al_nb_pac == 0) + al_r0.saint_pierre_et_miquelon.taux_couple * couple * (al_nb_pac == 0) + al_r0.saint_pierre_et_miquelon.taux1pac * (al_nb_pac == 1) + al_r0.saint_pierre_et_miquelon.taux2pac * (al_nb_pac == 2) + al_r0.saint_pierre_et_miquelon.taux3pac * (al_nb_pac == 3) + al_r0.saint_pierre_et_miquelon.taux4pac * (al_nb_pac == 4) + al_r0.saint_pierre_et_miquelon.taux5pac * (al_nb_pac == 5) + al_r0.saint_pierre_et_miquelon.taux6pac * (al_nb_pac >= 6) + al_r0.saint_pierre_et_miquelon.taux_pac_supp * nb_pac_supp ) return where(residence_saint_pierre_et_miquelon, R0_saint_pierre_et_miquelon, R0_hors_saint_pierre_et_miquelon)

    Formule OpenFisca sur Github

    Variables et paramètres inscrits dans la formule :

    Paramètres :

    Variables utilisées par le cas type :

    Formule de calcul OpenFisca à compter du 2020-01-01 :

    def formula_2020_01_01(famille, period, parameters): al_r0 = parameters(period).prestations_sociales.aides_logement.allocations_logement.locatif.formule.pp_particip_perso.r0_abattement couple = famille('al_couple', period) al_nb_pac = famille('al_nb_personnes_a_charge', period) residence_mayotte = famille.demandeur.menage('residence_mayotte', period) residence_outre_mer = famille.demandeur.menage('residence_aides_logement_outre_mer', period) nb_pac_supp = max_(al_nb_pac - 6, 0) nb_pac_supp = where(residence_outre_mer, 0, nb_pac_supp) R0_cas_general = ( al_r0.cas_general.taux_seul * not_(couple) * (al_nb_pac == 0) + al_r0.cas_general.taux_couple * couple * (al_nb_pac == 0) + al_r0.cas_general.taux1pac * (al_nb_pac == 1) + al_r0.cas_general.taux2pac * (al_nb_pac == 2) + al_r0.cas_general.taux3pac * (al_nb_pac == 3) + al_r0.cas_general.taux4pac * (al_nb_pac == 4) + al_r0.cas_general.taux5pac * (al_nb_pac == 5) + al_r0.cas_general.taux6pac * (al_nb_pac >= 6) + al_r0.cas_general.taux_pac_supp * nb_pac_supp ) R0_mayotte = ( al_r0.mayotte.taux_seul * not_(couple) * (al_nb_pac == 0) + al_r0.mayotte.taux_couple * couple * (al_nb_pac == 0) + al_r0.mayotte.taux1pac * (al_nb_pac == 1) + al_r0.mayotte.taux2pac * (al_nb_pac == 2) + al_r0.mayotte.taux3pac * (al_nb_pac == 3) + al_r0.mayotte.taux4pac * (al_nb_pac == 4) + al_r0.mayotte.taux5pac * (al_nb_pac == 5) + al_r0.mayotte.taux6pac * (al_nb_pac >= 6) ) return select( (residence_mayotte, residence_outre_mer * (al_nb_pac == 1)), (R0_mayotte, al_r0.outre_mer.taux1pac), default=R0_cas_general, )

    Formule OpenFisca sur Github

    Variables et paramètres inscrits dans la formule :

    Paramètres :

    Variables utilisées par le cas type :

    Formule de calcul OpenFisca à compter du 2015-01-01 :

    def formula_2015_01_01(famille, period, parameters): al_r0 = parameters(period).prestations_sociales.aides_logement.allocations_logement.locatif.formule.pp_particip_perso.r0_abattement couple = famille('al_couple', period) al_nb_pac = famille('al_nb_personnes_a_charge', period) residence_outre_mer = famille.demandeur.menage('residence_aides_logement_outre_mer', period) nb_pac_supp = max_(al_nb_pac - 6, 0) nb_pac_supp = where(residence_outre_mer, 0, nb_pac_supp) return ( al_r0.cas_general.taux_seul * not_(couple) * (al_nb_pac == 0) + al_r0.cas_general.taux_couple * couple * (al_nb_pac == 0) + al_r0.cas_general.taux1pac * (al_nb_pac == 1) + al_r0.cas_general.taux2pac * (al_nb_pac == 2) + al_r0.cas_general.taux3pac * (al_nb_pac == 3) + al_r0.cas_general.taux4pac * (al_nb_pac == 4) + al_r0.cas_general.taux5pac * (al_nb_pac == 5) + al_r0.cas_general.taux6pac * (al_nb_pac >= 6) # la dernière valeur est un montant additionnel à rajouter pour chaque pac au-delà de 6. + al_r0.cas_general.taux_pac_supp * nb_pac_supp )

    Formule OpenFisca sur Github

    Variables et paramètres inscrits dans la formule :

    Paramètres :

    Variables utilisées par le cas type :

    Formule de calcul OpenFisca à compter du 2006-01-01 :

    def formula_2006(famille, period, parameters): al_r0 = parameters(period).prestations_sociales.aides_logement.allocations_logement.locatif.formule.pp_particip_perso.r0_abattement.avant_2015 pfam_n_2 = parameters(period.start.offset(-2, 'year')).prestations_sociales.prestations_familiales.bmaf minim_n_2 = parameters(period.start.offset(-2, 'year')).prestations_sociales.solidarite_insertion.minima_sociaux couple = famille('al_couple', period) al_nb_pac = famille('al_nb_personnes_a_charge', period) residence_dom = famille.demandeur.menage('residence_dom', period) n_2 = period.start.offset(-2, 'year') if n_2.date >= date(2009, 6, 1): montant_de_base = minim_n_2.rsa.rsa_m.montant_de_base_du_rsa else: montant_de_base = minim_n_2.rmi.rmi_m.montant_de_base_du_rmi R1 = montant_de_base * ( al_r0.r1_rsa_socle_1.pers_isolee * not_(couple) * (al_nb_pac == 0) + al_r0.r1_rsa_socle_1.couple_0_enf * couple * (al_nb_pac == 0) + al_r0.r1_rsa_socle_1.avec_1_enf * (al_nb_pac == 1) + al_r0.r1_rsa_socle_1.avec_2_enf * (al_nb_pac >= 2) + al_r0.r1_rsa_socle_1.maj_pac_supp * (al_nb_pac > 2) * (al_nb_pac - 2) ) R2 = pfam_n_2.bmaf * ( al_r0.r2_en_bmaf_1.taux3_dom * residence_dom * (al_nb_pac == 1) + al_r0.r2_en_bmaf_1.taux_2_enf * (al_nb_pac >= 2) + al_r0.r2_en_bmaf_1.maj_par_enf_supp * (al_nb_pac > 2) * (al_nb_pac - 2) ) abattement = parameters(period).impot_revenu.calcul_revenus_imposables.deductions.abatpro.taux R0 = round_(12 * (R1 - R2) * (1 - abattement)) return R0

    Formule OpenFisca sur Github

    Variables et paramètres inscrits dans la formule :

    Paramètres :

    Variables utilisées par le cas type :

    Formule initiale de calcul OpenFisca :

    def formula(famille, period, parameters): al_r0 = parameters(period).prestations_sociales.aides_logement.allocations_logement.locatif.formule.pp_particip_perso.r0_abattement.avant_2015 pfam_n_2 = parameters(period.start.offset(-2, 'year')).prestations_sociales.prestations_familiales.bmaf minim_n_2 = parameters(period.start.offset(-2, 'year')).prestations_sociales.solidarite_insertion.minima_sociaux couple = famille('al_couple', period) al_nb_pac = famille('al_nb_personnes_a_charge', period) residence_dom = famille.demandeur.menage('residence_dom', period) n_2 = period.start.offset(-2, 'year') if n_2.date >= date(2009, 6, 1): montant_de_base = minim_n_2.rsa.rsa_m.montant_de_base_du_rsa else: montant_de_base = minim_n_2.rmi.rmi_m.montant_de_base_du_rmi R1 = montant_de_base * ( al_r0.r1_rsa_socle_1.pers_isolee * not_(couple) * (al_nb_pac == 0) + al_r0.r1_rsa_socle_1.couple_0_enf * couple * (al_nb_pac == 0) + al_r0.r1_rsa_socle_1.avec_1_enf * (al_nb_pac == 1) + al_r0.r1_rsa_socle_1.avec_2_enf * (al_nb_pac >= 2) + al_r0.r1_rsa_socle_1.maj_pac_supp * (al_nb_pac > 2) * (al_nb_pac - 2) ) R2 = pfam_n_2.bmaf * ( al_r0.r2_en_bmaf_1.taux3_dom * residence_dom * (al_nb_pac == 1) + al_r0.r2_en_bmaf_1.taux_2_enf * (al_nb_pac >= 2) + al_r0.r2_en_bmaf_1.maj_par_enf_supp * (al_nb_pac > 2) * (al_nb_pac - 2) ) deductions = parameters(period).impot_revenu.calcul_revenus_imposables.deductions abattement_pension_salaire = deductions.abatpro.taux # dit de 10 % abattement_supplementaire = deductions.abat_supp.taux # dit de 20 % abattement = abattement_supplementaire + (1 - abattement_supplementaire) * abattement_pension_salaire R0 = round_(12 * (R1 - R2) * (1 - abattement)) return R0

    Formule OpenFisca sur Github

    Variables et paramètres inscrits dans la formule :

    Paramètres :

    Variables utilisées par le cas type :

    Variables et dispositifs influencés par la formule :

    La formule du dispositif "Revenu de référence, basé sur la situation familiale, pris en compte dans le calcul des AL." peut avoir une influence sur d'autres dispositifs et variables :

    Caractéristiques avancées :

    Période de définition : month
    Entité : famille
    Type de valeur : float