Skip to content

Commit

Permalink
Merge pull request #239 from openfisca/update_agregats
Browse files Browse the repository at this point in the history
Update agregats
  • Loading branch information
benjello authored Sep 18, 2023
2 parents e63d54f + 275eb4c commit ea1d6f8
Show file tree
Hide file tree
Showing 13 changed files with 1,312 additions and 13 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

### 2.0.7 [#239](https://github.com/openfisca/openfisca-france-data/pull/239/files)
* New features
- Ajoute des nouveaux agrégats pour FranceAggregates

### 2.0.6 [#240](https://github.com/openfisca/openfisca-france-data/pull/240)
* Technical changes
- Rapatrie certaines réformes qui ont été supprimés dans openfisca france par la (PR 2177)[https://github.com/Supprime vieilles réformes non utilisées openfisca-france#2177] mais qui sont encore utilisées dans ce dépôt
Expand Down
45 changes: 43 additions & 2 deletions openfisca_france_data/aggregates.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
import numpy as np
import pandas as pd
import pkg_resources

import os
from datetime import datetime

from openfisca_survey_manager.aggregates import AbstractAggregates
from openfisca_france_data import AGGREGATES_DEFAULT_VARS # type: ignore
Expand Down Expand Up @@ -39,7 +40,7 @@ def __init__(self, survey_scenario = None, target_source = None):

def load_actual_data(self, year = None):
target_source = self.target_source
assert target_source in ["ines", "taxipp"], "les options possible pour source_cible sont ines ou taxipp"
assert target_source in ["ines", "taxipp", "france_entiere"], "les options possible pour source_cible sont ines, taxipp ou france_entiere"
assert year is not None

if target_source == "taxipp":
Expand Down Expand Up @@ -107,4 +108,44 @@ def load_actual_data(self, year = None):

result = result[["variable","actual_amount","actual_beneficiaries"]].set_index("variable")

elif target_source == "france_entiere":
ines_aggregates_file = Path(
pkg_resources.get_distribution("openfisca-france_data").location,
"openfisca_france_data",
"assets",
"aggregats",
"france_entiere",
f"france_entiere_{year}.json"
)

with open(ines_aggregates_file, 'r') as f:
data = json.load(f)

result = pd.DataFrame(data['data']).drop(['source'], axis = 1)
result['actual_beneficiaries'] = result. actual_beneficiaries / self.beneficiaries_unit
result['actual_amount'] = result. actual_amount / self.amount_unit

result = result[["variable","actual_amount","actual_beneficiaries"]].set_index("variable")

return result

def to_csv(self, path = None, absolute = True, amount = True, beneficiaries = True, default = 'actual',
relative = True, target = "reform"):
"""Saves the table to csv."""
assert path is not None

if os.path.isdir(path):
now = datetime.now()
file_path = os.path.join(path, 'Aggregates_%s_%s_%s.%s' % (self.target_source,self.year,now.strftime('%d-%m-%Y'), "csv"))
else:
file_path = path

df = self.get_data_frame(
absolute = absolute,
amount = amount,
beneficiaries = beneficiaries,
default = default,
relative = relative,
target = target,
)
df.to_csv(file_path, index = False, header = True)
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
{
"documentation":"",
"data":[
{
"variable":"salaire_imposable",
"actual_beneficiaries": 24918000,
"actual_amount": 743500000000,
"source": "Statistiques DGFIP, Impôt sur le revenu : répartition des revenus catégoriels déclarés entre imposés et non-imposés (https://www.impots.gouv.fr/statistiques-impots-des-particuliers)",
"note": "salaire et chomage"
},
{
"variable":"chomage_imposable",
"actual_beneficiaries": 24918000,
"actual_amount": 743500000000,
"source": "Statistiques DGFIP, Impôt sur le revenu : répartition des revenus catégoriels déclarés entre imposés et non-imposés (https://www.impots.gouv.fr/statistiques-impots-des-particuliers)",
"note": "salaire et chomage"
},
{
"variable":"retraite_imposable",
"actual_beneficiaries": 14768000,
"actual_amount": 327344000000,
"source": "Statistiques DGFIP, Impôt sur le revenu : répartition des revenus catégoriels déclarés entre imposés et non-imposés (https://www.impots.gouv.fr/statistiques-impots-des-particuliers)"
},
{
"variable":"rpns_imposables",
"actual_beneficiaries": 3189000,
"actual_amount": 77837000000,
"source": "Statistiques DGFIP, Impôt sur le revenu : répartition des revenus catégoriels déclarés entre imposés et non-imposés (https://www.impots.gouv.fr/statistiques-impots-des-particuliers)"
},
{
"variable":"revenu_categoriel_foncier",
"actual_beneficiaries": 5019000,
"actual_amount": 28242000000,
"source": "Statistiques DGFIP, Impôt sur le revenu : répartition des revenus catégoriels déclarés entre imposés et non-imposés (https://www.impots.gouv.fr/statistiques-impots-des-particuliers)"
},
{
"variable":"revenu_categoriel_capital",
"actual_beneficiaries": 15235000,
"actual_amount": 356330000000,
"source": "Statistiques DGFIP, Impôt sur le revenu : répartition des revenus catégoriels déclarés entre imposés et non-imposés (https://www.impots.gouv.fr/statistiques-impots-des-particuliers)"
},
{
"variable":"revenu_categoriel_plus_values",
"actual_beneficiaries": 1600000,
"actual_amount": 18812000000,
"source": "Statistiques DGFIP, Impôt sur le revenu : répartition des revenus catégoriels déclarés entre imposés et non-imposés (https://www.impots.gouv.fr/statistiques-impots-des-particuliers)"
},
{
"variable":"af",
"actual_beneficiaries": 5101000,
"actual_amount": 12719000000,
"source": "Dossier statistique des prestations familiales de la DSS, 2022 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/DSS/2022/Cahier_stat_Prestations_familiales_2022.pdf)"

},
{
"variable":"paje_prepare",
"actual_beneficiaries": 273000,
"actual_amount": 922000000,
"source": "Dossier statistique des prestations familiales de la DSS, 2022 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/DSS/2022/Cahier_stat_Prestations_familiales_2022.pdf)"
},
{
"variable":"aeeh",
"actual_beneficiaries": 321000,
"actual_amount": 1060000000,
"source": "Dossier statistique des prestations familiales de la DSS, 2022 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/DSS/2022/Cahier_stat_Prestations_familiales_2022.pdf)"
},
{
"variable":"asf",
"actual_beneficiaries": 803000,
"actual_amount": 1771000000,
"source": "Dossier statistique des prestations familiales de la DSS, 2022 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/DSS/2022/Cahier_stat_Prestations_familiales_2022.pdf)"
},
{
"variable":"paje_base",
"actual_beneficiaries": 1619000,
"actual_amount": 3374000000,
"source": "Dossier statistique des prestations familiales de la DSS, 2022 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/DSS/2022/Cahier_stat_Prestations_familiales_2022.pdf)"
},
{
"variable":"paje_naissance",
"actual_beneficiaries": 46400000,
"actual_amount": 553000000,
"source": "Dossier statistique des prestations familiales de la DSS, 2022 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/DSS/2022/Cahier_stat_Prestations_familiales_2022.pdf)"
},
{
"variable":"cf",
"actual_beneficiaries": 871000,
"actual_amount":2331000000,
"source": "Dossier statistique des prestations familiales de la DSS, 2022 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/DSS/2022/Cahier_stat_Prestations_familiales_2022.pdf)"
},
{
"variable":"ars",
"actual_beneficiaries": 3132000,
"actual_amount": 2034000000,
"source": "Dossier statistique des prestations familiales de la DSS, 2022 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/DSS/2022/Cahier_stat_Prestations_familiales_2022.pdf)"
},
{
"variable":"paje_cmg",
"actual_beneficiaries": 910000,
"actual_amount":6329000000,
"source": "Dossier statistique des prestations familiales de la DSS, 2022 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/DSS/2022/Cahier_stat_Prestations_familiales_2022.pdf)"
},
{
"variable":"aides_logement",
"actual_beneficiaries": 0,
"actual_amount": 16270006022,
"source": "Rapport du Directeur comptable et financier sur les comptes de l'exercice 2020, CAF (https://www.caf.fr/sites/default/files/medias/cnaf/Nous_connaitre/qui%20sommes%20nous/presentation/2020_Rapport%20du%20Dcf%20sur%20les%20comptes.pdf)"
},
{
"variable":"apl",
"actual_beneficiaries": 7385478511,
"actual_amount": 16270006022,
"source": "Rapport du Directeur comptable et financier sur les comptes de l'exercice 2020, CAF (https://www.caf.fr/sites/default/files/medias/cnaf/Nous_connaitre/qui%20sommes%20nous/presentation/2020_Rapport%20du%20Dcf%20sur%20les%20comptes.pdf)"
},
{
"variable":"aah",
"actual_beneficiaries": 0,
"actual_amount":10370937843,
"source": "Rapport du Directeur comptable et financier sur les comptes de l'exercice 2020, CAF (https://www.caf.fr/sites/default/files/medias/cnaf/Nous_connaitre/qui%20sommes%20nous/presentation/2020_Rapport%20du%20Dcf%20sur%20les%20comptes.pdf)"
},
{
"variable":"aspa",
"actual_beneficiaries":600000,
"actual_amount": 3500000000,
"source": "Panorama DREES les retraites et les retraités, édition 2021"
},
{
"variable":"asi",
"actual_beneficiaries":0,
"actual_amount":0
},
{
"variable":"rsa",
"actual_beneficiaries": 0,
"actual_amount":10927045125,
"source": "Rapport du Directeur comptable et financier sur les comptes de l'exercice 2020, CAF (https://www.caf.fr/sites/default/files/medias/cnaf/Nous_connaitre/qui%20sommes%20nous/presentation/2020_Rapport%20du%20Dcf%20sur%20les%20comptes.pdf)"
},
{
"variable":"ppa",
"actual_beneficiaries": 0,
"actual_amount": 9374056880,
"source": "Rapport du Directeur comptable et financier sur les comptes de l'exercice 2020, CAF (https://www.caf.fr/sites/default/files/medias/cnaf/Nous_connaitre/qui%20sommes%20nous/presentation/2020_Rapport%20du%20Dcf%20sur%20les%20comptes.pdf)"
},
{
"variable":"csg_salaire",
"actual_beneficiaries": 0,
"actual_amount": 75706000000,
"source": "Comptes de la sécurité sociale, résultats 2019 et prévision 2020 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/CCSS/2020/RAPPORT%20CCSS%20JUIN%202020.pdf)"
},
{
"variable":"csg_non_salarie",
"actual_beneficiaries": 0,
"actual_amount": 14098000000,
"source": "Comptes de la sécurité sociale, résultats 2019 et prévision 2020 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/CCSS/2020/RAPPORT%20CCSS%20JUIN%202020.pdf)"
},
{
"variable":"csg_retraite",
"actual_beneficiaries":0,
"actual_amount":20799000000,
"source": "Comptes de la sécurité sociale, résultats 2019 et prévision 2020 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/CCSS/2020/RAPPORT%20CCSS%20JUIN%202020.pdf)"
},
{
"variable":"csg_chomage",
"actual_beneficiaries":0,
"actual_amount":577000000,
"source": "Comptes de la sécurité sociale, résultats 2019 et prévision 2020 (https://www.securite-sociale.fr/files/live/sites/SSFR/files/medias/CCSS/2020/RAPPORT%20CCSS%20JUIN%202020.pdf)"
},
{
"variable":"irpp",
"actual_beneficiaries":39332000,
"actual_amount":76911000000,
"source": "Statistiques DGFIP, Impôt sur le revenu : répartition par région (https://www.impots.gouv.fr/statistiques-impots-des-particuliers)"
},
{
"variable":"ifi",
"actual_beneficiaries":0,
"actual_amount":0
}
]
}
Loading

0 comments on commit ea1d6f8

Please sign in to comment.