From 2d7c30b875e2ee384ea13b722f9841b666113acd Mon Sep 17 00:00:00 2001 From: Leonardo Calcagno Date: Tue, 6 Apr 2021 11:45:57 -0300 Subject: [PATCH] Corrected decile error (missing second decile) --- ...tive_sim_start_2014_t4_ife_cpi_central.yml | 74 ++- ...pective_sim_start_2014_t4_ife_cpi_high.yml | 74 ++- ...spective_sim_start_2014_t4_ife_cpi_low.yml | 74 ++- ...tive_sim_start_2014_t4_ife_mob_central.yml | 74 ++- ...pective_sim_start_2014_t4_ife_mob_high.yml | 75 ++- ...spective_sim_start_2014_t4_ife_mob_low.yml | 567 ++++++++++-------- 6 files changed, 672 insertions(+), 266 deletions(-) diff --git a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_central.yml b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_central.yml index d3b33dc..9bcf7a7 100644 --- a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_central.yml +++ b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_central.yml @@ -641,6 +641,71 @@ entities: filter=sedlac_income>=percentile(sedlac_income,90, filter=sedlac_income!=0),weights=pondera) )/sum(all_labour_income+all_IFE_benefits,weights=pondera) + #We also compute what proportion of total IFE benefits is captured by each income decile + - IFE_share_decile_1_sedlac: sum(all_IFE_benefits, + filter=sedlac_income=percentile(sedlac_income,10, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_3_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_4_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_5_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_6_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_7_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_8_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_9_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_10_sedlac: sum(all_IFE_benefits, + filter=sedlac_income>percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + /sum(all_IFE_benefits,weights=pondera) # 5- We export these redistribution indicators into a separate csv file. - csv(period,gini_all_income,gini_labour_income,gini_labour_pension_income,gini_labour_fam_benefits, decile_ratio_all_income, decile_ratio_labour_income, decile_ratio_labour_pension_income, decile_ratio_labour_fam_ben_income, @@ -669,8 +734,10 @@ entities: - csv(period, share_bottom_10_sedlac_labour,share_bottom_10_sedlac_labour_IFE_ben, share_decile_2_sedlac_labour, share_decile_2_sedlac_labour_IFE_ben, share_decile_3_sedlac_labour, share_decile_3_sedlac_labour_IFE_ben, share_decile_4_sedlac_labour, share_decile_4_sedlac_labour_IFE_ben, share_decile_5_sedlac_labour, share_decile_5_sedlac_labour_IFE_ben, share_decile_6_sedlac_labour, share_decile_6_sedlac_labour_IFE_ben, share_decile_7_sedlac_labour, share_decile_7_sedlac_labour_IFE_ben, share_decile_8_sedlac_labour, share_decile_8_sedlac_labour_IFE_ben,share_decile_9_sedlac_labour, share_decile_9_sedlac_labour_IFE_ben, - share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben - , fname='IFE_deciles_central_sedlac.csv',mode='a') + share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben, + IFE_share_decile_1_sedlac,IFE_share_decile_2_sedlac,IFE_share_decile_3_sedlac,IFE_share_decile_4_sedlac,IFE_share_decile_5_sedlac,IFE_share_decile_6_sedlac,IFE_share_decile_7_sedlac, + IFE_share_decile_8_sedlac,IFE_share_decile_9_sedlac,IFE_share_decile_10_sedlac + , fname='IFE_deciles_central_sedlac.csv',mode='a') # 6- We export the total cost of the IFE in this step, as it is a household-level benefit. - permanent_IFE_coverage: if(permanent_IFE_CPI_hh>0, 1, 0 @@ -1486,7 +1553,8 @@ entities: - csv('Period','First decile, share of labour income','First decile, share of labour and IFE income','Second decile, share of labour income','Second decile, share of labour and IFE income','Third decile, share of labour income','Third decile, share of labour and IFE income', 'Fourth decile, share of labour income','Fourth decile, share of labour and IFE income','Fifth decile, share of labour income','Fifth decile, share of labour and IFE income','Sixth decile, share of labour income','Sixth decile, share of labour and IFE income', 'Seventh decile, share of labour income','Seventh decile, share of labour and IFE income','Eigth decile, share of labour income','Eigth decile, share of labour and IFE income','Ninth decile, share of labour income','Ninth decile, share of labour and IFE income', - 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'IFE share, First decile','IFE share, Second decile','IFE share, Third decile','IFE share, Fourth decile','IFE share, Fifth decile','IFE share, Sixth decile','IFE share, Seventh decile','IFE share, Eigth decile','IFE share, Ninth decile','IFE share, Tenth decile', fname='IFE_deciles_central_sedlac.csv',mode='a') ################################################################################################################ - csv('Period', 'Total_IFE_expenditure', 'Total_pension_expenditure', 'Total_labour_income', 'Total_fam_benefits', diff --git a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_high.yml b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_high.yml index 7a3402f..1bad01f 100644 --- a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_high.yml +++ b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_high.yml @@ -641,6 +641,71 @@ entities: filter=sedlac_income>=percentile(sedlac_income,90, filter=sedlac_income!=0),weights=pondera) )/sum(all_labour_income+all_IFE_benefits,weights=pondera) + #We also compute what proportion of total IFE benefits is captured by each income decile + - IFE_share_decile_1_sedlac: sum(all_IFE_benefits, + filter=sedlac_income=percentile(sedlac_income,10, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_3_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_4_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_5_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_6_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_7_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_8_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_9_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_10_sedlac: sum(all_IFE_benefits, + filter=sedlac_income>percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + /sum(all_IFE_benefits,weights=pondera) # 5- We export these redistribution indicators into a separate csv file. - csv(period,gini_all_income,gini_labour_income,gini_labour_pension_income,gini_labour_fam_benefits, decile_ratio_all_income, decile_ratio_labour_income, decile_ratio_labour_pension_income, decile_ratio_labour_fam_ben_income, @@ -669,8 +734,10 @@ entities: - csv(period, share_bottom_10_sedlac_labour,share_bottom_10_sedlac_labour_IFE_ben, share_decile_2_sedlac_labour, share_decile_2_sedlac_labour_IFE_ben, share_decile_3_sedlac_labour, share_decile_3_sedlac_labour_IFE_ben, share_decile_4_sedlac_labour, share_decile_4_sedlac_labour_IFE_ben, share_decile_5_sedlac_labour, share_decile_5_sedlac_labour_IFE_ben, share_decile_6_sedlac_labour, share_decile_6_sedlac_labour_IFE_ben, share_decile_7_sedlac_labour, share_decile_7_sedlac_labour_IFE_ben, share_decile_8_sedlac_labour, share_decile_8_sedlac_labour_IFE_ben,share_decile_9_sedlac_labour, share_decile_9_sedlac_labour_IFE_ben, - share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben - , fname='IFE_deciles_high_sedlac.csv',mode='a') + share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben, + IFE_share_decile_1_sedlac,IFE_share_decile_2_sedlac,IFE_share_decile_3_sedlac,IFE_share_decile_4_sedlac,IFE_share_decile_5_sedlac,IFE_share_decile_6_sedlac,IFE_share_decile_7_sedlac, + IFE_share_decile_8_sedlac,IFE_share_decile_9_sedlac,IFE_share_decile_10_sedlac + , fname='IFE_deciles_high_sedlac.csv',mode='a') # 6- We export the total cost of the IFE in this step, as it is a household-level benefit. - permanent_IFE_coverage: if(permanent_IFE_CPI_hh>0, 1, 0 @@ -1486,7 +1553,8 @@ entities: - csv('Period','First decile, share of labour income','First decile, share of labour and IFE income','Second decile, share of labour income','Second decile, share of labour and IFE income','Third decile, share of labour income','Third decile, share of labour and IFE income', 'Fourth decile, share of labour income','Fourth decile, share of labour and IFE income','Fifth decile, share of labour income','Fifth decile, share of labour and IFE income','Sixth decile, share of labour income','Sixth decile, share of labour and IFE income', 'Seventh decile, share of labour income','Seventh decile, share of labour and IFE income','Eigth decile, share of labour income','Eigth decile, share of labour and IFE income','Ninth decile, share of labour income','Ninth decile, share of labour and IFE income', - 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'IFE share, First decile','IFE share, Second decile','IFE share, Third decile','IFE share, Fourth decile','IFE share, Fifth decile','IFE share, Sixth decile','IFE share, Seventh decile','IFE share, Eigth decile','IFE share, Ninth decile','IFE share, Tenth decile', fname='IFE_deciles_high_sedlac.csv',mode='a') ################################################################################################################ - csv('Period', 'Total_IFE_expenditure', 'Total_pension_expenditure', 'Total_labour_income', 'Total_fam_benefits', diff --git a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_low.yml b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_low.yml index 95f9de1..e150ae6 100644 --- a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_low.yml +++ b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_cpi_low.yml @@ -641,6 +641,71 @@ entities: filter=sedlac_income>=percentile(sedlac_income,90, filter=sedlac_income!=0),weights=pondera) )/sum(all_labour_income+all_IFE_benefits,weights=pondera) + #We also compute what proportion of total IFE benefits is captured by each income decile + - IFE_share_decile_1_sedlac: sum(all_IFE_benefits, + filter=sedlac_income=percentile(sedlac_income,10, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_3_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_4_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_5_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_6_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_7_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_8_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_9_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_10_sedlac: sum(all_IFE_benefits, + filter=sedlac_income>percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + /sum(all_IFE_benefits,weights=pondera) # 5- We export these redistribution indicators into a separate csv file. - csv(period,gini_all_income,gini_labour_income,gini_labour_pension_income,gini_labour_fam_benefits, decile_ratio_all_income, decile_ratio_labour_income, decile_ratio_labour_pension_income, decile_ratio_labour_fam_ben_income, @@ -669,8 +734,10 @@ entities: - csv(period, share_bottom_10_sedlac_labour,share_bottom_10_sedlac_labour_IFE_ben, share_decile_2_sedlac_labour, share_decile_2_sedlac_labour_IFE_ben, share_decile_3_sedlac_labour, share_decile_3_sedlac_labour_IFE_ben, share_decile_4_sedlac_labour, share_decile_4_sedlac_labour_IFE_ben, share_decile_5_sedlac_labour, share_decile_5_sedlac_labour_IFE_ben, share_decile_6_sedlac_labour, share_decile_6_sedlac_labour_IFE_ben, share_decile_7_sedlac_labour, share_decile_7_sedlac_labour_IFE_ben, share_decile_8_sedlac_labour, share_decile_8_sedlac_labour_IFE_ben,share_decile_9_sedlac_labour, share_decile_9_sedlac_labour_IFE_ben, - share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben - , fname='IFE_deciles_low_sedlac.csv',mode='a') + share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben, + IFE_share_decile_1_sedlac,IFE_share_decile_2_sedlac,IFE_share_decile_3_sedlac,IFE_share_decile_4_sedlac,IFE_share_decile_5_sedlac,IFE_share_decile_6_sedlac,IFE_share_decile_7_sedlac, + IFE_share_decile_8_sedlac,IFE_share_decile_9_sedlac,IFE_share_decile_10_sedlac + , fname='IFE_deciles_low_sedlac.csv',mode='a') # 6- We export the total cost of the IFE in this step, as it is a household-level benefit. - permanent_IFE_coverage: if(permanent_IFE_CPI_hh>0, 1, 0 @@ -1486,7 +1553,8 @@ entities: - csv('Period','First decile, share of labour income','First decile, share of labour and IFE income','Second decile, share of labour income','Second decile, share of labour and IFE income','Third decile, share of labour income','Third decile, share of labour and IFE income', 'Fourth decile, share of labour income','Fourth decile, share of labour and IFE income','Fifth decile, share of labour income','Fifth decile, share of labour and IFE income','Sixth decile, share of labour income','Sixth decile, share of labour and IFE income', 'Seventh decile, share of labour income','Seventh decile, share of labour and IFE income','Eigth decile, share of labour income','Eigth decile, share of labour and IFE income','Ninth decile, share of labour income','Ninth decile, share of labour and IFE income', - 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'IFE share, First decile','IFE share, Second decile','IFE share, Third decile','IFE share, Fourth decile','IFE share, Fifth decile','IFE share, Sixth decile','IFE share, Seventh decile','IFE share, Eigth decile','IFE share, Ninth decile','IFE share, Tenth decile', fname='IFE_deciles_low_sedlac.csv',mode='a') ################################################################################################################ - csv('Period', 'Total_IFE_expenditure', 'Total_pension_expenditure', 'Total_labour_income', 'Total_fam_benefits', diff --git a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_central.yml b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_central.yml index bb027af..12e9ab8 100644 --- a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_central.yml +++ b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_central.yml @@ -641,6 +641,71 @@ entities: filter=sedlac_income>=percentile(sedlac_income,90, filter=sedlac_income!=0),weights=pondera) )/sum(all_labour_income+all_IFE_benefits,weights=pondera) + #We also compute what proportion of total IFE benefits is captured by each income decile + - IFE_share_decile_1_sedlac: sum(all_IFE_benefits, + filter=sedlac_income=percentile(sedlac_income,10, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_3_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_4_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_5_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_6_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_7_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_8_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_9_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_10_sedlac: sum(all_IFE_benefits, + filter=sedlac_income>percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + /sum(all_IFE_benefits,weights=pondera) # 5- We export these redistribution indicators into a separate csv file. - csv(period,gini_all_income,gini_labour_income,gini_labour_pension_income,gini_labour_fam_benefits, decile_ratio_all_income, decile_ratio_labour_income, decile_ratio_labour_pension_income, decile_ratio_labour_fam_ben_income, @@ -669,8 +734,10 @@ entities: - csv(period, share_bottom_10_sedlac_labour,share_bottom_10_sedlac_labour_IFE_ben, share_decile_2_sedlac_labour, share_decile_2_sedlac_labour_IFE_ben, share_decile_3_sedlac_labour, share_decile_3_sedlac_labour_IFE_ben, share_decile_4_sedlac_labour, share_decile_4_sedlac_labour_IFE_ben, share_decile_5_sedlac_labour, share_decile_5_sedlac_labour_IFE_ben, share_decile_6_sedlac_labour, share_decile_6_sedlac_labour_IFE_ben, share_decile_7_sedlac_labour, share_decile_7_sedlac_labour_IFE_ben, share_decile_8_sedlac_labour, share_decile_8_sedlac_labour_IFE_ben,share_decile_9_sedlac_labour, share_decile_9_sedlac_labour_IFE_ben, - share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben - , fname='IFE_deciles_central_sedlac.csv',mode='a') + share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben, + IFE_share_decile_1_sedlac,IFE_share_decile_2_sedlac,IFE_share_decile_3_sedlac,IFE_share_decile_4_sedlac,IFE_share_decile_5_sedlac,IFE_share_decile_6_sedlac,IFE_share_decile_7_sedlac, + IFE_share_decile_8_sedlac,IFE_share_decile_9_sedlac,IFE_share_decile_10_sedlac + , fname='IFE_deciles_central_sedlac.csv',mode='a') # 6- We export the total cost of the IFE in this step, as it is a household-level benefit. - permanent_IFE_coverage: if(permanent_IFE_mobility_hh>0, 1, 0 @@ -1486,7 +1553,8 @@ entities: - csv('Period','First decile, share of labour income','First decile, share of labour and IFE income','Second decile, share of labour income','Second decile, share of labour and IFE income','Third decile, share of labour income','Third decile, share of labour and IFE income', 'Fourth decile, share of labour income','Fourth decile, share of labour and IFE income','Fifth decile, share of labour income','Fifth decile, share of labour and IFE income','Sixth decile, share of labour income','Sixth decile, share of labour and IFE income', 'Seventh decile, share of labour income','Seventh decile, share of labour and IFE income','Eigth decile, share of labour income','Eigth decile, share of labour and IFE income','Ninth decile, share of labour income','Ninth decile, share of labour and IFE income', - 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'IFE share, First decile','IFE share, Second decile','IFE share, Third decile','IFE share, Fourth decile','IFE share, Fifth decile','IFE share, Sixth decile','IFE share, Seventh decile','IFE share, Eigth decile','IFE share, Ninth decile','IFE share, Tenth decile', fname='IFE_deciles_central_sedlac.csv',mode='a') ################################################################################################################ - csv('Period', 'Total_IFE_expenditure', 'Total_pension_expenditure', 'Total_labour_income', 'Total_fam_benefits', diff --git a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_high.yml b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_high.yml index 1e22a9b..7c1bdcd 100644 --- a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_high.yml +++ b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_high.yml @@ -210,7 +210,6 @@ entities: - permanent_IFE_mobility_hh: if(period<70, 0, if(period<72, historical_IFE_hh, if(wage_earners_hh>0 or autonomous_hh>0 or auton_cat_over_B_hh>0 or persons.sum(disc_cost_v2_m)>=MIN_PENSION_HIGH_2014_T4*0.8,0, - IFE_2014_T4_HIGH ))) redistribution: @@ -642,6 +641,71 @@ entities: filter=sedlac_income>=percentile(sedlac_income,90, filter=sedlac_income!=0),weights=pondera) )/sum(all_labour_income+all_IFE_benefits,weights=pondera) + #We also compute what proportion of total IFE benefits is captured by each income decile + - IFE_share_decile_1_sedlac: sum(all_IFE_benefits, + filter=sedlac_income=percentile(sedlac_income,10, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_3_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_4_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_5_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_6_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_7_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_8_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_9_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_10_sedlac: sum(all_IFE_benefits, + filter=sedlac_income>percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + /sum(all_IFE_benefits,weights=pondera) # 5- We export these redistribution indicators into a separate csv file. - csv(period,gini_all_income,gini_labour_income,gini_labour_pension_income,gini_labour_fam_benefits, decile_ratio_all_income, decile_ratio_labour_income, decile_ratio_labour_pension_income, decile_ratio_labour_fam_ben_income, @@ -670,8 +734,10 @@ entities: - csv(period, share_bottom_10_sedlac_labour,share_bottom_10_sedlac_labour_IFE_ben, share_decile_2_sedlac_labour, share_decile_2_sedlac_labour_IFE_ben, share_decile_3_sedlac_labour, share_decile_3_sedlac_labour_IFE_ben, share_decile_4_sedlac_labour, share_decile_4_sedlac_labour_IFE_ben, share_decile_5_sedlac_labour, share_decile_5_sedlac_labour_IFE_ben, share_decile_6_sedlac_labour, share_decile_6_sedlac_labour_IFE_ben, share_decile_7_sedlac_labour, share_decile_7_sedlac_labour_IFE_ben, share_decile_8_sedlac_labour, share_decile_8_sedlac_labour_IFE_ben,share_decile_9_sedlac_labour, share_decile_9_sedlac_labour_IFE_ben, - share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben - , fname='IFE_deciles_high_sedlac.csv',mode='a') + share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben, + IFE_share_decile_1_sedlac,IFE_share_decile_2_sedlac,IFE_share_decile_3_sedlac,IFE_share_decile_4_sedlac,IFE_share_decile_5_sedlac,IFE_share_decile_6_sedlac,IFE_share_decile_7_sedlac, + IFE_share_decile_8_sedlac,IFE_share_decile_9_sedlac,IFE_share_decile_10_sedlac + , fname='IFE_deciles_high_sedlac.csv',mode='a') # 6- We export the total cost of the IFE in this step, as it is a household-level benefit. - permanent_IFE_coverage: if(permanent_IFE_mobility_hh>0, 1, 0 @@ -1487,7 +1553,8 @@ entities: - csv('Period','First decile, share of labour income','First decile, share of labour and IFE income','Second decile, share of labour income','Second decile, share of labour and IFE income','Third decile, share of labour income','Third decile, share of labour and IFE income', 'Fourth decile, share of labour income','Fourth decile, share of labour and IFE income','Fifth decile, share of labour income','Fifth decile, share of labour and IFE income','Sixth decile, share of labour income','Sixth decile, share of labour and IFE income', 'Seventh decile, share of labour income','Seventh decile, share of labour and IFE income','Eigth decile, share of labour income','Eigth decile, share of labour and IFE income','Ninth decile, share of labour income','Ninth decile, share of labour and IFE income', - 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'IFE share, First decile','IFE share, Second decile','IFE share, Third decile','IFE share, Fourth decile','IFE share, Fifth decile','IFE share, Sixth decile','IFE share, Seventh decile','IFE share, Eigth decile','IFE share, Ninth decile','IFE share, Tenth decile', fname='IFE_deciles_high_sedlac.csv',mode='a') ################################################################################################################ - csv('Period', 'Total_IFE_expenditure', 'Total_pension_expenditure', 'Total_labour_income', 'Total_fam_benefits', diff --git a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_low.yml b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_low.yml index 8a28fc0..1edd6bd 100644 --- a/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_low.yml +++ b/LIAM2_commented_code/Prospective_simulations/Seed_17101945/2014_t4_start/Permanent_IFE_variants/prospective_sim_start_2014_t4_ife_mob_low.yml @@ -11,16 +11,16 @@ globals: #A large part of our economic scenarios revolve around fixed values of global variables. These change following historically observed values and our economic scenarios. #First, we list global variables related to real wages as estimated following the CPI or ANSES actualisation indexes. #All our real income variables are expressed in November 2014 pesos. - - GROSS_WAGE_CENTRAL_2014_T4: float - - REAL_WAGE_CENTRAL: float - - NET_WAGE_CENTRAL_2014_T4: float - - ANSES_GROSS_WAGE_CENTRAL_2014_T4: float - - ANSES_NET_WAGE_CENTRAL_2014_T4: float - - MINIMUM_WAGE_CENTRAL_2014_T4: float - #The CPI_ANSES_INDEX_CENTRAL is equal to the CPI divided by the ANSES actualisation index. - #It links real wage variables together (ANSES_GROSS_WAGE_CENTRAL_2014_T4*CPI_ANSES_INDEX_CENTRAL=GROSS_WAGE_CENTRAL_2014_T4). + - GROSS_WAGE_LOW_2014_T4: float + - REAL_WAGE_LOW: float + - NET_WAGE_LOW_2014_T4: float + - ANSES_GROSS_WAGE_LOW_2014_T4: float + - ANSES_NET_WAGE_LOW_2014_T4: float + - MINIMUM_WAGE_LOW_2014_T4: float + #The CPI_ANSES_INDEX_LOW is equal to the CPI divided by the ANSES actualisation index. + #It links real wage variables together (ANSES_GROSS_WAGE_LOW_2014_T4*CPI_ANSES_INDEX_LOW=GROSS_WAGE_LOW_2014_T4). # This variable is useful for computing the family-group income. - - CPI_ANSES_INDEX_CENTRAL: float + - CPI_ANSES_INDEX_LOW: float #The coefficient variables (h for men, f for women) are computed following Duc et. al. 2013 - COEFFICIENT_H: float - COEFFICIENT_F: float @@ -28,105 +28,105 @@ globals: - CONT_PAT_1: float - CONT_PAT_2: float - CONT_PAT_4: float - - NON_TAXABLE_INCOME_CENTRAL_2014_T4: float + - NON_TAXABLE_INCOME_LOW_2014_T4: float #Then, we list variables related to social security contributions and categorisations - - MIN_PENSION_CENTRAL_2014_T4: float - - MAX_PENSION_CENTRAL_2014_T4: float - - MAX_CONTRIBUTIVE_BASE_CENTRAL: float + - MIN_PENSION_LOW_2014_T4: float + - MAX_PENSION_LOW_2014_T4: float + - MAX_CONTRIBUTIVE_BASE_LOW: float #We add a global depicting the real increase of pensions each quarter based on the adopted pension mobility law. #From the third quarter of 2018 onward, we assume it is equal to 30% of the real wage evolution. This is true as long as real wage increases at a fixed rate and # that inflation stays the same, which we assume in our scenarios for the sake of simplicity. This is because the increase this quarter is 70% of the inflation and 30% of the RIPTE evolution #two quarters ago, as per the 2017 pension reform. - - REAL_MOBILITY_CENTRAL: float + - REAL_MOBILITY_LOW: float #The PBU is the Universal Basic Benefit. It enters in the computation of the retirement pension. - - PBU_CENTRAL_2014_T4: float + - PBU_LOW_2014_T4: float # MON refers to the small independent contributors regime or Monotributo. It is divided in income-dependent categories ranging from A to H. # All real terms are expressed in November 2014 pesos, as actualised following official figures of the CPI. - # LIM_MON_ACTU_CENTRAL_CAT_A: income limit to belong to category A in real terms. - # INT_TAX_MON_ACTU_CENTRAL_A: integrated tax associated to monotributo category A in real terms. - # SIPA_MON_ACTU_CENTRAL_A: social security contributions that go to the SIPA for category A monotributistas in real terms. - # OBRA_MON_ACTU_CENTRAL_A: healthcare contributions that go to the category A monotributista's Obra Social in real terms. - - LIM_MON_ACTU_CENTRAL_CAT_A: float - - INT_TAX_MON_ACTU_CENTRAL_A: float - - SIPA_MON_ACTU_CENTRAL_A: float - - OBRA_MON_ACTU_CENTRAL_A: float - - LIM_MON_ACTU_CENTRAL_CAT_B: float - - INT_TAX_MON_ACTU_CENTRAL_B: float - - SIPA_MON_ACTU_CENTRAL_B: float - - OBRA_MON_ACTU_CENTRAL_B: float - - LIM_MON_ACTU_CENTRAL_CAT_C: float - - INT_TAX_MON_ACTU_CENTRAL_C: float - - SIPA_MON_ACTU_CENTRAL_C: float - - OBRA_MON_ACTU_CENTRAL_C: float - - LIM_MON_ACTU_CENTRAL_CAT_D: float - - INT_TAX_MON_ACTU_CENTRAL_D: float - - SIPA_MON_ACTU_CENTRAL_D: float - - OBRA_MON_ACTU_CENTRAL_D: float - - LIM_MON_ACTU_CENTRAL_CAT_E: float - - INT_TAX_MON_ACTU_CENTRAL_E: float - - SIPA_MON_ACTU_CENTRAL_E: float - - OBRA_MON_ACTU_CENTRAL_E: float - - LIM_MON_ACTU_CENTRAL_CAT_F: float - - INT_TAX_MON_ACTU_CENTRAL_F: float - - SIPA_MON_ACTU_CENTRAL_F: float - - OBRA_MON_ACTU_CENTRAL_F: float - - LIM_MON_ACTU_CENTRAL_CAT_G: float - - INT_TAX_MON_ACTU_CENTRAL_G: float - - SIPA_MON_ACTU_CENTRAL_G: float - - OBRA_MON_ACTU_CENTRAL_G: float - - LIM_MON_ACTU_CENTRAL_CAT_H: float - - INT_TAX_MON_ACTU_CENTRAL_H: float - - SIPA_MON_ACTU_CENTRAL_H: float - - OBRA_MON_ACTU_CENTRAL_H: float + # LIM_MON_ACTU_LOW_CAT_A: income limit to belong to category A in real terms. + # INT_TAX_MON_ACTU_LOW_A: integrated tax associated to monotributo category A in real terms. + # SIPA_MON_ACTU_LOW_A: social security contributions that go to the SIPA for category A monotributistas in real terms. + # OBRA_MON_ACTU_LOW_A: healthcare contributions that go to the category A monotributista's Obra Social in real terms. + - LIM_MON_ACTU_LOW_CAT_A: float + - INT_TAX_MON_ACTU_LOW_A: float + - SIPA_MON_ACTU_LOW_A: float + - OBRA_MON_ACTU_LOW_A: float + - LIM_MON_ACTU_LOW_CAT_B: float + - INT_TAX_MON_ACTU_LOW_B: float + - SIPA_MON_ACTU_LOW_B: float + - OBRA_MON_ACTU_LOW_B: float + - LIM_MON_ACTU_LOW_CAT_C: float + - INT_TAX_MON_ACTU_LOW_C: float + - SIPA_MON_ACTU_LOW_C: float + - OBRA_MON_ACTU_LOW_C: float + - LIM_MON_ACTU_LOW_CAT_D: float + - INT_TAX_MON_ACTU_LOW_D: float + - SIPA_MON_ACTU_LOW_D: float + - OBRA_MON_ACTU_LOW_D: float + - LIM_MON_ACTU_LOW_CAT_E: float + - INT_TAX_MON_ACTU_LOW_E: float + - SIPA_MON_ACTU_LOW_E: float + - OBRA_MON_ACTU_LOW_E: float + - LIM_MON_ACTU_LOW_CAT_F: float + - INT_TAX_MON_ACTU_LOW_F: float + - SIPA_MON_ACTU_LOW_F: float + - OBRA_MON_ACTU_LOW_F: float + - LIM_MON_ACTU_LOW_CAT_G: float + - INT_TAX_MON_ACTU_LOW_G: float + - SIPA_MON_ACTU_LOW_G: float + - OBRA_MON_ACTU_LOW_G: float + - LIM_MON_ACTU_LOW_CAT_H: float + - INT_TAX_MON_ACTU_LOW_H: float + - SIPA_MON_ACTU_LOW_H: float + - OBRA_MON_ACTU_LOW_H: float # AUT refers to independent workers that contribute to the Autonomous Workers regime. # Categories I and II are reserved for own-account workers while categories III to V are those of the entrepreneurs. # LIM_AUT_ACTU_I: income limit to belong to category I in real terms. - # RENT_AUT_ACTU_CENTRAL_I: reference income associated to category I in real terms. - # COT_AUT_ACTU_CENTRAL_I: social security contributions of category I workers in real terms. + # RENT_AUT_ACTU_LOW_I: reference income associated to category I in real terms. + # COT_AUT_ACTU_LOW_I: social security contributions of category I workers in real terms. - LIM_AUT_ACTU_I: float - - RENT_AUT_ACTU_CENTRAL_I: float - - COT_AUT_ACTU_CENTRAL_I: float - - RENT_AUT_ACTU_CENTRAL_II: float - - COT_AUT_ACTU_CENTRAL_II: float + - RENT_AUT_ACTU_LOW_I: float + - COT_AUT_ACTU_LOW_I: float + - RENT_AUT_ACTU_LOW_II: float + - COT_AUT_ACTU_LOW_II: float - LIM_AUT_ACTU_III: float - - RENT_AUT_ACTU_CENTRAL_III: float - - COT_AUT_ACTU_CENTRAL_III: float + - RENT_AUT_ACTU_LOW_III: float + - COT_AUT_ACTU_LOW_III: float - LIM_AUT_ACTU_IV: float - - RENT_AUT_ACTU_CENTRAL_IV: float - - COT_AUT_ACTU_CENTRAL_IV: float - - RENT_AUT_ACTU_CENTRAL_V: float - - COT_AUT_ACTU_CENTRAL_V: float + - RENT_AUT_ACTU_LOW_IV: float + - COT_AUT_ACTU_LOW_IV: float + - RENT_AUT_ACTU_LOW_V: float + - COT_AUT_ACTU_LOW_V: float #Finally, we list below global variables related to family benefits. # There are four relevant family income caps for child benefits. Cap 1 is the lowest in real terms, cap 4 is the highest (and exceeding it bars access to family benefits to formal workers) #We consider in this work as fmaily income only that of the nuclear family: that is, the child's parents. - - FAM_CAP_CENTRAL_1: float - - FAM_CAP_CENTRAL_2: float - - FAM_CAP_CENTRAL_3: float - - FAM_CAP_CENTRAL_4: float - # In addition to family income conditions, if one of the parents exceeds a cap (variable IND_FAM_CAP_CENTRAL), the couple is not eligible to family benefits. - - IND_FAM_CAP_CENTRAL: float + - FAM_CAP_LOW_1: float + - FAM_CAP_LOW_2: float + - FAM_CAP_LOW_3: float + - FAM_CAP_LOW_4: float + # In addition to family income conditions, if one of the parents exceeds a cap (variable IND_FAM_CAP_LOW), the couple is not eligible to family benefits. + - IND_FAM_CAP_LOW: float # Finally, we list the value in real terms (November 2014 pesos) of the family benefits we simulate in this model. - # BIRTH_BEN_CENTRAL and MAR_BEN_CENTRAL are one-time benefits given at the time of repsectively birth and mariage. SCHOOL_AID_CENTRAL is a yearly benefit for underage scholarised children. - # CHILD_BEN_CENTRAL_1 to 4 are the four means-tested levels of child benefits for formal wage-earners and monotributistas. - # CHILD_BEN_CENTRAL_1 is the highest and is resserved to the poorest wage-earners. It is also equal to the AUH. + # BIRTH_BEN_LOW and MAR_BEN_LOW are one-time benefits given at the time of repsectively birth and mariage. SCHOOL_AID_LOW is a yearly benefit for underage scholarised children. + # CHILD_BEN_LOW_1 to 4 are the four means-tested levels of child benefits for formal wage-earners and monotributistas. + # CHILD_BEN_LOW_1 is the highest and is resserved to the poorest wage-earners. It is also equal to the AUH. # There are also for private-sector workers and AUH beneficiaries pregnancy benefits with the same amounts and perception conditions than child benefits. - # SPOUSE_BEN_CENTRAL finally is a monetary subsidy given to the spouses of SIPA retirees or pensioners. + # SPOUSE_BEN_LOW finally is a monetary subsidy given to the spouses of SIPA retirees or pensioners. # Since national state workers count as passive workers as far as family benefits are concerned, these receive spouse benefits but are excluded from pregnancy pensions. - - BIRTH_BEN_CENTRAL: float - - MAR_BEN_CENTRAL: float - - CHILD_BEN_CENTRAL_1: float - - CHILD_BEN_CENTRAL_2: float - - CHILD_BEN_CENTRAL_3: float - - CHILD_BEN_CENTRAL_4: float - - SCHOOL_AID_CENTRAL: float - - SPOUSE_BEN_CENTRAL: float + - BIRTH_BEN_LOW: float + - MAR_BEN_LOW: float + - CHILD_BEN_LOW_1: float + - CHILD_BEN_LOW_2: float + - CHILD_BEN_LOW_3: float + - CHILD_BEN_LOW_4: float + - SCHOOL_AID_LOW: float + - SPOUSE_BEN_LOW: float #The emergency Law 27541 suspends pension mobility for the first semester of 2020, which is partially replaced by fixed sum increases for all pensioners, #instead of proportional increases. We put the hypothesised increases in the globals file. - FIXED_SUM_INCREASE_2014_T4: float - PROPORTIONAL_PENSION_INCREASE: float # We add our hypothetical permanent IFE benefits, discounted following inflation or pension mobility. - - IFE_2014_T4_CENTRAL: float - #- IFE_CPI_2014_T4_CENTRAL: float + - IFE_2014_T4_LOW: float + #- IFE_CPI_2014_T4_LOW: float entities: household: @@ -181,7 +181,7 @@ entities: #ANSES discounting indexes. This is the discounting method necessary for computing retirement rights. We however need to discount it with the CPI #to compute the IGF. We thus add a conversion key between ANSES discounting and the Consumer's Price Index in our globals file, which converts #the rent of reference into real November 2014 pesos discounted with official inflation figures. - - igf_hh: persons.sum(discounted_itl_sal_gross) + persons.sum(disc_cost_v2_m) + persons.sum(rent_aut*CPI_ANSES_INDEX_CENTRAL) + - igf_hh: persons.sum(discounted_itl_sal_gross) + persons.sum(disc_cost_v2_m) + persons.sum(rent_aut*CPI_ANSES_INDEX_LOW) # We need for some benefits to know what is the maximum income reached by a formal wage-earner and monotributo category for a given household. - max_itl_sal_hh: persons.max(discounted_itl_sal_gross) - max_monotributo_cat_hh: persons.max(monotributo_cat) @@ -199,7 +199,7 @@ entities: # period 72 (November 2020). We always discount these increases by the actual inflation rates, so we work with real inflation rates # We also divide by 3 the sum of the IFE, as we work with quarterly income taken to the monthly level . - auton_cat_over_B_hh: persons.count(monotributo_cat>2) - - historical_IFE_hh: if(wage_earners_hh>0 or autonomous_hh>0 or auton_cat_over_B_hh>0 or persons.sum(disc_cost_v2_m)>=MIN_PENSION_CENTRAL_2014_T4*0.8,0, + - historical_IFE_hh: if(wage_earners_hh>0 or autonomous_hh>0 or auton_cat_over_B_hh>0 or persons.sum(disc_cost_v2_m)>=MIN_PENSION_LOW_2014_T4*0.8,0, if(period==70, (971.57+956.8)/3, if(period==71, (935.81 + 918.05 + 893.92)/3, if(period==72, 869.27/3, @@ -209,9 +209,8 @@ entities: # We introduce our first hypothesis for permanent IFE implementation, an indexation on inflation rates. - permanent_IFE_mobility_hh: if(period<70, 0, if(period<72, historical_IFE_hh, - if(wage_earners_hh>0 or autonomous_hh>0 or auton_cat_over_B_hh>0 or persons.sum(disc_cost_v2_m)>=MIN_PENSION_CENTRAL_2014_T4*0.8,0, - - IFE_2014_T4_CENTRAL + if(wage_earners_hh>0 or autonomous_hh>0 or auton_cat_over_B_hh>0 or persons.sum(disc_cost_v2_m)>=MIN_PENSION_LOW_2014_T4*0.8,0, + IFE_2014_T4_LOW ))) redistribution: #This module computes the redistributive impact of social security benefits among households. This is to take advantage of one of the added values of microsimulation, @@ -642,6 +641,71 @@ entities: filter=sedlac_income>=percentile(sedlac_income,90, filter=sedlac_income!=0),weights=pondera) )/sum(all_labour_income+all_IFE_benefits,weights=pondera) + #We also compute what proportion of total IFE benefits is captured by each income decile + - IFE_share_decile_1_sedlac: sum(all_IFE_benefits, + filter=sedlac_income=percentile(sedlac_income,10, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_3_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,20, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_4_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,30, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_5_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,40, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_6_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,50, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_7_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,60, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_8_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,70, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_9_sedlac: (sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,80, + filter=sedlac_income!=0),weights=pondera) + - sum(all_IFE_benefits, + filter=sedlac_income>=percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + )/sum(all_IFE_benefits,weights=pondera) + - IFE_share_decile_10_sedlac: sum(all_IFE_benefits, + filter=sedlac_income>percentile(sedlac_income,90, + filter=sedlac_income!=0),weights=pondera) + /sum(all_IFE_benefits,weights=pondera) # 5- We export these redistribution indicators into a separate csv file. - csv(period,gini_all_income,gini_labour_income,gini_labour_pension_income,gini_labour_fam_benefits, decile_ratio_all_income, decile_ratio_labour_income, decile_ratio_labour_pension_income, decile_ratio_labour_fam_ben_income, @@ -670,8 +734,10 @@ entities: - csv(period, share_bottom_10_sedlac_labour,share_bottom_10_sedlac_labour_IFE_ben, share_decile_2_sedlac_labour, share_decile_2_sedlac_labour_IFE_ben, share_decile_3_sedlac_labour, share_decile_3_sedlac_labour_IFE_ben, share_decile_4_sedlac_labour, share_decile_4_sedlac_labour_IFE_ben, share_decile_5_sedlac_labour, share_decile_5_sedlac_labour_IFE_ben, share_decile_6_sedlac_labour, share_decile_6_sedlac_labour_IFE_ben, share_decile_7_sedlac_labour, share_decile_7_sedlac_labour_IFE_ben, share_decile_8_sedlac_labour, share_decile_8_sedlac_labour_IFE_ben,share_decile_9_sedlac_labour, share_decile_9_sedlac_labour_IFE_ben, - share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben - , fname='IFE_deciles_low_sedlac.csv',mode='a') + share_top_10_sedlac_labour, share_top_10_sedlac_labour_IFE_ben, + IFE_share_decile_1_sedlac,IFE_share_decile_2_sedlac,IFE_share_decile_3_sedlac,IFE_share_decile_4_sedlac,IFE_share_decile_5_sedlac,IFE_share_decile_6_sedlac,IFE_share_decile_7_sedlac, + IFE_share_decile_8_sedlac,IFE_share_decile_9_sedlac,IFE_share_decile_10_sedlac + , fname='IFE_deciles_low_sedlac.csv',mode='a') # 6- We export the total cost of the IFE in this step, as it is a household-level benefit. - permanent_IFE_coverage: if(permanent_IFE_mobility_hh>0, 1, 0 @@ -1360,13 +1426,13 @@ entities: - discounted_v2_m_2: discounted_v2_m # Once we told apart pensioners from retirees, we derive from percieved retirement benefits their gross counterpart (including contributions to the PAMI, the healthcare scheme for retirees) # The gross direct and indirect retirement pensions represent the actual cost for ANSES of these benefits. - - gross_retirement: if(net_retirement>=MIN_PENSION_CENTRAL_2014_T4, MIN_PENSION_CENTRAL_2014_T4 + (net_retirement-MIN_PENSION_CENTRAL_2014_T4*0.97)/0.94, + - gross_retirement: if(net_retirement>=MIN_PENSION_LOW_2014_T4, MIN_PENSION_LOW_2014_T4 + (net_retirement-MIN_PENSION_LOW_2014_T4*0.97)/0.94, net_retirement/0.97) - - gross_retirement_2: if(net_retirement_2>=MIN_PENSION_CENTRAL_2014_T4, MIN_PENSION_CENTRAL_2014_T4 + (net_retirement_2-MIN_PENSION_CENTRAL_2014_T4*0.97)/0.94, + - gross_retirement_2: if(net_retirement_2>=MIN_PENSION_LOW_2014_T4, MIN_PENSION_LOW_2014_T4 + (net_retirement_2-MIN_PENSION_LOW_2014_T4*0.97)/0.94, net_retirement_2/0.97) - - gross_pension: if(net_pension>=MIN_PENSION_CENTRAL_2014_T4, MIN_PENSION_CENTRAL_2014_T4 + (net_pension-MIN_PENSION_CENTRAL_2014_T4*0.97)/0.94, + - gross_pension: if(net_pension>=MIN_PENSION_LOW_2014_T4, MIN_PENSION_LOW_2014_T4 + (net_pension-MIN_PENSION_LOW_2014_T4*0.97)/0.94, net_pension/0.97) - - gross_pension_2: if(net_pension_2>=MIN_PENSION_CENTRAL_2014_T4, MIN_PENSION_CENTRAL_2014_T4 + (net_pension_2-MIN_PENSION_CENTRAL_2014_T4*0.97)/0.94, + - gross_pension_2: if(net_pension_2>=MIN_PENSION_LOW_2014_T4, MIN_PENSION_LOW_2014_T4 + (net_pension_2-MIN_PENSION_LOW_2014_T4*0.97)/0.94, net_pension_2/0.97) - gross_pension_p: if(age>=18, gross_pension, 0) - gross_pension_2_p: if(age>=18, gross_pension_2, 0) @@ -1487,7 +1553,8 @@ entities: - csv('Period','First decile, share of labour income','First decile, share of labour and IFE income','Second decile, share of labour income','Second decile, share of labour and IFE income','Third decile, share of labour income','Third decile, share of labour and IFE income', 'Fourth decile, share of labour income','Fourth decile, share of labour and IFE income','Fifth decile, share of labour income','Fifth decile, share of labour and IFE income','Sixth decile, share of labour income','Sixth decile, share of labour and IFE income', 'Seventh decile, share of labour income','Seventh decile, share of labour and IFE income','Eigth decile, share of labour income','Eigth decile, share of labour and IFE income','Ninth decile, share of labour income','Ninth decile, share of labour and IFE income', - 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'Tenth decile, share of labour income','Tenth decile, share of labour and IFE income', + 'IFE share, First decile','IFE share, Second decile','IFE share, Third decile','IFE share, Fourth decile','IFE share, Fifth decile','IFE share, Sixth decile','IFE share, Seventh decile','IFE share, Eigth decile','IFE share, Ninth decile','IFE share, Tenth decile', fname='IFE_deciles_low_sedlac.csv',mode='a') ################################################################################################################ - csv('Period', 'Total_IFE_expenditure', 'Total_pension_expenditure', 'Total_labour_income', 'Total_fam_benefits', @@ -1610,12 +1677,12 @@ entities: # The same discounting indexes are used for the computation of the reference income for survivor's pensions and for retirement benefits. #As such, we use the pre-2016 and post-2016 (suffix _2) discounting rules - reference_income: if(retiree==1, gross_retirement, - if(regular_contributor, 0.7*((sum_itl_20_sal+sum_itl_20_ind)*GROSS_WAGE_CENTRAL_2014_T4/11802.61)/(sum_count_20_sal+sum_count_20_ind+sum_count_20_mono), - if(irregular_contributor, 0.5*((sum_itl_20_sal+sum_itl_20_ind)*GROSS_WAGE_CENTRAL_2014_T4/11802.61)/(sum_count_20_sal+sum_count_20_ind+sum_count_20_mono) + if(regular_contributor, 0.7*((sum_itl_20_sal+sum_itl_20_ind)*GROSS_WAGE_LOW_2014_T4/11802.61)/(sum_count_20_sal+sum_count_20_ind+sum_count_20_mono), + if(irregular_contributor, 0.5*((sum_itl_20_sal+sum_itl_20_ind)*GROSS_WAGE_LOW_2014_T4/11802.61)/(sum_count_20_sal+sum_count_20_ind+sum_count_20_mono) ,0))) - reference_income_2: if(retiree==1, gross_retirement, - if(regular_contributor, 0.7*((sum_itl_20_sal_2+sum_itl_20_ind_2)*GROSS_WAGE_CENTRAL_2014_T4/11802.61)/(sum_count_20_sal+sum_count_20_ind+sum_count_20_mono), - if(irregular_contributor, 0.5*((sum_itl_20_sal_2+sum_itl_20_ind_2)*GROSS_WAGE_CENTRAL_2014_T4/11802.61)/(sum_count_20_sal+sum_count_20_ind+sum_count_20_mono) + if(regular_contributor, 0.7*((sum_itl_20_sal_2+sum_itl_20_ind_2)*GROSS_WAGE_LOW_2014_T4/11802.61)/(sum_count_20_sal+sum_count_20_ind+sum_count_20_mono), + if(irregular_contributor, 0.5*((sum_itl_20_sal_2+sum_itl_20_ind_2)*GROSS_WAGE_LOW_2014_T4/11802.61)/(sum_count_20_sal+sum_count_20_ind+sum_count_20_mono) ,0))) #At this point, each living individual gets a reference income for survivor's pensions to be contributed were he to die in this period. @@ -1660,8 +1727,8 @@ entities: #pensions do not exceed the reference ("renta de referencia"). It cannot either exceed the maximum pension. - total_survivor_pensions: if(not dead, 0, if(total_survivor_pensions==0, 0, - if(total_survivor_pensionsMAX_PENSION_CENTRAL_2014_T4, MAX_PENSION_CENTRAL_2014_T4, total_survivor_pensions)))) + if(total_survivor_pensionsMAX_PENSION_LOW_2014_T4, MAX_PENSION_LOW_2014_T4, total_survivor_pensions)))) #We compute these pensions again following the discounting index in force since 2016 (suffix _2). - total_survivor_pensions_2: if(not dead, 0, if(partner_id==UNSET, @@ -1672,8 +1739,8 @@ entities: if(minor_children==2, reference_income_2*0.9, reference_income_2)))) - total_survivor_pensions_2: if(not dead, 0, if(total_survivor_pensions_2==0, 0, - if(total_survivor_pensions_2MAX_PENSION_CENTRAL_2014_T4, MAX_PENSION_CENTRAL_2014_T4, total_survivor_pensions_2)))) + if(total_survivor_pensions_2MAX_PENSION_LOW_2014_T4, MAX_PENSION_LOW_2014_T4, total_survivor_pensions_2)))) # 4- We determine the pensions given to the surviving partner and minor children. - pension_partner: if(partner.dead, @@ -1697,7 +1764,7 @@ entities: if(pension_ref_child_f==0, 0, pension_ref_child_f*PROPORTIONAL_PENSION_INCREASE+FIXED_SUM_INCREASE_2014_T4 ), - pension_ref_child_f*REAL_MOBILITY_CENTRAL + pension_ref_child_f*REAL_MOBILITY_LOW ) ) ) @@ -1710,7 +1777,7 @@ entities: if(pension_ref_child_m==0, 0, pension_ref_child_m*PROPORTIONAL_PENSION_INCREASE+FIXED_SUM_INCREASE_2014_T4 ), - pension_ref_child_m*REAL_MOBILITY_CENTRAL + pension_ref_child_m*REAL_MOBILITY_LOW ) ) ) @@ -1722,7 +1789,7 @@ entities: if(pension_ref_child_f_2==0, 0, pension_ref_child_f_2*PROPORTIONAL_PENSION_INCREASE+FIXED_SUM_INCREASE_2014_T4 ), - pension_ref_child_f_2*REAL_MOBILITY_CENTRAL + pension_ref_child_f_2*REAL_MOBILITY_LOW ) ) ) @@ -1734,7 +1801,7 @@ entities: if(pension_ref_child_m_2==0, 0, pension_ref_child_f_2*PROPORTIONAL_PENSION_INCREASE+FIXED_SUM_INCREASE_2014_T4 ), - pension_ref_child_m_2*REAL_MOBILITY_CENTRAL + pension_ref_child_m_2*REAL_MOBILITY_LOW ) ) ) @@ -1820,13 +1887,13 @@ entities: - gross_pension_child_2: pension_child_2_f + pension_child_2_m #Survivor's pensions contribute to the PAMI (elderly healthcare) just as retirement benefits. # Contributions to the PAMI are: 3% of the gross pension up to the minimum pension, then 6% of all income above the minimum pension. - - net_pension_child: if(gross_pension_child>=MIN_PENSION_CENTRAL_2014_T4, (gross_pension_child-MIN_PENSION_CENTRAL_2014_T4)*0.94+MIN_PENSION_CENTRAL_2014_T4*0.97, + - net_pension_child: if(gross_pension_child>=MIN_PENSION_LOW_2014_T4, (gross_pension_child-MIN_PENSION_LOW_2014_T4)*0.94+MIN_PENSION_LOW_2014_T4*0.97, gross_pension_child*0.94) - - net_pension_child_2: if(gross_pension_child_2>=MIN_PENSION_CENTRAL_2014_T4, (gross_pension_child_2-MIN_PENSION_CENTRAL_2014_T4)*0.94+MIN_PENSION_CENTRAL_2014_T4*0.97, + - net_pension_child_2: if(gross_pension_child_2>=MIN_PENSION_LOW_2014_T4, (gross_pension_child_2-MIN_PENSION_LOW_2014_T4)*0.94+MIN_PENSION_LOW_2014_T4*0.97, gross_pension_child_2*0.94) #We need to discount survivor's pensions following the mobility formula in force. We already did it for child benefits (we actualise the children's #pensions of reference each quarter), we do so for survivor's pensions for the spouse. As usual, we only actualise it if the pension did not just start to be paid. - - gross_pension_p: if(period!=70, pension_partner + gross_pension_p*REAL_MOBILITY_CENTRAL, + - gross_pension_p: if(period!=70, pension_partner + gross_pension_p*REAL_MOBILITY_LOW, if(gross_pension_p==0, if(pension_partner==0, 0, pension_partner @@ -1834,11 +1901,11 @@ entities: pension_partner +gross_pension_p*PROPORTIONAL_PENSION_INCREASE + FIXED_SUM_INCREASE_2014_T4 ) ) - - net_pension_p: if(gross_pension_p>=MIN_PENSION_CENTRAL_2014_T4, (gross_pension_p-MIN_PENSION_CENTRAL_2014_T4)*0.94+MIN_PENSION_CENTRAL_2014_T4*0.97, + - net_pension_p: if(gross_pension_p>=MIN_PENSION_LOW_2014_T4, (gross_pension_p-MIN_PENSION_LOW_2014_T4)*0.94+MIN_PENSION_LOW_2014_T4*0.97, gross_pension_p*0.94) - gross_pension: gross_pension_p + gross_pension_child - net_pension: net_pension_p + net_pension_child - - gross_pension_2_p: if(period!=70, pension_partner_2 + gross_pension_2_p*REAL_MOBILITY_CENTRAL, + - gross_pension_2_p: if(period!=70, pension_partner_2 + gross_pension_2_p*REAL_MOBILITY_LOW, if(gross_pension_2_p==0, if(pension_partner_2==0, 0, pension_partner_2 @@ -1846,18 +1913,18 @@ entities: pension_partner_2 + gross_pension_2_p*PROPORTIONAL_PENSION_INCREASE + FIXED_SUM_INCREASE_2014_T4 ) ) - - net_pension_2_p: if(gross_pension_2_p>=MIN_PENSION_CENTRAL_2014_T4, (gross_pension_2_p-MIN_PENSION_CENTRAL_2014_T4)*0.94+MIN_PENSION_CENTRAL_2014_T4*0.97, + - net_pension_2_p: if(gross_pension_2_p>=MIN_PENSION_LOW_2014_T4, (gross_pension_2_p-MIN_PENSION_LOW_2014_T4)*0.94+MIN_PENSION_LOW_2014_T4*0.97, gross_pension_2_p*0.94) - gross_pension_2: gross_pension_child_2 + gross_pension_2_p - net_pension_2: net_pension_child_2 + net_pension_2_p #We finally ensure no survivor's benefit is higher than the maximum pension. - - gross_pension: if(gross_pension>MAX_PENSION_CENTRAL_2014_T4, MAX_PENSION_CENTRAL_2014_T4, gross_pension) - - gross_pension_2: if(gross_pension_2>MAX_PENSION_CENTRAL_2014_T4, MAX_PENSION_CENTRAL_2014_T4, gross_pension_2) - - net_pension: if(gross_pension>MAX_PENSION_CENTRAL_2014_T4, - MIN_PENSION_CENTRAL_2014_T4*0.97+ (MAX_PENSION_CENTRAL_2014_T4-MIN_PENSION_CENTRAL_2014_T4)*0.94, + - gross_pension: if(gross_pension>MAX_PENSION_LOW_2014_T4, MAX_PENSION_LOW_2014_T4, gross_pension) + - gross_pension_2: if(gross_pension_2>MAX_PENSION_LOW_2014_T4, MAX_PENSION_LOW_2014_T4, gross_pension_2) + - net_pension: if(gross_pension>MAX_PENSION_LOW_2014_T4, + MIN_PENSION_LOW_2014_T4*0.97+ (MAX_PENSION_LOW_2014_T4-MIN_PENSION_LOW_2014_T4)*0.94, net_pension) - - net_pension_2: if(gross_pension_2>MAX_PENSION_CENTRAL_2014_T4, - MIN_PENSION_CENTRAL_2014_T4*0.97+ (MAX_PENSION_CENTRAL_2014_T4-MIN_PENSION_CENTRAL_2014_T4)*0.94, + - net_pension_2: if(gross_pension_2>MAX_PENSION_LOW_2014_T4, + MIN_PENSION_LOW_2014_T4*0.97+ (MAX_PENSION_LOW_2014_T4-MIN_PENSION_LOW_2014_T4)*0.94, net_pension_2) #We finally tag survivors benefits that are derived from a moratorium retirement pension. - check_partner: if(pension_partner==0, False, @@ -2324,10 +2391,10 @@ entities: #This is the labour-market state module, where we simulate transitions between five states: formal dependent labour, working in the formal independent sector, #informality, unemployment and inactivity. It is an alignment by sorting procedure, where we rank individuals depending on their propensity score of being #in one of the above states in t depending on his simulated characteristics for t and their labour-market situation in t-1. - #1- Some preliminary steps: we compute retirement pensions as a percentage of the gross wage taken in our scenario GROSS_WAGE_CENTRAL_2014_T4. Both discounted_v2_m and - #GROSS_WAGE_CENTRAL are in November 2014 pesos and discounted with the CPI. We also force people aged 15 or less or 70 or more into inactivity. + #1- Some preliminary steps: we compute retirement pensions as a percentage of the gross wage taken in our scenario GROSS_WAGE_LOW_2014_T4. Both discounted_v2_m and + #GROSS_WAGE_LOW are in November 2014 pesos and discounted with the CPI. We also force people aged 15 or less or 70 or more into inactivity. - - v2_m_bis: (lag(discounted_v2_m)+lag(sac_jp_net)+ lag(sac_up_net))/lag(GROSS_WAGE_CENTRAL_2014_T4) + - v2_m_bis: (lag(discounted_v2_m)+lag(sac_jp_net)+ lag(sac_up_net))/lag(GROSS_WAGE_LOW_2014_T4) - labour_market_state: if(150, - GROSS_WAGE_CENTRAL_2014_T4/11802.61*replacement_ratio*((sum_rent_aut/car_ind*ind_ponderation + sum_lag_sal/sum_count_40_sal*sal_ponderation)), + GROSS_WAGE_LOW_2014_T4/11802.61*replacement_ratio*((sum_rent_aut/car_ind*ind_ponderation + sum_lag_sal/sum_count_40_sal*sal_ponderation)), 0) - right_to_a_pension_2: if(car_sal+car_ind +car_mono_norref>0, - GROSS_WAGE_CENTRAL_2014_T4/11802.61*replacement_ratio*((sum_rent_aut_2/car_ind*ind_ponderation + sum_lag_sal_2/sum_count_40_sal*sal_ponderation)), + GROSS_WAGE_LOW_2014_T4/11802.61*replacement_ratio*((sum_rent_aut_2/car_ind*ind_ponderation + sum_lag_sal_2/sum_count_40_sal*sal_ponderation)), 0) #The right_to_a_pension variable corresponds to the sum of the PAP and the PC. To get the actual new pension, we add the PBU. Its value depends on the pension #mobility up to the studied period, which in turn depends (to some extent) on the evolution of wages. As such, the real PBU depends on the chosen economic #scenario. - - gross_retirement: if(new_contributory_pension, PBU_CENTRAL_2014_T4+ right_to_a_pension, + - gross_retirement: if(new_contributory_pension, PBU_LOW_2014_T4+ right_to_a_pension, gross_retirement) - - gross_retirement_2: if(new_contributory_pension, PBU_CENTRAL_2014_T4+ right_to_a_pension_2, + - gross_retirement_2: if(new_contributory_pension, PBU_LOW_2014_T4+ right_to_a_pension_2, gross_retirement_2) #We submit these retirement pensions to the minimum and maximum pensions in force for the period. - gross_retirement: if(new_contributory_pension, - if(gross_retirementMAX_PENSION_CENTRAL_2014_T4, MAX_PENSION_CENTRAL_2014_T4, + if(gross_retirementMAX_PENSION_LOW_2014_T4, MAX_PENSION_LOW_2014_T4, gross_retirement)), gross_retirement) - gross_retirement_2: if(new_contributory_pension, - if(gross_retirement_2MAX_PENSION_CENTRAL_2014_T4, MAX_PENSION_CENTRAL_2014_T4, + if(gross_retirement_2MAX_PENSION_LOW_2014_T4, MAX_PENSION_LOW_2014_T4, gross_retirement_2)), gross_retirement_2) #3- We compute pensions obtained through the Law 26970 moratorium. It is accessible for men and women since September 2014 and until September 2016 for the former, @@ -3303,7 +3370,7 @@ entities: # IGF stands for family-group income. The means-test we apply here is that if someone in the household earns more than the maximum individual income cap #or if the IGF exceeds the maximum household income cap for earning a family benefit, then that person cannot have a moratorium pension. - igf: household.igf_hh - - new_moratoria: if(household.max_itl_sal_hh>IND_FAM_CAP_CENTRAL or igf>FAM_CAP_CENTRAL_4, False, new_moratoria) + - new_moratoria: if(household.max_itl_sal_hh>IND_FAM_CAP_LOW or igf>FAM_CAP_LOW_4, False, new_moratoria) # Then, we compute the moratorium pension's amount. We assume all moratorium pensioners get the minimum benefit for the sake of simplicity. #The first five years, the moratorium pensioner earns 80% of the minimum pension (as per our hypothesis). We thus need to define the date where they started #earning a moratorium pension. @@ -3313,8 +3380,8 @@ entities: - moratorium_date: if(moratorium_date!=-1 and moratorium_date!=0, moratorium_date, if(age<60 or (male and age<65), -1, if(new_moratoria, period, - if(gross_retirement<=0.8*MIN_PENSION_CENTRAL_2014_T4 and (male and age<=70), period-age_quarters+65*4, - if(gross_retirement<=0.8*MIN_PENSION_CENTRAL_2014_T4 and (not male and age<=65), period-age_quarters+60*4, 0))))) + if(gross_retirement<=0.8*MIN_PENSION_LOW_2014_T4 and (male and age<=70), period-age_quarters+65*4, + if(gross_retirement<=0.8*MIN_PENSION_LOW_2014_T4 and (not male and age<=65), period-age_quarters+60*4, 0))))) #The Law 26970 was only available between periods 48 and 55 for men (Fourth quarter 2014- Third quarter 2016), and until period 67 for women (23d of July 2019 as per Art. 15 of Decree 894/2016) #As such, moratorium dates are only valid between these periods. #First, people that reach the minimum age outside of these periods cannot subscribe to a moratorium pension at all. @@ -3334,8 +3401,8 @@ entities: #Now we compute the moratorium pension earned by the beneficiaries. These are, following our hypothesis, either 80% of the minimum pension or the minimum #pension. As such, we do not need to increase them every period following the pension mobility index, as this is already done in our globals file. - moratorium_value: if(moratorium_date==0 or moratorium_date==-1, 0, - if(new_moratoria, MIN_PENSION_CENTRAL_2014_T4*0.8, - if((period-moratorium_date)>=20, MIN_PENSION_CENTRAL_2014_T4,MIN_PENSION_CENTRAL_2014_T4*0.8))) + if(new_moratoria, MIN_PENSION_LOW_2014_T4*0.8, + if((period-moratorium_date)>=20, MIN_PENSION_LOW_2014_T4,MIN_PENSION_LOW_2014_T4*0.8))) - gross_retirement: if(moratorium_date==0 or moratorium_date==-1, gross_retirement, moratorium_value) - gross_retirement_2: if(moratorium_date==0 or moratorium_date==-1, gross_retirement_2, moratorium_value) #4- We compute universal pension beneficiaries. These pensions were given starting from period 56 (fourth quarter of 2016) to people aged 65 or more @@ -3358,9 +3425,9 @@ entities: False))) - tag_pension_uni: if(forbid_pension_uni, False, tag_pension_uni) - liqui_retirement: if(tag_pension_uni, False, liqui_retirement) - - gross_retirement: if(tag_pension_uni, MIN_PENSION_CENTRAL_2014_T4*0.8, + - gross_retirement: if(tag_pension_uni, MIN_PENSION_LOW_2014_T4*0.8, gross_retirement) - - gross_retirement_2: if(tag_pension_uni, MIN_PENSION_CENTRAL_2014_T4*0.8, + - gross_retirement_2: if(tag_pension_uni, MIN_PENSION_LOW_2014_T4*0.8, gross_retirement_2) #5- We apply Art. 5 of the pension reform Law 27426, in force since the 29th of December 2017, that ensures a retirement pension at least equal to 82% of #the legal minimum wage for retirees with at least 30 years of contributions. @@ -3369,10 +3436,10 @@ entities: #to retire. Therefore, the 30 years of contributions are no longer a mandatory condition. - gross_retirement: if(period<62 or (not liqui_retirement) or moratorium_date<=0 or tag_pension_uni, gross_retirement, if((car_sal+car_ind+car_mono_norref)<(120-extra_trim/2), gross_retirement, - if(gross_retirement<0.82*MINIMUM_WAGE_CENTRAL_2014_T4, MINIMUM_WAGE_CENTRAL_2014_T4*0.82, gross_retirement))) + if(gross_retirement<0.82*MINIMUM_WAGE_LOW_2014_T4, MINIMUM_WAGE_LOW_2014_T4*0.82, gross_retirement))) - gross_retirement_2: if(period<62 or (not liqui_retirement) or moratorium_date<=0 or tag_pension_uni, gross_retirement_2, if((car_sal+car_ind+car_mono_norref)<(120-extra_trim/2), gross_retirement_2, - if(gross_retirement_2<0.82*MINIMUM_WAGE_CENTRAL_2014_T4, MINIMUM_WAGE_CENTRAL_2014_T4*0.82, gross_retirement_2))) + if(gross_retirement_2<0.82*MINIMUM_WAGE_LOW_2014_T4, MINIMUM_WAGE_LOW_2014_T4*0.82, gross_retirement_2))) #6- We actualise pensions given before this period following real pension mobility. We only do it for contributory pensions as both moratorium pensions and #universal pensions are a function of the minimum pension, that is already subject to real pension mobility in our globals file. New contributory pensions #are excluded (they are not discounted following pension mobility the very same quarter they are first given). @@ -3392,7 +3459,7 @@ entities: if(gross_retirement==0, 0, gross_retirement*PROPORTIONAL_PENSION_INCREASE+FIXED_SUM_INCREASE_2014_T4 ), - gross_retirement*REAL_MOBILITY_CENTRAL + gross_retirement*REAL_MOBILITY_LOW ) ) ) @@ -3402,7 +3469,7 @@ entities: if(gross_retirement_2==0, 0, gross_retirement_2*PROPORTIONAL_PENSION_INCREASE+FIXED_SUM_INCREASE_2014_T4 ), - gross_retirement_2*REAL_MOBILITY_CENTRAL + gross_retirement_2*REAL_MOBILITY_LOW ) ) @@ -3411,16 +3478,16 @@ entities: #We exclude moratorium pensions, universal pensions and survivors' pensions from this correction. The former two are often lower than the minimum pension. - gross_retirement: if(tag_pension_uni or moratorium_date>0 or gross_retirement==0 , gross_retirement, - if(gross_retirementMAX_PENSION_CENTRAL_2014_T4, MAX_PENSION_CENTRAL_2014_T4, gross_retirement))) + if(gross_retirementMAX_PENSION_LOW_2014_T4, MAX_PENSION_LOW_2014_T4, gross_retirement))) - gross_retirement_2: if(tag_pension_uni or moratorium_date>0 or gross_retirement_2==0 , gross_retirement_2, - if(gross_retirement_2MAX_PENSION_CENTRAL_2014_T4, MAX_PENSION_CENTRAL_2014_T4, gross_retirement_2))) + if(gross_retirement_2MAX_PENSION_LOW_2014_T4, MAX_PENSION_LOW_2014_T4, gross_retirement_2))) #8- We output retirement pensions net of the compulsory contributions to the PAMI. These are 6% of the gross pension for earnings above the minimum pension and #3% for earnings below it. - - net_retirement: if(gross_retirement>=MIN_PENSION_CENTRAL_2014_T4, (gross_retirement-MIN_PENSION_CENTRAL_2014_T4)*0.94+MIN_PENSION_CENTRAL_2014_T4*0.97, + - net_retirement: if(gross_retirement>=MIN_PENSION_LOW_2014_T4, (gross_retirement-MIN_PENSION_LOW_2014_T4)*0.94+MIN_PENSION_LOW_2014_T4*0.97, (gross_retirement)*0.97) - - net_retirement_2: if(gross_retirement_2>=MIN_PENSION_CENTRAL_2014_T4, (gross_retirement_2-MIN_PENSION_CENTRAL_2014_T4)*0.94+MIN_PENSION_CENTRAL_2014_T4*0.97, + - net_retirement_2: if(gross_retirement_2>=MIN_PENSION_LOW_2014_T4, (gross_retirement_2-MIN_PENSION_LOW_2014_T4)*0.94+MIN_PENSION_LOW_2014_T4*0.97, (gross_retirement_2)*0.97) #We also mimic the v2_m variable of the EPHc, that combines retirement pension and survivor's benefits income. We assume individuals declare #their net pension (how much pension income they actually earn each month). @@ -3430,9 +3497,9 @@ entities: - discounted_v2_m_2: if(net_pension_2>=0, discounted_v2_m_2 + net_pension_2, discounted_v2_m_2) #We finally compute the sum of gross retirement and pension income. This is how much ANSES actually pays in retirement pensions, including #transfers to the PAMI. - - disc_cost_v2_m: if(discounted_v2_m>=MIN_PENSION_CENTRAL_2014_T4, MIN_PENSION_CENTRAL_2014_T4+(discounted_v2_m-MIN_PENSION_CENTRAL_2014_T4*0.97)/0.94, + - disc_cost_v2_m: if(discounted_v2_m>=MIN_PENSION_LOW_2014_T4, MIN_PENSION_LOW_2014_T4+(discounted_v2_m-MIN_PENSION_LOW_2014_T4*0.97)/0.94, discounted_v2_m/0.97) - - disc_cost_v2_m_2: if(discounted_v2_m_2>=MIN_PENSION_CENTRAL_2014_T4, MIN_PENSION_CENTRAL_2014_T4+(discounted_v2_m_2-MIN_PENSION_CENTRAL_2014_T4*0.97)/0.94, + - disc_cost_v2_m_2: if(discounted_v2_m_2>=MIN_PENSION_LOW_2014_T4, MIN_PENSION_LOW_2014_T4+(discounted_v2_m_2-MIN_PENSION_LOW_2014_T4*0.97)/0.94, discounted_v2_m_2/0.97) #9- We compute the thirteenth month for retirees and pensioners (available to all pensioners, even recipients of the universal pension). - modulo_period: period % 4 @@ -3450,14 +3517,14 @@ entities: - sac_jp_gross_2: if(modulo_period==1 or modulo_period==3,0, if(gross_pension_2>=0, sac_jp_gross_2+gross_pension_2/6, sac_jp_gross_2)) #The thirteenth month also pays compulsory PAMI contributions. - - sac_jp_net: if((gross_retirement+gross_pension)>=MIN_PENSION_CENTRAL_2014_T4, sac_jp_gross*0.94, + - sac_jp_net: if((gross_retirement+gross_pension)>=MIN_PENSION_LOW_2014_T4, sac_jp_gross*0.94, sac_jp_gross*0.97) - - sac_jp_net_2: if((gross_retirement_2+gross_pension_2)>=MIN_PENSION_CENTRAL_2014_T4, sac_jp_gross_2*0.94, + - sac_jp_net_2: if((gross_retirement_2+gross_pension_2)>=MIN_PENSION_LOW_2014_T4, sac_jp_gross_2*0.94, sac_jp_gross_2*0.97) #10- We compute separately the universal pension's level. This is important because this benefit is not de jure funded by the ANSES but by #the federal budget. - universal_gross_pension: if(not tag_pension_uni, 0, - MIN_PENSION_CENTRAL_2014_T4*0.8) + MIN_PENSION_LOW_2014_T4*0.8) #Universal pensioners are covered by the PAMI. They therefore contribute to the PAMI. - universal_net_pension: universal_gross_pension*0.97 #Non contributive pensions also get a thirteenth month. The universal pension for the elderly adult is a non contributive pension. Therefore, @@ -3494,8 +3561,8 @@ entities: #because they are de jure considered inactive in the field of family benefits. - birth_benefit: if(newborn==0,0, if((not mother.private_sector_we) and (not father.private_sector_we), 0, - if(mother.discounted_itl_sal_gross>IND_FAM_CAP_CENTRAL or father.discounted_itl_sal_gross>IND_FAM_CAP_CENTRAL, 0, - if(igf>FAM_CAP_CENTRAL_4, 0, BIRTH_BEN_CENTRAL )))) + if(mother.discounted_itl_sal_gross>IND_FAM_CAP_LOW or father.discounted_itl_sal_gross>IND_FAM_CAP_LOW, 0, + if(igf>FAM_CAP_LOW_4, 0, BIRTH_BEN_LOW )))) #3- We compute pregnancy benefits. These are the pre-natal benefit, given to formal private sector wage-earners and monotributistas, and the #"Asignación por pregnancy_sp para Protección Social" , or Pregnancy benefit for Social Protection, for pregnant women that are unemployed or working in the informal sector. #Labour-market conditions for granting this benefit apply to both members of the couple. So for instance if the father is a formal wage-earner and @@ -3507,25 +3574,25 @@ entities: #Finally, civil servants are excluded from this pre-natal benefit because they are de jure considered inactive for family benefits purposes. - prenatal: if(newborn==0, 0, if((not mother.private_sector_we) and (not father.private_sector_we), 0, - if((mother.discounted_itl_sal_gross + mother.discounted_v2_m + mother.rent_aut)>IND_FAM_CAP_CENTRAL or (father.discounted_itl_sal_gross + father.rent_aut+ father.discounted_v2_m)>IND_FAM_CAP_CENTRAL, 0, - if(igf<=FAM_CAP_CENTRAL_1,CHILD_BEN_CENTRAL_1*9, - if(igf<=FAM_CAP_CENTRAL_2,CHILD_BEN_CENTRAL_2*9, - if(igf<=FAM_CAP_CENTRAL_3,CHILD_BEN_CENTRAL_3*9, - if(igf<=FAM_CAP_CENTRAL_4,CHILD_BEN_CENTRAL_4*9,0))))))) + if((mother.discounted_itl_sal_gross + mother.discounted_v2_m + mother.rent_aut)>IND_FAM_CAP_LOW or (father.discounted_itl_sal_gross + father.rent_aut+ father.discounted_v2_m)>IND_FAM_CAP_LOW, 0, + if(igf<=FAM_CAP_LOW_1,CHILD_BEN_LOW_1*9, + if(igf<=FAM_CAP_LOW_2,CHILD_BEN_LOW_2*9, + if(igf<=FAM_CAP_LOW_3,CHILD_BEN_LOW_3*9, + if(igf<=FAM_CAP_LOW_4,CHILD_BEN_LOW_4*9,0))))))) #Since period 54 (May 2016), the pre-natal benefit is accessible to some categories of the simplified tax-payers regime (Monotributo). - prenatal: if(newborn==0, prenatal, if(period<54, prenatal, if((1>father.monotributo_cat or father.monotributo_cat>8) and (mother.monotributo_cat<1 or mother.monotributo_cat>8), prenatal, - if(father.monotributo_cat==8 or mother.monotributo_cat==8, CHILD_BEN_CENTRAL_4*9, - if(father.monotributo_cat==7 or mother.monotributo_cat==7, CHILD_BEN_CENTRAL_3*9, - if(father.monotributo_cat==6 or mother.monotributo_cat==6, CHILD_BEN_CENTRAL_2*9, - CHILD_BEN_CENTRAL_1*9)))))) + if(father.monotributo_cat==8 or mother.monotributo_cat==8, CHILD_BEN_LOW_4*9, + if(father.monotributo_cat==7 or mother.monotributo_cat==7, CHILD_BEN_LOW_3*9, + if(father.monotributo_cat==6 or mother.monotributo_cat==6, CHILD_BEN_LOW_2*9, + CHILD_BEN_LOW_1*9)))))) #The pregnancy for social protection benefit (variable pregnancy_sp) is paid to pregnant women that are informal or unemployed. Inactive women do not #get the benefit. If the pregnant woman has a partner, the latter's characteristics are taken into account before granting the pregnancy benefit. - pregnancy_sp: if(newborn==0, 0, if(mother.labour_market_state==1 or mother.lag_count_ind_1==1 or mother.lag_mono_1==1 or father.labour_market_state==1 or father.lag_count_ind_1==1 or father.lag_mono_1==1, 0, if(mother.labour_market_state==5 and father.labour_market_state==5, 0, - CHILD_BEN_CENTRAL_1*9))) + CHILD_BEN_LOW_1*9))) - pregnancy_sp: if(father_id!=UNSET and mother_id!=UNSET, pregnancy_sp, if(father_id==UNSET, if(mother.labour_market_state==5, 0, pregnancy_sp), @@ -3544,11 +3611,11 @@ entities: - child_benefit: if(father_id==UNSET or mother_id==UNSET, 0, if(age>=18 or labour_market_state==1 or labour_market_state==2 or lag_count_ind_1==1 or lag_mono_1==1, 0, if(mother.labour_market_state!=1 and father.labour_market_state!=1 and mother.liqui_retirement==False and father.liqui_retirement==False, 0, - if(household.max_itl_sal_hh>IND_FAM_CAP_CENTRAL, 0, - if(igf<=FAM_CAP_CENTRAL_1 and ((mother.igf_parents + father.igf_parents)<=FAM_CAP_CENTRAL_1), CHILD_BEN_CENTRAL_1, - if(igf<=FAM_CAP_CENTRAL_2 and ((mother.igf_parents + father.igf_parents)<=FAM_CAP_CENTRAL_2),CHILD_BEN_CENTRAL_2, - if(igf<=FAM_CAP_CENTRAL_3 and ((mother.igf_parents + father.igf_parents)<=FAM_CAP_CENTRAL_3),CHILD_BEN_CENTRAL_3, - if(igf<=FAM_CAP_CENTRAL_4 and ((mother.igf_parents + father.igf_parents)<=FAM_CAP_CENTRAL_4),CHILD_BEN_CENTRAL_4,0)))))))) + if(household.max_itl_sal_hh>IND_FAM_CAP_LOW, 0, + if(igf<=FAM_CAP_LOW_1 and ((mother.igf_parents + father.igf_parents)<=FAM_CAP_LOW_1), CHILD_BEN_LOW_1, + if(igf<=FAM_CAP_LOW_2 and ((mother.igf_parents + father.igf_parents)<=FAM_CAP_LOW_2),CHILD_BEN_LOW_2, + if(igf<=FAM_CAP_LOW_3 and ((mother.igf_parents + father.igf_parents)<=FAM_CAP_LOW_3),CHILD_BEN_LOW_3, + if(igf<=FAM_CAP_LOW_4 and ((mother.igf_parents + father.igf_parents)<=FAM_CAP_LOW_4),CHILD_BEN_LOW_4,0)))))))) #Since May 2016, contributory family benefits are accessible to the monotributistas. Art. 5 of Decree 593/2016 granting access to child benefits to #monotributistas says however if a child benefit can be given because one of the family members is a registered wage-earner, it becomes #impossible to earn a family benefit intended for the monotributista. We thus compute monotributistas' family benefit for family groups where there is @@ -3562,32 +3629,32 @@ entities: if(period<54 or child_benefit>0, child_benefit, if(household.wage_earners_hh>0 or household.autonomous_hh>0 or household.monotributistas_hh==0, child_benefit, if(household.max_monotributo_cat_hh==9 or mother.monotributo_cat==9 or father.monotributo_cat==9, child_benefit, - if(household.max_monotributo_cat_hh==8 or mother.monotributo_cat==8 or father.monotributo_cat==8, CHILD_BEN_CENTRAL_4, - if(household.max_monotributo_cat_hh==7 or mother.monotributo_cat==7 or father.monotributo_cat==7, CHILD_BEN_CENTRAL_3, - if(household.max_monotributo_cat_hh==6 or mother.monotributo_cat==6 or father.monotributo_cat==6, CHILD_BEN_CENTRAL_2, - if(household.max_monotributo_cat_hh<=5 and household.max_monotributo_cat_hh>=1, CHILD_BEN_CENTRAL_1, + if(household.max_monotributo_cat_hh==8 or mother.monotributo_cat==8 or father.monotributo_cat==8, CHILD_BEN_LOW_4, + if(household.max_monotributo_cat_hh==7 or mother.monotributo_cat==7 or father.monotributo_cat==7, CHILD_BEN_LOW_3, + if(household.max_monotributo_cat_hh==6 or mother.monotributo_cat==6 or father.monotributo_cat==6, CHILD_BEN_LOW_2, + if(household.max_monotributo_cat_hh<=5 and household.max_monotributo_cat_hh>=1, CHILD_BEN_LOW_1, child_benefit)))))))))) #We then compute child benefits for children for whom we don't know who at least one of their parents is. We use only the family-group income to perform #the means test, since we cannot add the income of both parents as we did earlier. - child_benefit: if(child_benefit>0, child_benefit, - if(age>=18 or labour_market_state==1 or labour_market_state==2 or household.max_itl_sal_hh>IND_FAM_CAP_CENTRAL or lag_count_ind_1==1 or lag_mono_1==1, 0, + if(age>=18 or labour_market_state==1 or labour_market_state==2 or household.max_itl_sal_hh>IND_FAM_CAP_LOW or lag_count_ind_1==1 or lag_mono_1==1, 0, if(mother_id!=UNSET and father_id!=UNSET, child_benefit, if(household.wage_earners_hh==0 and ((mother_id==UNSET and father_id==UNSET) or ((mother_id!=UNSET or father_id!=UNSET) and( mother.liqui_retirement==False and father.liqui_retirement==False))), 0, - if(igf<=FAM_CAP_CENTRAL_1,CHILD_BEN_CENTRAL_1, - if(igf<=FAM_CAP_CENTRAL_2,CHILD_BEN_CENTRAL_2, - if(igf<=FAM_CAP_CENTRAL_3,CHILD_BEN_CENTRAL_3, - if(igf<=FAM_CAP_CENTRAL_4,CHILD_BEN_CENTRAL_4,0)))))))) + if(igf<=FAM_CAP_LOW_1,CHILD_BEN_LOW_1, + if(igf<=FAM_CAP_LOW_2,CHILD_BEN_LOW_2, + if(igf<=FAM_CAP_LOW_3,CHILD_BEN_LOW_3, + if(igf<=FAM_CAP_LOW_4,CHILD_BEN_LOW_4,0)))))))) #Finally, we compute child benefits for children that have at least one unknown parent but may get a monotributo-related family benefit. - child_benefit: if(mother_id!=UNSET and father_id!=UNSET, child_benefit, if(age>=18 or labour_market_state==1 or labour_market_state==2 or lag_mono_1==1, 0, if(period<54, child_benefit, if(household.wage_earners_hh>0 or household.autonomous_hh>0 or household.monotributistas_hh==0, child_benefit, if(household.max_monotributo_cat_hh==9 or mother.monotributo_cat==9 or father.monotributo_cat==9, child_benefit, - if(household.max_monotributo_cat_hh==8 or mother.monotributo_cat==8 or father.monotributo_cat==8, CHILD_BEN_CENTRAL_4, - if(household.max_monotributo_cat_hh==7 or mother.monotributo_cat==7 or father.monotributo_cat==7, CHILD_BEN_CENTRAL_3, - if(household.max_monotributo_cat_hh==6 or mother.monotributo_cat==6 or father.monotributo_cat==6, CHILD_BEN_CENTRAL_2, - if(household.max_monotributo_cat_hh<=5 and household.max_monotributo_cat_hh>=1, CHILD_BEN_CENTRAL_1, + if(household.max_monotributo_cat_hh==8 or mother.monotributo_cat==8 or father.monotributo_cat==8, CHILD_BEN_LOW_4, + if(household.max_monotributo_cat_hh==7 or mother.monotributo_cat==7 or father.monotributo_cat==7, CHILD_BEN_LOW_3, + if(household.max_monotributo_cat_hh==6 or mother.monotributo_cat==6 or father.monotributo_cat==6, CHILD_BEN_LOW_2, + if(household.max_monotributo_cat_hh<=5 and household.max_monotributo_cat_hh>=1, CHILD_BEN_LOW_1, child_benefit))))))))) #5- We compute the Universal Child Benefit or AUH. It is open to the children of parents that are both either unregistered workers or unemployed. #Children that do not attend school, are married or formal workers are excluded from the AUH. @@ -3595,7 +3662,7 @@ entities: if(age>=16 and(not student or (marital_status!=5 and marital_status!=1)), 0, if(mother.labour_market_state==1 or mother.lag_count_ind_1==1 or mother.lag_mono_1==1 or mother.liqui_retirement or father.labour_market_state==1 or father.lag_count_ind_1==1 or father.lag_mono_1==1 or father.liqui_retirement, 0, if(mother.labour_market_state==5 and father.labour_market_state==5, 0, - CHILD_BEN_CENTRAL_1)))) + CHILD_BEN_LOW_1)))) - auh: if(father_id!=UNSET and mother_id!=UNSET, auh, if(father_id==UNSET, if(mother.labour_market_state==5, 0, auh), @@ -3656,30 +3723,30 @@ entities: #We assume children attend school since age 5. - tag_school_aid: if(age>=18 or age<5 or not student or modulo_period!=1, False, if(child_benefit>0, True,False)) - - school_aid: if(tag_school_aid, SCHOOL_AID_CENTRAL, 0) + - school_aid: if(tag_school_aid, SCHOOL_AID_LOW, 0) #Decree 540/2015 extended access to the school aid to AUH beneficiaries since April 2015. #For 2015, the benefit was paid exceptionnally on April. - tag_school_aid_auh: if(age>=18 or not student or (modulo_period!=1 and period!=50) or age<5, False, if(period<50 or tag_school_aid, False, if(auh>0, True, False))) - - school_aid: if(tag_school_aid_auh, SCHOOL_AID_CENTRAL, school_aid) + - school_aid: if(tag_school_aid_auh, SCHOOL_AID_LOW, school_aid) #7- The wedding benefit is only for wage-earners. It is accumulative (if both spouses are eligible to the benefit, the two of them get the #benefit at the same time) and can only be given for workers that have more than 6 months of seniority. - wedding_benefit: if(marital_status!=2 or lag(marital_status)==2 or partner_id==UNSET, 0, - if(discounted_itl_sal_gross>IND_FAM_CAP_CENTRAL or partner.discounted_itl_sal_gross>IND_FAM_CAP_CENTRAL, 0, - if(igf>FAM_CAP_CENTRAL_4, 0, + if(discounted_itl_sal_gross>IND_FAM_CAP_LOW or partner.discounted_itl_sal_gross>IND_FAM_CAP_LOW, 0, + if(igf>FAM_CAP_LOW_4, 0, if(labour_market_state!=1 or quarterly_seniority<3, 0, - MAR_BEN_CENTRAL)))) + MAR_BEN_LOW)))) #8- The spouse benefit is reserved for the spouses of SIPA beneficiaries and of national civil servants. We exclude children of the deceased that earn a #survivor's benefit - SIPA_beneficiary: if(liqui_retirement, True, if(net_pension_p>0 or net_pension_2_p>0, True, False)) - - spouse_benefit: if(discounted_itl_sal_gross>IND_FAM_CAP_CENTRAL or partner.discounted_itl_sal_gross>IND_FAM_CAP_CENTRAL or household.max_itl_sal_hh>IND_FAM_CAP_CENTRAL, 0, - if(igf>FAM_CAP_CENTRAL_4, 0, + - spouse_benefit: if(discounted_itl_sal_gross>IND_FAM_CAP_LOW or partner.discounted_itl_sal_gross>IND_FAM_CAP_LOW or household.max_itl_sal_hh>IND_FAM_CAP_LOW, 0, + if(igf>FAM_CAP_LOW_4, 0, if(partner_id==UNSET or marital_status!=2, 0, - if(partner.public_sector_we or partner.SIPA_beneficiary, SPOUSE_BEN_CENTRAL, + if(partner.public_sector_we or partner.SIPA_beneficiary, SPOUSE_BEN_LOW, 0)))) #9- We add up all family benefits into variable discounted_v5_m, that mimics EPHc's V5_M variable. The latter includes all subsidies or social help #paid by the government or other bodies (such as the Church, NGOs, etc.). It generally includes all family benefits. @@ -3988,10 +4055,10 @@ entities: # and January 2020, we input the real value for these months when taking into account the bonus that was actually paid. - decree_79_2019_bonus: if(period==69, if(has_any_benefit, - if(disc_cost_v2_m_2 > MIN_PENSION_CENTRAL_2014_T4 + 990.43, 0, - if(disc_cost_v2_m_2<=MIN_PENSION_CENTRAL_2014_T4, + if(disc_cost_v2_m_2 > MIN_PENSION_LOW_2014_T4 + 990.43, 0, + if(disc_cost_v2_m_2<=MIN_PENSION_LOW_2014_T4, 1036.02/3 + 1024.1/3, - (MIN_PENSION_CENTRAL_2014_T4 + 1036.02 - disc_cost_v2_m_2)/3 + (MIN_PENSION_CENTRAL_2014_T4 + 1024.1 - disc_cost_v2_m_2)/3 + (MIN_PENSION_LOW_2014_T4 + 1036.02 - disc_cost_v2_m_2)/3 + (MIN_PENSION_LOW_2014_T4 + 1024.1 - disc_cost_v2_m_2)/3 ) ), 0 ), 0