Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,36 @@ input/EUROMODoutput/baseline/*

input/InitialPopulations/original/*
input/InitialPopulations/base/*
input/lifetime_incomes/sample/1994.csv
input/lifetime_incomes/sample/1995.csv
input/lifetime_incomes/sample/1996.csv
input/lifetime_incomes/sample/1997.csv
input/lifetime_incomes/sample/1998.csv
input/lifetime_incomes/sample/1999.csv
input/lifetime_incomes/sample/2000.csv
input/lifetime_incomes/sample/2001.csv
input/lifetime_incomes/sample/2002.csv
input/lifetime_incomes/sample/2003.csv
input/lifetime_incomes/sample/2004.csv
input/lifetime_incomes/sample/2005.csv
input/lifetime_incomes/sample/2006.csv
input/lifetime_incomes/sample/2007.csv
input/lifetime_incomes/sample/2008.csv
input/lifetime_incomes/sample/2009.csv
input/lifetime_incomes/sample/2010.csv
input/lifetime_incomes/sample/2011.csv
input/lifetime_incomes/sample/2012.csv
input/lifetime_incomes/sample/2013.csv
input/lifetime_incomes/sample/2014.csv
input/lifetime_incomes/sample/2015.csv
input/lifetime_incomes/sample/2016.csv
input/lifetime_incomes/sample/2017.csv
input/lifetime_incomes/sample/2018.csv
input/lifetime_incomes/sample/2019.csv
input/lifetime_incomes/sample/2020.csv
input/lifetime_incomes/sample/2021.csv
input/lifetime_incomes/sample/2022.csv
input/lifetime_incomes/sample/2023.csv

# Documentation build and browser-check output
/site/
Expand Down
2 changes: 1 addition & 1 deletion documentation/repository-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@ When IO is enabled, this package creates projected income paths for birth cohort

| Class | Purpose |
| --- | --- |
| `ManagerProjectLifetimeIncomes` | Generates the synthetic income trajectory database for all birth cohorts in the simulation horizon. |
| `ManagerLifetimeIncomes` | Generates the synthetic income trajectory database for all birth cohorts in the simulation horizon. |
| `LifetimeIncomeImputation` | Matches each simulated person to a donor income trajectory via binary search on the income CDF. |
| `AnnualIncome` | Implements the AR(2) income process with age-gender anchoring. |
| `BirthCohort` | Groups individuals by birth year for cohort-level income projection. |
Expand Down
2 changes: 1 addition & 1 deletion documentation/wiki/developer-guide/repository-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ When IO is enabled, this package creates projected income paths for birth cohort

| Class | Purpose |
| --- | --- |
| `ManagerProjectLifetimeIncomes` | Generates the synthetic income trajectory database for all birth cohorts in the simulation horizon. |
| `ManagerLifetimeIncomes` | Generates the synthetic income trajectory database for all birth cohorts in the simulation horizon. |
| `LifetimeIncomeImputation` | Matches each simulated person to a donor income trajectory via binary search on the income CDF. |
| `AnnualIncome` | Implements the AR(2) income process with age-gender anchoring. |
| `BirthCohort` | Groups individuals by birth year for cohort-level income projection. |
Expand Down
Binary file modified input/DatabaseCountryYear.xlsx
Binary file not shown.
6 changes: 2 additions & 4 deletions input/InitialPopulations/compile/07_was_wealth_data.do
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ foreach file in "${dir_was_data}/was_round_5_person_eul_oct_2020.dta" ///
recode dvgiemp dvgise dvgippen dvgiinv dvoigrrannual_i dvoiggtannual_i dvoigegannual_i dvoigfrannual_i dvoigmaannual_i dvoigroannual_i dvoigopannual_i (missing=0)
gen inci = dvgiemp + dvgise + dvgippen + dvgiinv + dvoigrrannual_i + dvoiggtannual_i + dvoigegannual_i + dvoigfrannual_i + dvoigmaannual_i + dvoigroannual_i + dvoigopannual_i
gen pensioner = (dvgippen > 0.01)

// fix some partner person numbers
duplicates tag case partno, gen(dup) // Rows should be unique in case partno, assuming monogamy
replace dup=0 if partno==17 // partno=17 if no partner in household
Expand Down Expand Up @@ -774,7 +774,7 @@ foreach file in "${dir_was_data}/was_round_5_person_eul_oct_2020.dta" ///
cc_debt cc_debt_trans cc_debt_pers hp_debt loan_debt loan_debt_exc_slc loan_debt_slc ///
loan_doorstep loan_pawnbroker loan_payday informal_loan_debt highcost_loan_debt ///
mail_debt unsec_debt_total unsec_debt_core highcost_debt_proxy lowcost_debt ///
op_memb pp_membu op_membu op_db op_dc pensioners ///
op_memb pp_membu op_membu op_db op_dc pensioners ///
pp_core_annual pp_fallback_annual pp_contrib_annual pp_contrib_rate_income priv_total_contrib_rate_inc ///
pp_contrib_source_core pp_contrib_source_fallback occ_emp_contrib_rate occ_emp_contrib_annual ///
caser5 caser6 caser7 personw5 personw6 personr7
Expand Down Expand Up @@ -997,8 +997,6 @@ label var was_pid "Synthetic longitudinal person ID (WAS rounds 5-8 linkage)"

sort was_pid year was_round
save "${dir_data}/was_wealthdata.dta", replace


/**************************************************************/
*
* ANALYSIS OF WORKING VARIABLES
Expand Down
Binary file modified input/regression_files/reg_lifetime_incomes.xlsx
Binary file not shown.
8 changes: 4 additions & 4 deletions src/main/java/simpaths/data/Parameters.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
import org.apache.commons.math3.util.Pair;
import org.apache.poi.openxml4j.util.ZipSecureFile;
import simpaths.model.decisions.Grids;
import simpaths.model.lifetime_incomes.EquivalisedIncomeCDF;
import simpaths.model.taxes.DonorTaxUnit;
import simpaths.model.taxes.MatchFeature;
import simpaths.model.taxes.database.TaxDonorDataParser;
Expand Down Expand Up @@ -2408,12 +2407,13 @@ public static double getMortalityProbability(Gender demSex, int age, int year) {
public static Double getEquivalisedIncome(Gender demSex, int age, int year) {

Double val = null;
if (year<=equivalisedIncomeMaxYear && year>=equivalisedIncomeMinYear && age<=equivalisedIncomeMaxAge) {
int ageHere = Math.min(age, equivalisedIncomeMaxAge);
if (year<=equivalisedIncomeMaxYear && year>=equivalisedIncomeMinYear) {
// obtain value from observed matrix

Number nn = ((Number) equivalisedIncomeByGenderAgeYear.getValue(demSex.toString(), age, year));
Number nn = ((Number) equivalisedIncomeByGenderAgeYear.getValue(demSex.toString(), ageHere, year));
if (nn==null) {
throw new IllegalAccessError("ERROR - problem evaluating mean equivalised income for year: " + year + ", age: " + age + " and demSex " + demSex.toString());
throw new IllegalAccessError("ERROR - problem evaluating mean equivalised income for year: " + year + ", age: " + ageHere + " and demSex " + demSex.toString());
}
val = nn.doubleValue();
}
Expand Down
4 changes: 3 additions & 1 deletion src/main/java/simpaths/model/BenefitUnit.java
Original file line number Diff line number Diff line change
Expand Up @@ -4947,6 +4947,8 @@ public Double getDisposableIncomeMonthly() {
return yDispMonth;
}

public Double getYDispMonth() { return yDispMonth; }

public Double getGrossIncomeMonthly() {
return yGrossMonth;
}
Expand Down Expand Up @@ -5459,7 +5461,7 @@ public double getXDiscConsumptionAnnual(boolean throwError) {
}

public double getEquivalisedWeight() {
//Equivalence scale gives a weight of 1.0 to the first adult;
//OECD (BHC) equivalence scale gives a weight of 1.0 to the first adult;
//0.5 to the second and each subsequent person aged 14 and over;
//0.3 to each child aged under 14.
double weight = 0.0;
Expand Down
Loading
Loading