*********** Mise à jour de la population et des revenus pour l'année 200x *********** Choix de l'année de mise à jour dans do_appel_parametres *********** Choix du répertoire racine dans do_appel_parametres (à exécuter en premier) clear set mem 500m set more off /******** appel des paramètres*/ do Programmes/do_appel_parametres /**************************phase 1: mise à jour de indiv_demo_200x */ /**************phase 1-1: calage de la population */ use Fichiers/original/indiv_demo_2006, clear egen n_pop18etplus_sim=total(pondv/1000000) egen n_pop18_sim=total(pondv*cond(age==18,1,0)/1000000) egen n_pop19_sim=total(pondv*cond(age==19,1,0)/1000000) replace pondv=pondv*$n_pop18/n_pop18_sim if age==18 replace pondv=pondv*$n_pop19/n_pop19_sim if age==19 replace pondv=pondv*($n_pop18etplus-$n_pop18-$n_pop19)/(n_pop18etplus_sim-n_pop18_sim-n_pop19_sim) if age>19 replace naiss=$annee-age-1 /*************phase 1-2: calage des masses de revenus */ egen masse_sal_irpp_sim=total(sal_irpp*pondv/1000000000) replace sal_irpp=sal_irpp*$masse_sal_irpp/masse_sal_irpp_sim egen masse_nonsal_irpp_sim=total(nonsal_irpp*pondv/1000000000) replace nonsal_irpp=nonsal_irpp*$masse_nonsal_irpp/masse_nonsal_irpp_sim replace ya_irpp=sal_irpp+nonsal_irpp egen masse_pension_irpp_sim=total(pension_irpp*pondv/1000000000) replace pension_irpp=pension_irpp*$masse_pension_irpp/masse_pension_irpp_sim egen masse_chom_irpp_sim=total(chom_irpp*pondv/1000000000) replace chom_irpp=chom_irpp*$masse_chom_irpp/masse_chom_irpp_sim replace yr_irpp=pension_irpp+chom_irpp /***********phase 1-3: sauvegarde du fichier mis à jour pour l'année souhaitée*/ drop n_pop* masse* sort id_indiv save Fichiers/indiv_demo_$annee, replace /***************************phase 2: mise à jour de indiv_logt_200x */ /**************phase 2-1: variables reprises du fichier demo*/ use Fichiers/indiv_demo_$annee, clear keep id_indiv pondv sort id_indiv merge id_indiv using Fichiers/original/indiv_logt_2006 drop _merge /**************phase 2-2: calage des masses de loyers*/ egen masse_loyer_conso_sim=total((loyer_fictif+loyer_marche)*pondv/1000000000) replace loyer_fictif=loyer_fictif*$masse_loyer_conso_cn/masse_loyer_conso_sim replace loyer_marche=loyer_marche*$masse_loyer_conso_cn/masse_loyer_conso_sim replace loyer_verse=loyer_verse*$masse_loyer_conso_cn/masse_loyer_conso_sim replace loyer_conso=loyer_conso*$masse_loyer_conso_cn/masse_loyer_conso_sim replace loyer_fictif_men=loyer_fictif_men*$masse_loyer_conso_cn/masse_loyer_conso_sim replace loyer_marche_men=loyer_marche_men*$masse_loyer_conso_cn/masse_loyer_conso_sim replace loyer_verse_men=loyer_verse_men*$masse_loyer_conso_cn/masse_loyer_conso_sim replace loyer_conso_men=loyer_conso_men*$masse_loyer_conso_cn/masse_loyer_conso_sim /***********phase 2-3: sauvegarde du fichier mis à jour pour l'année souhaitée*/ drop masse* sort id_indiv save Fichiers/indiv_logt_$annee, replace /***************************phase 3: mise à jour de indiv_rev_200x */ /**************phase 3-1: variables repris du fichier demo*/ use Fichiers/indiv_demo_$annee, clear keep id_indiv pondv ya_irpp sal_irpp nonsal_irpp yr_irpp pension_irpp chom_irpp sort id_indiv merge id_indiv using Fichiers/original/indiv_rev_2006 drop _merge /**************phase 3-2: calage des masses de revenus*/ /******revenus d'activité non salariés*/ egen masse_ba_irpp_sim=total(ba_irpp*pondv/1000000000) replace ba_irpp=ba_irpp*$masse_ba_irpp/masse_ba_irpp_sim egen masse_bic_irpp_sim=total(bic_irpp*pondv/1000000000) replace bic_irpp=bic_irpp*$masse_bic_irpp/masse_bic_irpp_sim egen masse_bnc_irpp_sim=total(bnc_irpp*pondv/1000000000) replace bnc_irpp=bnc_irpp*$masse_bnc_irpp/masse_bnc_irpp_sim egen masse_nonsalexo_irpp_sim=total(nonsalexo_irpp*pondv/1000000000) replace nonsalexo_irpp=nonsalexo_irpp*$masse_nonsalexo_irpp/masse_nonsalexo_irpp_sim /******revenus fonciers*/ egen masse_rfon_normal_irpp_sim=total(rfon_normal_irpp*pondv/1000000000) replace rfon_normal_irpp=rfon_normal_irpp*$masse_rfon_normal_irpp/masse_rfon_normal_irpp_sim egen masse_rfon_micro_irpp_sim=total(rfon_micro_irpp*pondv/1000000000) replace rfon_micro_irpp=rfon_micro_irpp*$masse_rfon_micro_irpp/masse_rfon_micro_irpp_sim replace rfon_irpp=rfon_normal_irpp+(1-$abt_micro_fon)*rfon_micro_irpp /******revenus financiers*/ /**revenus barème*/ egen masse_rfin_div_bar_irpp_sim=total(rfin_div_bar_irpp*pondv/1000000000) replace rfin_div_bar_irpp=rfin_div_bar_irpp*$masse_rfin_div_bar_irpp/masse_rfin_div_bar_irpp_sim egen masse_rfin_int_bar_irpp_sim=total(rfin_int_bar_irpp*pondv/1000000000) replace rfin_int_bar_irpp=rfin_int_bar_irpp*$masse_rfin_int_bar_irpp/masse_rfin_int_bar_irpp_sim egen masse_rfin_av_bar_irpp_sim=total(rfin_av_bar_irpp*pondv/1000000000) replace rfin_av_bar_irpp=rfin_av_bar_irpp*$masse_rfin_av_bar_irpp/masse_rfin_av_bar_irpp_sim /**revenus pl*/ replace rfin_div_pl_irpp=rfin_div_bar_irpp egen masse_rfin_div_pl_irpp_sim=total(rfin_div_pl_irpp*pondv/1000000000) replace rfin_div_pl_irpp=rfin_div_pl_irpp*$masse_rfin_div_pl_irpp/masse_rfin_div_pl_irpp_sim egen masse_rfin_int_pl_irpp_sim=total(rfin_int_pl_irpp*pondv/1000000000) replace rfin_int_pl_irpp=rfin_int_pl_irpp*$masse_rfin_int_pl_irpp/masse_rfin_int_pl_irpp_sim egen masse_rfin_av_pl_irpp_sim=total(rfin_av_pl_irpp*pondv/1000000000) replace rfin_av_pl_irpp=rfin_av_pl_irpp*$masse_rfin_av_pl_irpp/masse_rfin_av_pl_irpp_sim /**plus-values*/ egen masse_rfin_pv_normal_sim=total(rfin_pv_normal_irpp*pondv/1000000000) replace rfin_pv_normal_irpp=rfin_pv_normal_irpp*$masse_rfin_pv_normal/masse_rfin_pv_normal_sim egen masse_rfin_pv_options1_sim=total(rfin_pv_options1_irpp*pondv/1000000000) replace rfin_pv_options1_irpp=rfin_pv_options1_irpp*$masse_rfin_pv_options1/masse_rfin_pv_options1_sim egen masse_rfin_pv_options2_sim=total(rfin_pv_options2_irpp*pondv/1000000000) replace rfin_pv_options2_irpp=rfin_pv_options2_irpp*$masse_rfin_pv_options2/masse_rfin_pv_options2_sim egen masse_rfin_pv_exo_sim=total(rfin_pv_exo_irpp*pondv/1000000000) replace rfin_pv_exo_irpp=rfin_pv_exo_irpp*$masse_rfin_pv_exo/masse_rfin_pv_exo_sim egen masse_rfin_pv_pro_sim=total(rfin_pv_pro_irpp*pondv/1000000000) replace rfin_pv_pro_irpp=rfin_pv_pro_irpp*$masse_rfin_pv_pro/masse_rfin_pv_pro_sim egen masse_rfin_pv_pro_exo_sim=total(rfin_pv_pro_exo_irpp*pondv/1000000000) replace rfin_pv_pro_exo_irpp=rfin_pv_pro_exo_irpp*$masse_rfin_pv_pro_exo/masse_rfin_pv_pro_exo_sim /**autres*/ egen masse_rfin_pea_exo_irpp_sim=total(rfin_pea_exo_irpp*pondv/1000000000) replace rfin_pea_exo_irpp=rfin_pea_exo_irpp*$masse_rfin_pea_exo_irpp/masse_rfin_pea_exo_irpp_sim replace rfin_bar_irpp=rfin_div_bar_irpp+rfin_int_bar_irpp+rfin_av_bar_irpp replace rfin_pl_irpp=rfin_div_pl_irpp+rfin_int_pl_irpp+rfin_av_pl_irpp replace rfin_pv_irpp=rfin_pv_normal_irpp+rfin_pv_options1_irpp+rfin_pv_options2_irpp+rfin_pv_exo_irpp+rfin_pv_pro_irpp+rfin_pv_pro_exo_irpp replace rfin_irpp=rfin_bar_irpp+rfin_pl_irpp+rfin_pv_irpp replace yk_irpp=rfon_irpp+rfin_irpp replace y_irpp=ya_irpp+yr_irpp+yk_irpp /***********phase 3-3: sauvegarde du fichier mis à jour pour l'année souhaitée*/ drop masse* sort id_indiv save Fichiers/indiv_rev_$annee, replace /*****************************phase 4: mise à jour de indiv_conj_200x*/ /**************phase 4-1: variables reprises du fichier démo*/ use Fichiers/indiv_demo_$annee, clear keep id_indiv pondv decl sort id_indiv merge id_indiv using Fichiers/original/indiv_conj_2006 drop _merge /**************phase 4-2: calage des masses de revenus*/ /***revenus d'activité*/ egen masse_sal_irpp_sim=total(sal_irpp_foy*decl*pondv/1000000000) replace sal_irpp_conj=sal_irpp_conj*$masse_sal_irpp/masse_sal_irpp_sim replace sal_irpp_pac=sal_irpp_pac*$masse_sal_irpp/masse_sal_irpp_sim replace sal_irpp_foy=sal_irpp_foy*$masse_sal_irpp/masse_sal_irpp_sim egen masse_nonsal_irpp_sim=total(nonsal_irpp_foy*decl*pondv/1000000000) replace nonsal_irpp_conj=nonsal_irpp_conj*$masse_nonsal_irpp/masse_nonsal_irpp_sim replace nonsal_irpp_pac=nonsal_irpp_pac*$masse_nonsal_irpp/masse_nonsal_irpp_sim replace nonsal_irpp_foy=nonsal_irpp_foy*$masse_nonsal_irpp/masse_nonsal_irpp_sim replace ya_irpp_conj=sal_irpp_conj+nonsal_irpp_conj replace ya_irpp_pac=sal_irpp_pac+nonsal_irpp_pac replace ya_irpp_foy=sal_irpp_foy+nonsal_irpp_foy /**revenus de remplacement*/ egen masse_pension_irpp_sim=total(pension_irpp_foy*decl*pondv/1000000000) replace pension_irpp_conj=pension_irpp_conj*$masse_pension_irpp/masse_pension_irpp_sim replace pension_irpp_pac=pension_irpp_pac*$masse_pension_irpp/masse_pension_irpp_sim replace pension_irpp_foy=pension_irpp_foy*$masse_pension_irpp/masse_pension_irpp_sim egen masse_chom_irpp_sim=total(chom_irpp_foy*decl*pondv/1000000000) replace chom_irpp_conj=chom_irpp_conj*$masse_chom_irpp/masse_chom_irpp_sim replace chom_irpp_pac=chom_irpp_pac*$masse_chom_irpp/masse_chom_irpp_sim replace chom_irpp_foy=chom_irpp_foy*$masse_chom_irpp/masse_chom_irpp_sim replace yr_irpp_conj=pension_irpp_conj+chom_irpp_conj replace yr_irpp_pac=pension_irpp_pac+chom_irpp_pac replace yr_irpp_foy=pension_irpp_foy+chom_irpp_foy /**revenus du capital*/ egen masse_rfon_irpp_sim=total(rfon_irpp_foy*decl*pondv/1000000000) replace rfon_irpp_conj=rfon_irpp_conj*$masse_rfon_irpp/masse_rfon_irpp_sim replace rfon_irpp_foy=rfon_irpp_foy*$masse_rfon_irpp/masse_rfon_irpp_sim egen masse_rfin_irpp_sim=total(rfin_irpp_foy*decl*pondv/1000000000) replace rfin_irpp_conj=rfin_irpp_conj*$masse_rfin_irpp/masse_rfin_irpp_sim replace rfin_irpp_foy=rfin_irpp_foy*$masse_rfin_irpp/masse_rfin_irpp_sim replace yk_irpp_conj=rfon_irpp_conj+rfin_irpp_conj replace yk_irpp_foy=rfon_irpp_foy+rfin_irpp_foy /****revenus totaux*/ replace y_irpp_conj=ya_irpp_conj+yr_irpp_conj+yk_irpp_conj replace y_irpp_pac=ya_irpp_pac+yr_irpp_pac egen masse_y_irpp_sim=total(y_irpp_foy*decl*pondv/1000000000) replace y_irpp_foy=ya_irpp_foy+yr_irpp_foy+yk_irpp_foy /****revenus concubins*/ replace y_irpp_concu=y_irpp_concu*$masse_y_irpp/masse_y_irpp_sim replace rfr_irpp_concu=rfr_irpp_concu*$masse_y_irpp/masse_y_irpp_sim replace ya_irpp_concu=ya_irpp_concu*$masse_y_irpp/masse_y_irpp_sim /****revenus détaillés du capital*/ /***revenus fonciers*/ egen masse_rfon_normal_irpp_sim=total(rfon_normal_irpp_foy*decl*pondv/1000000000) replace rfon_normal_irpp_foy=rfon_normal_irpp_foy*$masse_rfon_normal_irpp/masse_rfon_normal_irpp_sim egen masse_rfon_micro_irpp_sim=total(rfon_micro_irpp_foy*decl*pondv/1000000000) replace rfon_micro_irpp_foy=rfon_micro_irpp_foy*$masse_rfon_micro_irpp/masse_rfon_micro_irpp_sim /***revenus financiers barème*/ egen masse_rfin_div_bar_irpp_sim=total(rfin_div_bar_irpp_foy*decl*pondv/1000000000) replace rfin_div_bar_irpp_foy=rfin_div_bar_irpp_foy*$masse_rfin_div_bar_irpp/masse_rfin_div_bar_irpp_sim egen masse_rfin_int_bar_irpp_sim=total(rfin_int_bar_irpp_foy*decl*pondv/1000000000) replace rfin_int_bar_irpp_foy=rfin_int_bar_irpp_foy*$masse_rfin_int_bar_irpp/masse_rfin_int_bar_irpp_sim egen masse_rfin_av_bar_irpp_sim=total(rfin_av_bar_irpp_foy*decl*pondv/1000000000) replace rfin_av_bar_irpp_foy=rfin_av_bar_irpp_foy*$masse_rfin_av_bar_irpp/masse_rfin_av_bar_irpp_sim replace rfin_bar_irpp_foy=rfin_div_bar_irpp_foy+rfin_int_bar_irpp_foy+rfin_av_bar_irpp_foy /***revenus financiers pl*/ replace rfin_div_pl_irpp_foy=rfin_div_bar_irpp_foy egen masse_rfin_div_pl_irpp_sim=total(rfin_div_pl_irpp_foy*decl*pondv/1000000000) replace rfin_div_pl_irpp_foy=rfin_div_pl_irpp_foy*$masse_rfin_div_pl_irpp/masse_rfin_div_pl_irpp_sim egen masse_rfin_int_pl_irpp_sim=total(rfin_int_pl_irpp_foy*decl*pondv/1000000000) replace rfin_int_pl_irpp_foy=rfin_int_pl_irpp_foy*$masse_rfin_int_pl_irpp/masse_rfin_int_pl_irpp_sim egen masse_rfin_av_pl_irpp_sim=total(rfin_av_pl_irpp_foy*decl*pondv/1000000000) replace rfin_av_pl_irpp_foy=rfin_av_pl_irpp_foy*$masse_rfin_av_pl_irpp/masse_rfin_av_pl_irpp_sim replace rfin_pl_irpp_foy=rfin_div_pl_irpp_foy+rfin_int_pl_irpp_foy+rfin_av_pl_irpp_foy /***plus-values*/ egen masse_rfin_pv_normal_sim=total(rfin_pv_normal_irpp_foy*decl*pondv/1000000000) replace rfin_pv_normal_irpp_foy=rfin_pv_normal_irpp_foy*$masse_rfin_pv_normal/masse_rfin_pv_normal_sim egen masse_rfin_pv_options1_sim=total(rfin_pv_options1_irpp_foy*decl*pondv/1000000000) replace rfin_pv_options1_irpp_foy=rfin_pv_options1_irpp_foy*$masse_rfin_pv_options1/masse_rfin_pv_options1_sim egen masse_rfin_pv_options2_sim=total(rfin_pv_options2_irpp_foy*decl*pondv/1000000000) replace rfin_pv_options2_irpp_foy=rfin_pv_options2_irpp_foy*$masse_rfin_pv_options2/masse_rfin_pv_options2_sim egen masse_rfin_pv_exo_sim=total(rfin_pv_exo_irpp_foy*decl*pondv/1000000000) replace rfin_pv_exo_irpp_foy=rfin_pv_exo_irpp_foy*$masse_rfin_pv_exo/masse_rfin_pv_exo_sim egen masse_rfin_pv_pro_sim=total(rfin_pv_pro_irpp_foy*decl*pondv/1000000000) replace rfin_pv_pro_irpp_foy=rfin_pv_pro_irpp_foy*$masse_rfin_pv_pro/masse_rfin_pv_pro_sim egen masse_rfin_pv_pro_exo_sim=total(rfin_pv_pro_exo_irpp_foy*decl*pondv/1000000000) replace rfin_pv_pro_exo_irpp_foy=rfin_pv_pro_exo_irpp_foy*$masse_rfin_pv_pro_exo/masse_rfin_pv_pro_exo_sim replace rfin_pv_irpp_foy=rfin_pv_normal_irpp_foy+rfin_pv_options1_irpp_foy+rfin_pv_options2_irpp_foy+rfin_pv_exo_irpp_foy+rfin_pv_pro_irpp_foy+rfin_pv_pro_exo_irpp_foy /***autres*/ egen masse_rfin_pea_exo_sim=total(rfin_pea_exo_irpp_foy*decl*pondv/1000000000) replace rfin_pea_exo_irpp_foy=rfin_pea_exo_irpp_foy*$masse_rfin_pea_exo_irpp/masse_rfin_pea_exo_sim /**************phase 4-3: sauvegarde du fichier mis à jour pour l'année souhaitée*/ drop decl masse* sort id_indiv save Fichiers/indiv_conj_$annee, replace /*****************************phase 5: mise à jour de indiv_ded_200x*/ /**************phase 5-1: variables reprises du fichier démo*/ use Fichiers/indiv_demo_$annee, clear keep id_indiv pondv decl sort id_indiv merge id_indiv using Fichiers/original/indiv_ded_2006 drop _merge /**************phase 5-2: calage des différentes déductions*/ /***frais professionnels*/ egen masse_frais_prof_sim=total(frais_prof*pondv/1000000000) replace frais_prof=frais_prof*$masse_frais_prof_irpp/masse_frais_prof_sim replace frais_prof_conj=frais_prof_conj*$masse_frais_prof_irpp/masse_frais_prof_sim /***pensions alimentaires reçues*/ egen masse_pens_alim_rec_sim=total(pens_alim_rec_foy*decl*pondv/1000000000) replace pens_alim_rec=pens_alim_rec*$masse_pens_alim_rec/masse_pens_alim_rec_sim replace pens_alim_rec_conj=pens_alim_rec_conj*$masse_pens_alim_rec/masse_pens_alim_rec_sim replace pens_alim_rec_pac=pens_alim_rec_pac*$masse_pens_alim_rec/masse_pens_alim_rec_sim replace pens_alim_rec_foy=pens_alim_rec_foy*$masse_pens_alim_rec/masse_pens_alim_rec_sim /***pensions alimentaires versées*/ egen masse_pens_alim_ver_sim=total(pens_alim_ver_foy*decl*pondv/1000000000) replace pens_alim_ver=pens_alim_ver*$masse_pens_alim_ver/masse_pens_alim_ver_sim replace pens_alim_ver_conj=pens_alim_ver_conj*$masse_pens_alim_ver/masse_pens_alim_ver_sim replace pens_alim_ver_foy=pens_alim_ver_foy*$masse_pens_alim_ver/masse_pens_alim_ver_sim /***déficits fonciers*/ egen masse_rfon_defcat_sim=total(rfon_defcat_foy*decl*pondv/1000000000) replace rfon_defcat=rfon_defcat*$masse_rfon_defcat/masse_rfon_defcat_sim replace rfon_defcat_foy=rfon_defcat_foy*$masse_rfon_defcat/masse_rfon_defcat_sim egen masse_rfon_defglo_sim=total(rfon_defglo_foy*decl*pondv/1000000000) replace rfon_defglo=rfon_defglo*$masse_rfon_defglo/masse_rfon_defglo_sim replace rfon_defglo_foy=rfon_defglo_foy*$masse_rfon_defglo/masse_rfon_defglo_sim egen masse_rfon_defcat_ant_sim=total(rfon_defcat_ant_foy*decl*pondv/1000000000) replace rfon_defcat_ant=rfon_defcat_ant*$masse_rfon_defcat_ant/masse_rfon_defcat_ant_sim replace rfon_defcat_ant_foy=rfon_defcat_ant_foy*$masse_rfon_defcat_ant/masse_rfon_defcat_ant_sim egen masse_defglo_ant_sim=total(defglo_ant_foy*decl*pondv/1000000000) replace defglo_ant_foy=defglo_ant_foy*$masse_defglo_ant/masse_defglo_ant_sim /***déductions épargne retraite*/ egen masse_ded_epar_ret_sim=total(ded_epar_ret_foy*decl*pondv/1000000000) replace ded_epar_ret=ded_epar_ret*$masse_ded_epar_ret/masse_ded_epar_ret_sim replace ded_epar_ret_conj=ded_epar_ret_conj*$masse_ded_epar_ret/masse_ded_epar_ret_sim replace ded_epar_ret_foy=ded_epar_ret_foy*$masse_ded_epar_ret/masse_ded_epar_ret_sim /***réductions d'impôt*/ egen masse_reduc_irpp_sim=total(reduc_irpp_foy*decl*pondv/1000000000) replace reduc_irpp_foy=reduc_irpp_foy*$masse_reduc_irpp/masse_reduc_irpp_sim /**************phase 5-3: sauvegarde du fichier mis à jour pour l'année souhaitée*/ drop decl masse* sort id_indiv save Fichiers/indiv_ded_$annee, replace