From 10596ede493aef67e193418e9339266b9c4e7757 Mon Sep 17 00:00:00 2001 From: Mariia Var Date: Fri, 15 May 2026 13:08:59 +0100 Subject: [PATCH 1/3] Clean up excel input files: -removed redundant align_employment.xlsx and align_student_under30.xlsx -renamed alignmnet tragets .xlsx files and added info sheets to them; -renamed "policy parameters.xlsx" into "social_care_parameters" as it now contains only social care parameters - removed "UK_" prefix from the sheets in "time_series_factors.xlsx" - restructure "time_series_factors.xlsx" - split it to two excel files: "alignment_adjustment_series.xlsx" and "economic_time_series.xlsx" - the code was adjusted to reflect changes in the excel file names and structure --- CLAUDE.md | 2 +- documentation/repository-guide.md | 12 +-- .../wiki/developer-guide/repository-guide.md | 12 +-- .../01_employment_shares_initpopdata.do | 28 ++++++- ....do => 02_inSchool_targets_initpopdata.do} | 19 ++++- ...late_partneredShare_initialPop_BUlogic.do} | 19 ++++- ...do => 03b_calculate_partnership_target.do} | 19 ++++- ....do => 90_person_risk_employment_stats.do} | 0 input/align_employment.xlsx | Bin 15905 -> 0 bytes input/align_student_under30.xlsx | Bin 8631 -> 0 bytes input/alignment_adjustment_series.xlsx | Bin 0 -> 19748 bytes input/alignment_targets_employment.xlsx | Bin 0 -> 11562 bytes input/alignment_targets_inSchool.xlsx | Bin 0 -> 6397 bytes input/alignment_targets_partnered_share.xlsx | Bin 0 -> 7037 bytes input/economic_time_series.xlsx | Bin 0 -> 40262 bytes input/employment_targets.xlsx | Bin 7741 -> 0 bytes input/inSchool_targets.xlsx | Bin 3013 -> 0 bytes input/partnered_share_targets.xlsx | Bin 8988 -> 0 bytes input/policy parameters.xlsx | Bin 22007 -> 0 bytes input/social_care_parameters.xlsx | Bin 0 -> 11485 bytes src/main/java/simpaths/data/Parameters.java | 74 +++++++++--------- 21 files changed, 128 insertions(+), 57 deletions(-) rename input/DoFilesTarget/{01_inSchool_targets_initpopdata.do => 02_inSchool_targets_initpopdata.do} (72%) rename input/DoFilesTarget/{03_calculate_partneredShare_initialPop_BUlogic.do => 03a_calculate_partneredShare_initialPop_BUlogic.do} (73%) rename input/DoFilesTarget/{03_calculate_partnership_target.do => 03b_calculate_partnership_target.do} (74%) rename input/DoFilesTarget/{02_person_risk_employment_stats.do => 90_person_risk_employment_stats.do} (100%) delete mode 100644 input/align_employment.xlsx delete mode 100644 input/align_student_under30.xlsx create mode 100644 input/alignment_adjustment_series.xlsx create mode 100644 input/alignment_targets_employment.xlsx create mode 100644 input/alignment_targets_inSchool.xlsx create mode 100644 input/alignment_targets_partnered_share.xlsx create mode 100644 input/economic_time_series.xlsx delete mode 100644 input/employment_targets.xlsx delete mode 100644 input/inSchool_targets.xlsx delete mode 100644 input/partnered_share_targets.xlsx delete mode 100644 input/policy parameters.xlsx create mode 100644 input/social_care_parameters.xlsx diff --git a/CLAUDE.md b/CLAUDE.md index 43891ca9c..45d8f8362 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -118,4 +118,4 @@ Tax donor matching therefore requires a two-step price bridge: 1. Inflate SimPaths income to policy-year prices before matching. 2. Deflate the imputed financial values from the matched donor record back to 2015 prices. -The default uprating series is `TimeSeriesVariable.Inflation`, sourced from the `UK_inflation` worksheet in `input/time_series_factor.xlsx`. An alternative option (added 2026-04) allows wage growth to be used instead of price growth for the initial matching step, controlled via a config flag. \ No newline at end of file +The default uprating series is `TimeSeriesVariable.Inflation`, sourced from the `inflation` worksheet in `input/economic_time_series.xlsx`. An alternative option (added 2026-04) allows wage growth to be used instead of price growth for the initial matching step, controlled via a config flag. \ No newline at end of file diff --git a/documentation/repository-guide.md b/documentation/repository-guide.md index e571662e2..04c2ed9dc 100644 --- a/documentation/repository-guide.md +++ b/documentation/repository-guide.md @@ -57,7 +57,7 @@ SimPaths/ │ ├── projections_*.xlsx # Mortality/fertility projections │ ├── DatabaseCountryYear.xlsx # Database metadata │ ├── EUROMODpolicySchedule.xlsx # Policy schedule -│ ├── policy parameters.xlsx # Tax-benefit parameters +│ ├── social_care_parameters.xlsx # Social care parameters │ ├── validation_statistics.xlsx # Validation targets │ └── input.mv.db # H2 donor database (generated by setup) │ @@ -192,7 +192,7 @@ SimPaths/ | `projections_*.xlsx` | Demographic projections (mortality, fertility) | | `DatabaseCountryYear.xlsx` | Tracks current database country/year | | `EUROMODpolicySchedule.xlsx` | Tax-benefit policy schedule | -| `policy parameters.xlsx` | Detailed policy parameters | +| `social_care_parameters.xlsx` | Detailed social care parameters | **Subdirectories**: - `InitialPopulations/`: Starting population databases @@ -359,9 +359,9 @@ After running, output Excel files are placed in `input/` (overwriting the existi | Script | Output file | |--------|------------| -| `01_employment_shares_initpopdata.do` | `input/employment_targets.xlsx` — employment shares by benefit-unit subgroup and year | -| `01_inSchool_targets_initpopdata.do` | `input/inSchool_targets.xlsx` — school participation rates by year | -| `03_calculate_partneredShare_initialPop_BUlogic.do` | `input/partnered_share_targets.xlsx` — partnership shares by year | +| `01_employment_shares_initpopdata.do` | `input/alignment_targets_employment.xlsx` — employment shares by benefit-unit subgroup and year | +| `01_inSchool_targets_initpopdata.do` | `input/alignment_targets_inSchool.xlsx` — school participation rates by year | +| `03_calculate_partneredShare_initialPop_BUlogic.do` | `input/alignment_targets_partnered_share.xlsx` — partnership shares by year | | `03_calculate_partnership_target.do` | Supplementary partnership targets | | `02_person_risk_employment_stats.do` | `employment_risk_emp_stats.csv` — person-level at-risk diagnostics used for employment alignment group construction | @@ -462,7 +462,7 @@ ResamplingAlignment.align( **Regression coefficients**: Edit Excel files in `input/reg_*.xlsx` -**Policy parameters**: Edit `input/policy parameters.xlsx` +**Social care parameters**: Edit `input/social_care_parameters.xlsx` **Alignment targets**: Edit `input/align_*.xlsx` diff --git a/documentation/wiki/developer-guide/repository-guide.md b/documentation/wiki/developer-guide/repository-guide.md index db44c112c..b718e96cd 100644 --- a/documentation/wiki/developer-guide/repository-guide.md +++ b/documentation/wiki/developer-guide/repository-guide.md @@ -62,7 +62,7 @@ SimPaths/ │ ├── projections_*.xlsx # Mortality/fertility projections │ ├── DatabaseCountryYear.xlsx # Database metadata │ ├── EUROMODpolicySchedule.xlsx # Policy schedule -│ ├── policy parameters.xlsx # Tax-benefit parameters +│ ├── social_care_parameters.xlsx # Social care parameters │ ├── validation_statistics.xlsx # Validation targets │ └── input.mv.db # H2 donor database (generated by setup) │ @@ -197,7 +197,7 @@ SimPaths/ | `projections_*.xlsx` | Demographic projections (mortality, fertility) | | `DatabaseCountryYear.xlsx` | Tracks current database country/year | | `EUROMODpolicySchedule.xlsx` | Tax-benefit policy schedule | -| `policy parameters.xlsx` | Detailed policy parameters | +| `social_care_parameters.xlsx` | Detailed social care parameters | **Subdirectories**: - `InitialPopulations/`: Starting population databases @@ -353,9 +353,9 @@ After running, output Excel files are placed in `input/` (overwriting the existi | Script | Output file | |--------|------------| -| `01_employment_shares_initpopdata.do` | `input/employment_targets.xlsx` — employment shares by benefit-unit subgroup and year | -| `01_inSchool_targets_initpopdata.do` | `input/inSchool_targets.xlsx` — school participation rates by year | -| `03_calculate_partneredShare_initialPop_BUlogic.do` | `input/partnered_share_targets.xlsx` — partnership shares by year | +| `01_employment_shares_initpopdata.do` | `input/alignment_targets_employment.xlsx` — employment shares by benefit-unit subgroup and year | +| `01_inSchool_targets_initpopdata.do` | `input/alignment_targets_inSchool.xlsx` — school participation rates by year | +| `03_calculate_partneredShare_initialPop_BUlogic.do` | `input/alignment_targets_partnered_share.xlsx` — partnership shares by year | | `03_calculate_partnership_target.do` | Supplementary partnership targets | | `02_person_risk_employment_stats.do` | `employment_risk_emp_stats.csv` — person-level at-risk diagnostics used for employment alignment group construction | @@ -456,7 +456,7 @@ ResamplingAlignment.align( **Regression coefficients**: Edit Excel files in `input/reg_*.xlsx` -**Policy parameters**: Edit `input/policy parameters.xlsx` +**Social care parameters**: Edit `input/social_care_parameters.xlsx` **Alignment targets**: Edit `input/align_*.xlsx` diff --git a/input/DoFilesTarget/01_employment_shares_initpopdata.do b/input/DoFilesTarget/01_employment_shares_initpopdata.do index 1932bcd2e..12bd2f509 100644 --- a/input/DoFilesTarget/01_employment_shares_initpopdata.do +++ b/input/DoFilesTarget/01_employment_shares_initpopdata.do @@ -173,7 +173,7 @@ use "${dir_working_data}/bu_empl_shares_${country}_allsubgroups_initpopdata.dta" sort year * Create/overwrite Excel file that will hold all sheets -putexcel set "${dir_output}/employment_targets.xlsx", replace +putexcel set "${dir_output}/alignment_targets_employment.xlsx", replace * Identify all BU group codes levelsof group_code, local(groups) @@ -188,7 +188,7 @@ foreach g of local groups { mkmat year empl_share, matrix(M) * Point putexcel at the output file and the group-specific sheet - putexcel set "${dir_output}/employment_targets.xlsx", sheet("`g'") modify + putexcel set "${dir_output}/alignment_targets_employment.xlsx", sheet("`g'") modify * Write headers putexcel A1=("year") B1=("empl_share") @@ -198,3 +198,27 @@ foreach g of local groups { restore } + +* Add metadata sheet so workbook provenance survives regeneration +putexcel set "${dir_output}/alignment_targets_employment.xlsx", sheet("Info") modify +putexcel A1=("Field") B1=("Value") +putexcel A2=("Workbook") B2=("alignment_targets_employment.xlsx") +putexcel A3=("Data sheets") B3=("Couples, SingleDep_Males, SingleDep_Females, Single_male, SingleAC_Males, Single_female, SingleAC_Females") +putexcel A4=("Relevant do file") B4=("input/DoFilesTarget/01_employment_shares_initpopdata.do") +putexcel A5=("Source data") B5=("input/InitialPopulations/population_initial_UK_2011.csv to population_initial_UK_2023.csv") +putexcel A6=("Years covered") B6=("2011-2023") +putexcel A7=("Unit of analysis") B7=("Benefit unit (BU)") +putexcel A8=("Responsible adults") B8=("Responsible male and female adults are identified from adults aged 18+ within each BU") +putexcel A9=("At-risk definition") B9=("Sex-specific at-risk flag requires age 16-75 inclusive and labc4 not equal to 2 or 4") +putexcel A10=("Weighting") B10=("BU weight equals the sum of wgthhcross across people in the BU") +putexcel A11=("How target is computed") B11=("For each BU: bu_fracemployed = (bu_male_emp + bu_female_emp) / bu_nresp after non-at-risk responsible adults are set to non-employed; then collapse (mean) empl_share = bu_target_emp [pw = bu_w] by year and group_code") +putexcel A12=("AC meaning") B12=("AC denotes adult child status from demadultchildflag") +putexcel A13=("SingleDep note") B13=("SingleDep_Males and SingleDep_Females cannot exceed 0.5 by construction") +putexcel A15=("Group") B15=("Definition") +putexcel A16=("Couples") B16=("Couple BU with at least one at-risk male and at least one at-risk female") +putexcel A17=("SingleDep_Males") B17=("Couple BU where only the male side is at risk") +putexcel A18=("SingleDep_Females") B18=("Couple BU where only the female side is at risk") +putexcel A19=("Single_male") B19=("Single-male BU with demadultchildflag = 0") +putexcel A20=("SingleAC_Males") B20=("Single-male BU with demadultchildflag = 1") +putexcel A21=("Single_female") B21=("Single-female BU with demadultchildflag = 0") +putexcel A22=("SingleAC_Females") B22=("Single-female BU with demadultchildflag = 1") diff --git a/input/DoFilesTarget/01_inSchool_targets_initpopdata.do b/input/DoFilesTarget/02_inSchool_targets_initpopdata.do similarity index 72% rename from input/DoFilesTarget/01_inSchool_targets_initpopdata.do rename to input/DoFilesTarget/02_inSchool_targets_initpopdata.do index 24ac50a5b..c5a7d9e92 100644 --- a/input/DoFilesTarget/01_inSchool_targets_initpopdata.do +++ b/input/DoFilesTarget/02_inSchool_targets_initpopdata.do @@ -83,14 +83,14 @@ use "${dir_working_data}/student_shares_${country}_initpopdata.dta", clear sort year * Create/overwrite Excel file that will hold all sheets -putexcel set "${dir_output}/inSchool_targets.xlsx", replace +putexcel set "${dir_output}/alignment_targets_inSchool.xlsx", replace * Build a matrix of all rows for the two variables (year, student_share) mkmat year student_share, matrix(M) * Point putexcel at the output file and the group-specific sheet -putexcel set "${dir_output}/inSchool_targets.xlsx", sheet("students") modify +putexcel set "${dir_output}/alignment_targets_inSchool.xlsx", sheet("students") modify * Write headers putexcel A1=("year") B1=("student_share") @@ -98,4 +98,17 @@ putexcel A1=("year") B1=("student_share") * Write data from matrix M (Stata 15+ supports varlists here) putexcel A2=matrix(M) - +* Add metadata sheet so workbook provenance survives regeneration +putexcel set "${dir_output}/alignment_targets_inSchool.xlsx", sheet("Info") modify +putexcel A1=("Field") B1=("Value") +putexcel A2=("Workbook") B2=("alignment_targets_inSchool.xlsx") +putexcel A3=("Data sheet") B3=("students") +putexcel A4=("Relevant do file") B4=("input/DoFilesTarget/02_inSchool_targets_initpopdata.do") +putexcel A5=("Source data") B5=("input/InitialPopulations/population_initial_UK_2011.csv to population_initial_UK_2023.csv") +putexcel A6=("Years covered") B6=("2011-2023") +putexcel A7=("Unit of analysis") B7=("Person-year") +putexcel A8=("Eligible population") B8=("People aged 16-29 with nonmissing labc4; one record kept per idpers in each annual file") +putexcel A9=("Student definition") B9=("isStudent = 1 when labc4 == 2 and age is between 16 and 29 inclusive") +putexcel A10=("Weighting") B10=("Weighted mean using wgthhcross") +putexcel A11=("How target is computed") B11=("For each year: collapse (mean) student_share = isStudent if labc4 != . and age is 16-29 [pw = wgthhcross]") +putexcel A12=("Output meaning") B12=("Annual share of students among people aged 16-29") diff --git a/input/DoFilesTarget/03_calculate_partneredShare_initialPop_BUlogic.do b/input/DoFilesTarget/03a_calculate_partneredShare_initialPop_BUlogic.do similarity index 73% rename from input/DoFilesTarget/03_calculate_partneredShare_initialPop_BUlogic.do rename to input/DoFilesTarget/03a_calculate_partneredShare_initialPop_BUlogic.do index 905d59bd0..dee085122 100644 --- a/input/DoFilesTarget/03_calculate_partneredShare_initialPop_BUlogic.do +++ b/input/DoFilesTarget/03a_calculate_partneredShare_initialPop_BUlogic.do @@ -121,8 +121,25 @@ export excel using "`work_dir'/partnered_share_initialPop_BUlogic.xlsx", /// preserve keep year partnered_share format partnered_share %12.7f - export excel using "`work_dir'/partnered_share_targets_BUlogic.xlsx", /// + export excel using "`work_dir'/alignment_targets_partnered_share.xlsx", /// firstrow(variables) replace restore +* Add metadata sheet so workbook provenance survives regeneration +putexcel set "`work_dir'/alignment_targets_partnered_share.xlsx", sheet("Info") modify +putexcel A1=("Field") B1=("Value") +putexcel A2=("Workbook") B2=("alignment_targets_partnered_share.xlsx") +putexcel A3=("Data sheet") B3=("partnered_share") +putexcel A4=("Relevant do file") B4=("input/DoFilesTarget/03a_calculate_partneredShare_initialPop_BUlogic.do") +putexcel A5=("Related do file") B5=("input/DoFilesTarget/03b_calculate_partnership_target.do") +putexcel A6=("Source data") B6=("Initial population CSV files for 2011-2023") +putexcel A7=("Years covered") B7=("2011-2023") +putexcel A8=("Unit of analysis") B8=("Adult person-year") +putexcel A9=("Eligible population") B9=("Adults aged 18+") +putexcel A10=("Partner definition") B10=("Partnered = 1 when another adult exists in the same BU after excluding self, mother, and father") +putexcel A11=("Partner identifier use") B11=("idpartner is not used; partnership is inferred from adult BU co-residency") +putexcel A12=("Weighting") B12=("Unweighted annual share") +putexcel A13=("How target is computed") B13=("Build adult BU roster, self-join by year and BU, drop self and parents, mark qualifying co-residents, merge flags back to the full adult population, then compute partnered_share = n_partnered / n_eligible by year") +putexcel A14=("Output meaning") B14=("Annual partnered share among adults aged 18+ under BU-logic partner inference") + list, sep(0) diff --git a/input/DoFilesTarget/03_calculate_partnership_target.do b/input/DoFilesTarget/03b_calculate_partnership_target.do similarity index 74% rename from input/DoFilesTarget/03_calculate_partnership_target.do rename to input/DoFilesTarget/03b_calculate_partnership_target.do index c38d3215c..58840ee65 100644 --- a/input/DoFilesTarget/03_calculate_partnership_target.do +++ b/input/DoFilesTarget/03b_calculate_partnership_target.do @@ -136,8 +136,25 @@ order year n_eligible n_partnered partnered_share preserve keep year partnered_share format partnered_share %12.7f - export excel using "`work_dir'/partnered_share_targets_BUlogic.xlsx", /// + export excel using "`work_dir'/alignment_targets_partnered_share.xlsx", /// firstrow(variables) replace restore +* Add metadata sheet so workbook provenance survives regeneration +putexcel set "`work_dir'/alignment_targets_partnered_share.xlsx", sheet("Info") modify +putexcel A1=("Field") B1=("Value") +putexcel A2=("Workbook") B2=("alignment_targets_partnered_share.xlsx") +putexcel A3=("Data sheet") B3=("partnered_share") +putexcel A4=("Relevant do file") B4=("input/DoFilesTarget/03b_calculate_partnership_target.do") +putexcel A5=("Related do file") B5=("input/DoFilesTarget/03a_calculate_partneredShare_initialPop_BUlogic.do") +putexcel A6=("Source data") B6=("Initial population CSV files for 2011-2023") +putexcel A7=("Years covered") B7=("2011-2023") +putexcel A8=("Unit of analysis") B8=("Adult person-year") +putexcel A9=("Eligible population") B9=("Adults aged 18+") +putexcel A10=("Partner definition") B10=("Partnered = 1 when another adult exists in the same BU after excluding self, mother, and father") +putexcel A11=("Partner identifier use") B11=("idpartner is not used; partnership is inferred from adult BU co-residency") +putexcel A12=("Weighting") B12=("Weighted annual share using wgthhcross; n_eligible and n_partnered are retained as unweighted counts in the full table") +putexcel A13=("How target is computed") B13=("Build adult BU roster, self-join by year and BU, drop self and parents, mark qualifying co-residents, merge flags back to the full adult population, then collapse (mean) partnered_share = partnered [pw = wgthhcross] by year") +putexcel A14=("Output meaning") B14=("Annual partnered share among adults aged 18+ under BU-logic partner inference") + list, sep(0) diff --git a/input/DoFilesTarget/02_person_risk_employment_stats.do b/input/DoFilesTarget/90_person_risk_employment_stats.do similarity index 100% rename from input/DoFilesTarget/02_person_risk_employment_stats.do rename to input/DoFilesTarget/90_person_risk_employment_stats.do diff --git a/input/align_employment.xlsx b/input/align_employment.xlsx deleted file mode 100644 index 10c2375e1611c03b2ed452eeca030df5b2a0a15e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15905 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 QH;xQu4RVHTzMn_`4}G;DXaE2J diff --git a/input/align_student_under30.xlsx b/input/align_student_under30.xlsx deleted file mode 100644 index 750a6b723b3d1c6467675de8e85e99fbaa1326ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8631 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 diff --git a/input/alignment_adjustment_series.xlsx b/input/alignment_adjustment_series.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3ee0856e9c80f910430d95de0abe8038847fee7c GIT binary patch literal 19748 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

4L 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 R000yGAqw{M1|=W=`aiX$Ej$1K literal 0 HcmV?d00001 diff --git a/input/alignment_targets_employment.xlsx b/input/alignment_targets_employment.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..7d5e51e5e8efe24a8cd2df28529f1040fdeb4c2e GIT binary patch literal 11562 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 K0PIu$`u0C-WV7G^ literal 0 HcmV?d00001 diff --git a/input/alignment_targets_inSchool.xlsx b/input/alignment_targets_inSchool.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..5829f75231db81d963aef90d2837d5a199a37214 GIT binary patch literal 6397 zcmZ`-1yEeswr$*ly95gaf@|XzB)Ge~yE_CY1b6okAPvDKxTbLuAh^3b1o@qr|7Iq< zH{Esbty|S=_t~q~*?XU*C<6nF0{{RJ0h#6?U5S1F3d)b zj!d3*wsNC#C|xY5@XPJW?hWZtWJS+j3q<9#jxxE0*3;RA+#Vgk3fX&k4G5B2CI@dd?ep?^5@d`m?-zp6*fKn+uize|Rlv9^Ih$V{?o8p@5t{K8 ze@h{iN`GS)vUD&M0D$?=6ighP&3@%j9N#J5&4L@jOz2A(GC#xKu0s zj!WXDUcP-WurWus!ivco@Fdk-8Jx0R{0x2j6&#H(yCrQcf<*FCNWA39k)bqF=$g+h zy0aM8MY`dVxk zEBCqD^pFGj=b@OIF}7Z&@gV{2l3W-W1eVjCko-+pCbFp$6WWUXlU<0*%a;IS&B-m z?RjJ2)@=w+k^?jy-KT~oU{dtyZrzfIevq~-i0B?`9`ZzDKJ@j%PFYP5rf^6&XUD-k z1910@%PRVUMCzlKyAmdJJ*6(GX{b#B!ek>=Rx-usV##=?B3aaydySA0aoQu zr3WpUqltGe+v~ZdiPLhTBaW>MNGCt3bd17j?fI~sc}XlpeMc`Z369hX-_p>)=@(_og_gmo;$$Uyp9R1dxOS?ErggImS(L; z0$qf}nvx%OUE5cIxs2`C(1tj$6cce(?vNp%k+1n?Hsl&Zf@n3%Wz%Kc_9sHI#Q3FJ z>wICVCN5Me!4k(uPKMqo&*YAi$}E0TY^>oV6nK%aRB9TmG9G_9DeQ+=#j_7tlfuVI z%+$Bi@v&AlRHd#o!`tjcof05ow{Xh|e(wjkn=DRbl6YcLXba*R35pP_mSZvy_4|y< zF3eY=g2segM9y`1LG?~$A%@ymedC_;6SbIkS{0m$f`$Y8!|`q-Q}NF*6ZE+uza5E= z!)zxD14?Hc6gX+Z-sk9dzv0 zlL@L3p>Dj3{(4N`gS2g`^8yL1I%&oog_R>pY`>#&A)P$E0cv{L$gi`$1Il+5WEj2S zH`uBjMqw9gaF*GvPim{90ZN}&4>`({fl>J^_!CI$J@QC7e_rajuTvGXsHBQD5{b6K z*fnR*^8$0y;+v2smE#<`Z+3b;iB@@jz&81%Y1nPejF11^>Qt&KJmOCw?T4SL{SKurA zPJG*OD^=HEZ9HLZuEea)9z^FsXh*5c(`A*0ZBhPp(X6^tjdWB^=d`NLTA&tJe)K`B zav&EKQyvcmOUfh(zeKv=j8LU*>(!ecHDJ3qdp%YvLF?LPzmvR5BbIwTIy75T3s0H1 z8LLIf=@KI<5`#{J7S^hq-of{+%&bq|l-=o@@n2IqQWpZqTu)^6<+ z`J`mCym~RAT*aZOl1bq4@Y&WC4-?|xv7v^O245dT2b-3V1g71hd^tsJqQf1j6yymI zXLuVXuRrku3n!`y6^;VmdF|*Z(c0tP^esb>U5F~1>396EVv(H!?9O5{sxQty&C;NR z&aJ8rw-B|_7|L{e+h;S=Lhd)SM!_VO!#Hoa0@D z(ci>o5G(TU^oxoL#4I;%YX&LYyvX9K^*IS5&%B$OE4o}*M)mzxu3c>U3R6f1!S{Ir zyvaMAa}I-89OKH8>dL-ZR#dM*%`?<|bKp|Acm@&s_vi|q7-R>L@4_2GbKlS`FVQ$i z;^FjJ)9bkk*X5D<=O2#Hs=9jKuN*|TL;c=Bs3_qP5MTiSIWz!(;Lir);oxlJVrgdP z>cafT- zg$-P-qdacx2tL&p8n>HeW@nnWu$USwPJ!}uN7GL&fSbH+xXsD;LMSr4H?g-s&Hahl(JeH2~oy77dnEH0TIM7v&T>x#w`R9d=SV-5u z=5dLBDd%ByNuYE&uMMPV-PP&|8BQox0)koc(wA75dl|SI!$>2}Mh>|4FGEk^^;>!o ztzuu1_9ZvNO<<$=9!z{d&$!CUIxfnxgEOzzBK%lycpepLrY}7xIjSp!AgmB3q7a;S zFon_Z#;=N2WM-BFE_e#ccdPq)A#T-0N~AY*k}^uD6cQXoRG-6{FIwcyEz7(t0D&hy*X< zH`GJZORZhjEM$BhO8%A~oY0ytOS{5*k4beSv-C9;jLiJ)L5B`0)y}rV*ZBwbBNgil zjOMzF+ zDAo_pe=i=MZ<$;}p&^qe!oL;|wqGNtTe6))CJRP?JMtMW_?Uyvwy4g$T zf=FydD2qO;DF>mptUkJlP1w-xJX^MIsoap4;CGL}~G2 z+vFiw^2j6!EpRPuU}CX;^d9$U-h=*{dU}!-4>yqY@uUCnBkr^cv3tqJXI+yq~}*!DzWjepxky6(kC8y&n6 z4UB!`pN9c0n?lW#^5}=7GvCzvgF+Q}E&5!{`Qy8$y~|jjUq+{z6>P9IcSb3eAetlq z6yIBHAeA5W?=Z=ur73~gD;!~ou=3cA$BvyAH-%%{k+SAV?XvR9{E&oqSMIvWYtM(N_}T1=qSdi2J_kD4Oztl%Qtyv#Z*=8Ez$v6=~TU(y9ulGNIWfrf5kbiLqJ=Gx7j_4s!>o zf{VoIi;1oGRi}-nttG(Eq+$@c%hgD@l4KGN*2{iym!Le`rIwRcr$(&ND_;LzOR;D; zJrM?{pjt#-8jPRO(z}4}paWXqIJdcXU=>#B5#VhJMq!1IjNmqHNg?X4ou7-O<=K<5 zB@oKdNlDP2Jo7#aW3X_QKE?{3YQmC6XlAm#EJwfT_Y@k)c9aAi8uj8!r^+sU8_4{e zZI}$zws|p*_Re}m>7|J(Oku*L_M6?amNENn`&bp@_x7>RxRJ3Nzldu3Al1gL;`zv- z5W4TY^rz?rhQPZKUG<2&+Q zy}HP~vAaoRJ5u0++u2-_|60YIq1Nhg*4B*NF%JSAa;scT$krzRfU{^)5g+*-Fxb? z&4oZGqsG?hiUmja{X}rWMa58fnSdj|S=1s#fEYLuSCz5%(3nyTmYgBD;#H#` zM9g$vsTPh ziAA6^Ms5|R_r#m@oL|PwbdXzO$~@-eFoMuI^4v*W=8A3mSbB7SsB=~VKHJb4<~S8- z(sRlPGv;%|ja|%OFl?T^7+~zSpK6eGxqEYt9KYA>QfuacjB^2X{i!>HN?J_&hf^TC z%;WIug1h1$#k<| zggr_RqF2>bA(<@Thx20K()uf8?s+o|CWGB3@4Y8etVJ+{^bQxn-9Kse*iWjdd1;=H z+*YlMa#9}9%ZYstoLq_0K2|D^%ubm(r6_LhL#|hKd)8XymBOe3Uk*1I4nLPCF&m(n zZ#G850a)FSa3=aPTS05VoK=+R7T_%j41b>QkcbV>Fkaw`XARU*j1-G~#%ze3Tt>~| z>QCN>;x+DWz^bM5VNb~u0k6V8=ITp6w_cbLWwY1_9h+Iwr84q=@}Q ztP3^n5o$nEG7$}i)0;&B6W5zUP#Slsjrnb|uTvtk@%6~;9MI=7wrJSn(~b(4!S6hm z>pL^mLimk=@J#e4&wpy_pKSl3uigYXF0aY`i6&q?9vHDh7lWUpdD@LbF@v}jz z)umcBrPRvBVC|u;tBqF%F?c0xq~&xq zd<^_l28D2`J)RNR%JvY#ye=7$MlF7h`#y%*M`}<6{o}&IHaE1#)wmNPnxjC3?Qz?nL1l9o`#I=-BQaSJbXrU6zW0|M!brQW6L6IN*iCSENtXZ zvRDpvy3Z+6zCvs8Zo?}7%2nJf1-5E8o8ORui{QzUwdqN&#G<89Yfx$Eq8A`~Y- zLpi#l3=}jD%)gt=5K{m61VUK;Z_D{9`l-MBCl&w*gzEk$`af>(Q}|OC^l$h)@&5cNA^Nl=1&{>z`5n7>=Jtc{-W=6$J_xQvQCM zQ=USf_JqHoQxMnuA06T;@M(?x8`zHZ*UJA>ai4;p7LLEcv=Dtj7W^+|>%L9A~802%TPfmAIMykBqs2Nro$=l}o! literal 0 HcmV?d00001 diff --git a/input/alignment_targets_partnered_share.xlsx b/input/alignment_targets_partnered_share.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..cd1a64647d0c6dcf93190a1f3a4a51864c115d3a GIT binary patch literal 7037 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 literal 0 HcmV?d00001 diff --git a/input/economic_time_series.xlsx b/input/economic_time_series.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..6a1aec9904cdf9e330e23075263503291ec47051 GIT binary patch literal 40262 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 literal 0 HcmV?d00001 diff --git a/input/employment_targets.xlsx b/input/employment_targets.xlsx deleted file mode 100644 index c112905e0fa7bfde6a0009d8499b7ac313bb4fa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7741 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 J78>-*{{y8M`|bb$ diff --git a/input/inSchool_targets.xlsx b/input/inSchool_targets.xlsx deleted file mode 100644 index 521a102a5e1bee5da3aecbe23ba6e446c9a9057b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3013 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 diff --git a/input/partnered_share_targets.xlsx b/input/partnered_share_targets.xlsx deleted file mode 100644 index cd35770bf277642dfaf74f063e7993d967427293..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8988 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 diff --git a/input/social_care_parameters.xlsx b/input/social_care_parameters.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..0f3097b897bf5113aee883423bca22b6ee8ac35e GIT binary patch literal 11485 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 literal 0 HcmV?d00001 diff --git a/src/main/java/simpaths/data/Parameters.java b/src/main/java/simpaths/data/Parameters.java index 4d249ca3b..68033649f 100644 --- a/src/main/java/simpaths/data/Parameters.java +++ b/src/main/java/simpaths/data/Parameters.java @@ -2461,29 +2461,29 @@ public static LinearRegression getRegEmploymentSelectionFemaleNE() { public static void loadTimeSeriesFactorMaps(Country country) { // load demYear varying rates - priceMapRealSavingReturns = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_saving_returns", 1, 1); - priceMapRealDebtCostLow = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_debt_cost_low", 1, 1); - priceMapRealDebtCostHigh = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_debt_cost_hi", 1, 1); + priceMapRealSavingReturns = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "saving_returns", 1, 1); + priceMapRealDebtCostLow = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "debt_cost_low", 1, 1); + priceMapRealDebtCostHigh = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "debt_cost_hi", 1, 1); // load demYear varying wage rates - wageRateFormalSocialCare = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_carer_hourly_wage", 1, 1); + wageRateFormalSocialCare = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "carer_hourly_wage", 1, 1); // load demYear varying indices - upratingIndexMapRealGDP = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_gdp", 1, 1); - upratingIndexMapInflation = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_inflation", 1, 1); - upratingIndexMapRealWageGrowth = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_wage_growth", 1, 1); - socialCareProvisionTimeAdjustment = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_care_adjustment", 1, 1); - partnershipTimeAdjustment = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_cohabitation_adjustment", 1, 1); - studentsTimeAdjustment = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() +"_students_adjustment", 1, 1); - fertilityTimeAdjustment = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_fertility_adjustment", 1, 1); - utilityTimeAdjustmentSingleMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_utility_adj_smales", 1, 1); - utilityTimeAdjustmentSingleFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_utility_adj_sfemales", 1, 1); - utilityTimeAdjustmentACMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_utility_adj_acmales", 1, 1); - utilityTimeAdjustmentACFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_utility_adj_acfemales", 1, 1); - - utilityTimeAdjustmentCouples = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_utility_adj_couples", 1, 1); - utilityTimeAdjustmentSingleDepMen = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_utility_adj_singledepmen", 1, 1); - utilityTimeAdjustmentSingleDepWomen = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_utility_adj_singledepwomen", 1, 1); + upratingIndexMapRealGDP = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "gdp", 1, 1); + upratingIndexMapInflation = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "inflation", 1, 1); + upratingIndexMapRealWageGrowth = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "wage_growth", 1, 1); + socialCareProvisionTimeAdjustment = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "care_adjustment", 1, 1); + partnershipTimeAdjustment = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "cohabitation_adjustment", 1, 1); + studentsTimeAdjustment = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "students_adjustment", 1, 1); + fertilityTimeAdjustment = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "fertility_adjustment", 1, 1); + utilityTimeAdjustmentSingleMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "utility_adj_smales", 1, 1); + utilityTimeAdjustmentSingleFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "utility_adj_sfemales", 1, 1); + utilityTimeAdjustmentACMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "utility_adj_acmales", 1, 1); + utilityTimeAdjustmentACFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "utility_adj_acfemales", 1, 1); + + utilityTimeAdjustmentCouples = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "utility_adj_couples", 1, 1); + utilityTimeAdjustmentSingleDepMen = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "utility_adj_singledepmen", 1, 1); + utilityTimeAdjustmentSingleDepWomen = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_adjustment_series.xlsx", "utility_adj_singledepwomen", 1, 1); // rebase indices to base year defined by BASE_PRICE_YEAR @@ -2491,23 +2491,23 @@ public static void loadTimeSeriesFactorMaps(Country country) { rebaseIndexMap(TimeSeriesVariable.Inflation); rebaseIndexMap(TimeSeriesVariable.WageGrowth); - //studentShare = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "policy parameters.xlsx", "students", 1,1); - studentShare = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "inSchool_targets.xlsx", "students", 1,1); + //studentShare = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "social_care_parameters.xlsx", "students", 1,1); + studentShare = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_targets_inSchool.xlsx", "students", 1,1); - // load year-specific fiscal policy parameters - socialCarePolicy = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "policy parameters.xlsx", "social care", 1, 8); - partneredShare = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "partnered_share_targets.xlsx", "partnered_share", 1, 1); - //employedShareSingleMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "policy parameters.xlsx", "employment_smales", 1, 1); - //employedShareSingleFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "policy parameters.xlsx", "employment_sfemales", 1, 1); - //employedShareCouples = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "policy parameters.xlsx", "employment_couples", 1, 1); + // load year-specific social care policy parameters + socialCarePolicy = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "social_care_parameters.xlsx", "social care", 1, 8); + partneredShare = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_targets_partnered_share.xlsx", "partnered_share", 1, 1); + //employedShareSingleMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "social_care_parameters.xlsx", "employment_smales", 1, 1); + //employedShareSingleFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "social_care_parameters.xlsx", "employment_sfemales", 1, 1); + //employedShareCouples = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "social_care_parameters.xlsx", "employment_couples", 1, 1); - employedShareSingleMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "employment_targets.xlsx", "Single_male", 1,1); - employedShareACMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "employment_targets.xlsx", "SingleAC_Males", 1,1); - employedShareSingleFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "employment_targets.xlsx", "Single_female", 1,1); - employedShareACFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "employment_targets.xlsx", "SingleAC_Females", 1,1); - employedShareCouples = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "employment_targets.xlsx", "Couples", 1,1); - employedShareSingleDepMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "employment_targets.xlsx", "SingleDep_Males", 1,1); - employedShareSingleDepFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "employment_targets.xlsx", "SingleDep_Females", 1,1); + employedShareSingleMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_targets_employment.xlsx", "Single_male", 1,1); + employedShareACMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_targets_employment.xlsx", "SingleAC_Males", 1,1); + employedShareSingleFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_targets_employment.xlsx", "Single_female", 1,1); + employedShareACFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_targets_employment.xlsx", "SingleAC_Females", 1,1); + employedShareCouples = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_targets_employment.xlsx", "Couples", 1,1); + employedShareSingleDepMales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_targets_employment.xlsx", "SingleDep_Males", 1,1); + employedShareSingleDepFemales = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "alignment_targets_employment.xlsx", "SingleDep_Females", 1,1); } @@ -2525,15 +2525,15 @@ public static void loadTimeSeriesFactorForTaxDonor(Country country) { TimeSeriesVariable index = getTimeSeriesVariable(UpratingCase.TaxDonor); switch (index) { case GDP -> { - upratingIndexMapRealGDP = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_gdp", 1, 1); + upratingIndexMapRealGDP = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "gdp", 1, 1); rebaseIndexMap(TimeSeriesVariable.GDP); } case WageGrowth -> { - upratingIndexMapRealWageGrowth = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_wage_growth", 1, 1); + upratingIndexMapRealWageGrowth = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "wage_growth", 1, 1); rebaseIndexMap(TimeSeriesVariable.WageGrowth); } case Inflation -> { - upratingIndexMapInflation = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "time_series_factor.xlsx", country.toString() + "_inflation", 1, 1); + upratingIndexMapInflation = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "economic_time_series.xlsx", "inflation", 1, 1); rebaseIndexMap(TimeSeriesVariable.Inflation); } } From 9db3b55d516ff30675543963b93845b0b5f95e9b Mon Sep 17 00:00:00 2001 From: Mariia Var Date: Tue, 2 Jun 2026 23:10:46 +0100 Subject: [PATCH 2/3] Removed outdated employment alignment -the documentation has been updated accordingly --- .../wiki/overview/parameterisation.md | 9 ++- src/main/java/simpaths/data/Parameters.java | 16 ----- .../java/simpaths/model/SimPathsModel.java | 68 ------------------- .../model/enums/TimeSeriesVariable.java | 1 - 4 files changed, 7 insertions(+), 87 deletions(-) diff --git a/documentation/wiki/overview/parameterisation.md b/documentation/wiki/overview/parameterisation.md index 73473832f..876a715dc 100644 --- a/documentation/wiki/overview/parameterisation.md +++ b/documentation/wiki/overview/parameterisation.md @@ -26,9 +26,14 @@ Source: [Github](https://github.com/simpaths/SimPaths/tree/develop/input). Files listed below contain alignment targets. * align_educLevel.xlsx -* align_employment.xlsx * align_popProjections.xlsx -* align_student_under30.xlsx + +**alignment_targets_ files** +Files listed below contain alignment targets for in-school, partnership, and employment shares. + +* alignment_targets_employment.xlsx +* alignment_targets_inSchool.xlsx +* alignment_targets_partnered_share.xlsx **projections_ files** Files listed below contain demographic projections. diff --git a/src/main/java/simpaths/data/Parameters.java b/src/main/java/simpaths/data/Parameters.java index dcadc0820..aa0f375a8 100644 --- a/src/main/java/simpaths/data/Parameters.java +++ b/src/main/java/simpaths/data/Parameters.java @@ -422,12 +422,6 @@ else if(numberOfChildren <= 5) { private static MultiKeyCoefficientMap projectionsHighEdu; //Alignment projections for High Education private static MultiKeyCoefficientMap projectionsLowEdu; //Alignment projections for Medium Education - //Student share projections for alignment - private static MultiKeyCoefficientMap studentShareProjections; //Alignment projections for Student share of population - - //Employment alignment targets - private static MultiKeyCoefficientMap employmentAlignment; - //For marriage types: private static MultiKeyCoefficientMap marriageTypesFrequency; private static Map> marriageTypesFrequencyByGenderAndRegion; @@ -960,11 +954,6 @@ public static void loadParameters(Country country, int maxAgeModel, boolean enab projectionsHighEdu = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "align_educLevel.xlsx", "High", 1); projectionsLowEdu = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "align_educLevel.xlsx", "Low", 1); - studentShareProjections = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "align_student_under30.xlsx", countryString, 1); - - //Employment alignment - employmentAlignment = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "align_employment.xlsx", countryString, 2); - //Marriage types frequencies: marriageTypesFrequency = ExcelAssistant.loadCoefficientMap(Parameters.getInputDirectory() + "marriageTypes2.xlsx", countryString, 2); marriageTypesFrequencyByGenderAndRegion = new LinkedHashMap>(); //Create a map of maps to store the frequencies @@ -1922,8 +1911,6 @@ public static void setCountryBenefitUnitName() { public static MultiKeyCoefficientMap getBenefitUnitVariableNames() { return benefitUnitVariableNames; } - public static MultiKeyCoefficientMap getStudentShareProjections() { return studentShareProjections; } - public static MultinomialRegression getRegEducationLevel() {return regEducationLevel;} public static MultiKeyCoefficientMap getEmploymentsFurloughedFull() { @@ -2621,9 +2608,6 @@ private static MultiKeyCoefficientMap getTimeSeriesValueMap(TimeSeriesVariable t case LowEducationRate -> { map = projectionsLowEdu; } - case EmploymentAlignment -> { - map = employmentAlignment; - } case FixedRetirementAge -> { map = fixedRetireAge; } diff --git a/src/main/java/simpaths/model/SimPathsModel.java b/src/main/java/simpaths/model/SimPathsModel.java index 173cbdd89..d86e6119d 100644 --- a/src/main/java/simpaths/model/SimPathsModel.java +++ b/src/main/java/simpaths/model/SimPathsModel.java @@ -2145,74 +2145,6 @@ public void resample(Person agent) { } - /** - * PROCESS - ALIGN THE SHARE OF EMPLOYED IN THE SIMULATED POPULATION - */ - - private void employmentAlignment() { - - //Create a nested map to store persons by gender and region - LinkedHashMap>> personsByGenderAndRegion; - personsByGenderAndRegion = new LinkedHashMap>>(); - - EnumSet regionEnumSet = EnumSet.of(Region.UKC, Region.UKD, Region.UKE, Region.UKF, Region.UKG, Region.UKH, Region.UKI, Region.UKJ, Region.UKK, Region.UKL, Region.UKM, Region.UKN); - - for (Gender gender : Gender.values()) { - personsByGenderAndRegion.put(gender, new LinkedHashMap>()); - for (Region region : regionEnumSet) { - personsByGenderAndRegion.get(gender).put(region, new LinkedHashSet()); - } - } - - //Iterate over persons and add them to the nested map above - for (Person person : persons) { - if (person.getDemAge() >= 18 && person.getDemAge() <= 64) { - personsByGenderAndRegion.get(person.getDemMaleFlag()).get(person.getRegion()).add(person); - } - } - - //For all gender and region combinations, compare the share of employed persons with the alignment target - for (Gender gender : Gender.values()) { - for (Region region : regionEnumSet) { - double numberEmployed = 0; - Set personsToIterateOver = personsByGenderAndRegion.get(gender).get(region); - - for (Person person : personsToIterateOver) { - numberEmployed += person.getEmployed(); - } - - double sizeSimulatedSet = personsToIterateOver.size(); - - double shareEmployedSimulated = numberEmployed/sizeSimulatedSet; - double shareEmployedTargeted = Parameters.getTimeSeriesValue(year, gender.toString(), region.toString(), TimeSeriesVariable.EmploymentAlignment); - - int targetNumberEmployed = (int) (shareEmployedTargeted*sizeSimulatedSet); - - - //Simulated share of employment exceeds projections => move some individuals at random to non-employment - if ((int) numberEmployed > targetNumberEmployed) { - new ResamplingAlignment().align( - personsToIterateOver, - null, - new AlignmentOutcomeClosure() { - @Override - public boolean getOutcome(Person person) { - return person.getLabC4().equals(Les_c4.EmployedOrSelfEmployed); - } - - @Override - public void resample(Person person) { - person.setLabC4(Les_c4.NotEmployed); - person.setLabourSupplyWeekly(Labour.ZERO); - } - }, - targetNumberEmployed); - } - } - } - - } - /** * * PROCESS - ALIGN THE SHARE OF STUDENTS IN THE SIMULATED POPULATION diff --git a/src/main/java/simpaths/model/enums/TimeSeriesVariable.java b/src/main/java/simpaths/model/enums/TimeSeriesVariable.java index db2a7a441..7c45c522a 100644 --- a/src/main/java/simpaths/model/enums/TimeSeriesVariable.java +++ b/src/main/java/simpaths/model/enums/TimeSeriesVariable.java @@ -3,7 +3,6 @@ public enum TimeSeriesVariable { CareProvisionAdjustment, CarerWageRate, - EmploymentAlignment, FixedRetirementAge, GDP, GDPperCapita, From ed115f07f53e1a95a43aec5e7d7a3f4a42606652 Mon Sep 17 00:00:00 2001 From: Mariia Var Date: Wed, 3 Jun 2026 16:59:17 +0100 Subject: [PATCH 3/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- documentation/wiki/developer-guide/repository-guide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/documentation/wiki/developer-guide/repository-guide.md b/documentation/wiki/developer-guide/repository-guide.md index b718e96cd..8e59bc8c3 100644 --- a/documentation/wiki/developer-guide/repository-guide.md +++ b/documentation/wiki/developer-guide/repository-guide.md @@ -354,10 +354,10 @@ After running, output Excel files are placed in `input/` (overwriting the existi | Script | Output file | |--------|------------| | `01_employment_shares_initpopdata.do` | `input/alignment_targets_employment.xlsx` — employment shares by benefit-unit subgroup and year | -| `01_inSchool_targets_initpopdata.do` | `input/alignment_targets_inSchool.xlsx` — school participation rates by year | -| `03_calculate_partneredShare_initialPop_BUlogic.do` | `input/alignment_targets_partnered_share.xlsx` — partnership shares by year | -| `03_calculate_partnership_target.do` | Supplementary partnership targets | -| `02_person_risk_employment_stats.do` | `employment_risk_emp_stats.csv` — person-level at-risk diagnostics used for employment alignment group construction | +| `02_inSchool_targets_initpopdata.do` | `input/alignment_targets_inSchool.xlsx` — school participation rates by year | +| `03a_calculate_partneredShare_initialPop_BUlogic.do` | `input/alignment_targets_partnered_share.xlsx` — partnership shares by year | +| `03b_calculate_partnership_target.do` | Supplementary partnership targets | +| `90_person_risk_employment_stats.do` | `employment_risk_emp_stats.csv` — person-level at-risk diagnostics used for employment alignment group construction | Population projection targets (`align_popProjections.xlsx`) and fertility/mortality projections (`projections_*.xlsx`) come from ONS published projections and are not generated by these scripts.