policyengine-uk 2.40.1__py3-none-any.whl → 2.65.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. policyengine_uk/__init__.py +5 -3
  2. policyengine_uk/data/__init__.py +1 -0
  3. policyengine_uk/data/dataset_schema.py +70 -18
  4. policyengine_uk/data/economic_assumptions.py +36 -10
  5. policyengine_uk/data/filter_dataset.py +52 -0
  6. policyengine_uk/dynamics/labour_supply.py +343 -0
  7. policyengine_uk/dynamics/participation.py +629 -0
  8. policyengine_uk/dynamics/progression.py +384 -0
  9. policyengine_uk/microsimulation.py +105 -0
  10. policyengine_uk/model_api.py +1 -0
  11. policyengine_uk/parameters/gov/boe/base_rate.yaml +34 -0
  12. policyengine_uk/parameters/gov/boe/index.yaml +2 -0
  13. policyengine_uk/parameters/gov/contrib/behavioral_responses/employee_salary_sacrifice_reduction_rate.yaml +14 -0
  14. policyengine_uk/parameters/gov/contrib/behavioral_responses/salary_sacrifice_broad_base_haircut_rate.yaml +22 -0
  15. policyengine_uk/parameters/gov/contrib/cec/state_pension_increase.yaml +1 -1
  16. policyengine_uk/parameters/gov/contrib/ubi_center/carbon_tax.yaml +2 -2
  17. policyengine_uk/parameters/gov/contrib/ubi_center/land_value_tax.yaml +3 -3
  18. policyengine_uk/parameters/gov/dcms/bbc/tv_licence/colour.yaml +5 -5
  19. policyengine_uk/parameters/gov/dfe/education_spending.yaml +1 -1
  20. policyengine_uk/parameters/gov/dft/rail/fare_index.yaml +32 -0
  21. policyengine_uk/parameters/gov/dft/rail/prior_law_fare_index.yaml +32 -0
  22. policyengine_uk/parameters/gov/dft/rail/ridership_index.yaml +30 -0
  23. policyengine_uk/parameters/gov/dft/spending.yaml +2 -2
  24. policyengine_uk/parameters/gov/dwp/ESA/income/earn_disregard.yaml +1 -1
  25. policyengine_uk/parameters/gov/dwp/ESA/income/income_disregard_couple.yaml +1 -1
  26. policyengine_uk/parameters/gov/dwp/ESA/income/income_disregard_lone_parent.yaml +1 -1
  27. policyengine_uk/parameters/gov/dwp/ESA/income/income_disregard_single.yaml +1 -1
  28. policyengine_uk/parameters/gov/dwp/ESA/income/pension_disregard.yaml +1 -1
  29. policyengine_uk/parameters/gov/dwp/IIDB/maximum.yaml +1 -1
  30. policyengine_uk/parameters/gov/dwp/JSA/contrib/amount_over_25.yaml +1 -1
  31. policyengine_uk/parameters/gov/dwp/JSA/contrib/earn_disregard.yaml +1 -1
  32. policyengine_uk/parameters/gov/dwp/JSA/contrib/pension_disregard.yaml +1 -1
  33. policyengine_uk/parameters/gov/dwp/JSA/income/amount_18_24.yaml +7 -7
  34. policyengine_uk/parameters/gov/dwp/JSA/income/amount_over_25.yaml +7 -7
  35. policyengine_uk/parameters/gov/dwp/JSA/income/income_disregard_couple.yaml +1 -1
  36. policyengine_uk/parameters/gov/dwp/JSA/income/income_disregard_lone_parent.yaml +1 -1
  37. policyengine_uk/parameters/gov/dwp/JSA/income/income_disregard_single.yaml +1 -1
  38. policyengine_uk/parameters/gov/dwp/LHA/shared_accommodation_age_threshold.yaml +12 -0
  39. policyengine_uk/parameters/gov/dwp/attendance_allowance/higher.yaml +7 -7
  40. policyengine_uk/parameters/gov/dwp/attendance_allowance/lower.yaml +7 -7
  41. policyengine_uk/parameters/gov/dwp/benefit_cap.yaml +3 -3
  42. policyengine_uk/parameters/gov/dwp/carer_premium/couple.yaml +2 -2
  43. policyengine_uk/parameters/gov/dwp/carer_premium/single.yaml +6 -6
  44. policyengine_uk/parameters/gov/dwp/carers_allowance/rate.yaml +7 -7
  45. policyengine_uk/parameters/gov/dwp/disability_premia/disability_couple.yaml +1 -1
  46. policyengine_uk/parameters/gov/dwp/disability_premia/enhanced_couple.yaml +1 -1
  47. policyengine_uk/parameters/gov/dwp/disability_premia/enhanced_single.yaml +1 -1
  48. policyengine_uk/parameters/gov/dwp/disability_premia/severe_couple.yaml +1 -1
  49. policyengine_uk/parameters/gov/dwp/dla/mobility/higher.yaml +4 -4
  50. policyengine_uk/parameters/gov/dwp/dla/mobility/lower.yaml +8 -8
  51. policyengine_uk/parameters/gov/dwp/dla/self_care/higher.yaml +7 -7
  52. policyengine_uk/parameters/gov/dwp/dla/self_care/lower.yaml +8 -8
  53. policyengine_uk/parameters/gov/dwp/dla/self_care/middle.yaml +7 -7
  54. policyengine_uk/parameters/gov/dwp/housing_benefit/allowances/lone_parent/aged.yaml +1 -1
  55. policyengine_uk/parameters/gov/dwp/housing_benefit/allowances/lone_parent/older.yaml +3 -3
  56. policyengine_uk/parameters/gov/dwp/housing_benefit/allowances/single/aged.yaml +1 -1
  57. policyengine_uk/parameters/gov/dwp/housing_benefit/allowances/single/older.yaml +3 -3
  58. policyengine_uk/parameters/gov/dwp/housing_benefit/means_test/income_disregard/worker.yaml +1 -1
  59. policyengine_uk/parameters/gov/dwp/housing_benefit/non_dep_deduction/amount.yaml +1 -1
  60. policyengine_uk/parameters/gov/dwp/housing_benefit/takeup.yaml +7 -7
  61. policyengine_uk/parameters/gov/dwp/income_support/amounts/amount_16_24.yaml +1 -1
  62. policyengine_uk/parameters/gov/dwp/income_support/amounts/amount_couples_over_18.yaml +1 -1
  63. policyengine_uk/parameters/gov/dwp/income_support/means_test/earn_disregard.yaml +1 -1
  64. policyengine_uk/parameters/gov/dwp/income_support/means_test/income_disregard_couple.yaml +1 -1
  65. policyengine_uk/parameters/gov/dwp/income_support/means_test/income_disregard_lone_parent.yaml +1 -1
  66. policyengine_uk/parameters/gov/dwp/income_support/means_test/income_disregard_single.yaml +1 -1
  67. policyengine_uk/parameters/gov/dwp/income_support/means_test/pension_disregard.yaml +1 -1
  68. policyengine_uk/parameters/gov/dwp/income_support/takeup.yaml +7 -7
  69. policyengine_uk/parameters/gov/dwp/pension_credit/guarantee_credit/carer/addition.yaml +4 -4
  70. policyengine_uk/parameters/gov/dwp/pension_credit/guarantee_credit/minimum_guarantee.yaml +9 -9
  71. policyengine_uk/parameters/gov/dwp/pension_credit/guarantee_credit/severe_disability/addition.yaml +3 -3
  72. policyengine_uk/parameters/gov/dwp/pension_credit/savings_credit/threshold.yaml +5 -5
  73. policyengine_uk/parameters/gov/dwp/pip/daily_living/enhanced.yaml +7 -7
  74. policyengine_uk/parameters/gov/dwp/pip/daily_living/standard.yaml +8 -8
  75. policyengine_uk/parameters/gov/dwp/pip/mobility/enhanced.yaml +4 -4
  76. policyengine_uk/parameters/gov/dwp/pip/mobility/standard.yaml +9 -9
  77. policyengine_uk/parameters/gov/dwp/sda/maximum.yaml +7 -7
  78. policyengine_uk/parameters/gov/dwp/state_pension/basic_state_pension/amount.yaml +11 -11
  79. policyengine_uk/parameters/gov/dwp/state_pension/new_state_pension/amount.yaml +4 -4
  80. policyengine_uk/parameters/gov/dwp/tax_credits/child_tax_credit/limit/child_count.yaml +10 -1
  81. policyengine_uk/parameters/gov/dwp/tax_credits/child_tax_credit/takeup.yaml +7 -7
  82. policyengine_uk/parameters/gov/dwp/tax_credits/working_tax_credit/takeup.yaml +7 -7
  83. policyengine_uk/parameters/gov/dwp/universal_credit/elements/carer/amount.yaml +3 -3
  84. policyengine_uk/parameters/gov/dwp/universal_credit/elements/child/amount.yaml +2 -4
  85. policyengine_uk/parameters/gov/dwp/universal_credit/elements/child/disabled/amount.yaml +2 -4
  86. policyengine_uk/parameters/gov/dwp/universal_credit/elements/child/first/higher_amount.yaml +6 -8
  87. policyengine_uk/parameters/gov/dwp/universal_credit/elements/child/limit/child_count.yaml +6 -1
  88. policyengine_uk/parameters/gov/dwp/universal_credit/elements/child/severely_disabled/amount.yaml +3 -5
  89. policyengine_uk/parameters/gov/dwp/universal_credit/elements/childcare/cap.yaml +2 -6
  90. policyengine_uk/parameters/gov/dwp/universal_credit/elements/disabled/amount.yaml +4 -6
  91. policyengine_uk/parameters/gov/dwp/universal_credit/elements/housing/non_dep_deduction/amount.yaml +4 -1
  92. policyengine_uk/parameters/gov/dwp/universal_credit/rebalancing/active.yaml +9 -0
  93. policyengine_uk/parameters/gov/dwp/universal_credit/rebalancing/new_claimant_health_element.yaml +9 -0
  94. policyengine_uk/parameters/gov/dwp/universal_credit/rebalancing/standard_allowance_uplift.yaml +13 -0
  95. policyengine_uk/parameters/gov/dwp/universal_credit/standard_allowance/amount.yaml +5 -5
  96. policyengine_uk/parameters/gov/dwp/winter_fuel_payment/eligibility/taxable_income_test/maximum_taxable_income.yaml +2 -1
  97. policyengine_uk/parameters/gov/dwp/winter_fuel_payment/eligibility/taxable_income_test/use_maximum_taxable_income.yaml +1 -0
  98. policyengine_uk/parameters/gov/dynamic/obr_labour_supply_assumptions.yaml +9 -0
  99. policyengine_uk/parameters/gov/economic_assumptions/create_economic_assumption_indices.py +1 -1
  100. policyengine_uk/parameters/gov/economic_assumptions/yoy_growth.yaml +522 -153
  101. policyengine_uk/parameters/gov/hmrc/cgt/additional_rate.yaml +5 -0
  102. policyengine_uk/parameters/gov/hmrc/cgt/basic_rate.yaml +5 -0
  103. policyengine_uk/parameters/gov/hmrc/cgt/higher_rate.yaml +4 -0
  104. policyengine_uk/parameters/gov/hmrc/child_benefit/amount/additional.yaml +6 -6
  105. policyengine_uk/parameters/gov/hmrc/child_benefit/amount/eldest.yaml +8 -8
  106. policyengine_uk/parameters/gov/hmrc/child_benefit/takeup/by_age.yaml +1 -1
  107. policyengine_uk/parameters/gov/hmrc/fuel_duty/calculate_fuel_duty_rates.py +464 -0
  108. policyengine_uk/parameters/gov/hmrc/fuel_duty/petrol_and_diesel.yaml +86 -10
  109. policyengine_uk/parameters/gov/hmrc/income_tax/allowances/personal_allowance/amount.yaml +6 -0
  110. policyengine_uk/parameters/gov/hmrc/income_tax/earned_taxable_income_exclusions.yaml +2 -1
  111. policyengine_uk/parameters/gov/hmrc/income_tax/income_tax_additions.yaml +1 -0
  112. policyengine_uk/parameters/gov/hmrc/income_tax/rates/dividends.yaml +12 -0
  113. policyengine_uk/parameters/gov/hmrc/income_tax/rates/property.yaml +46 -0
  114. policyengine_uk/parameters/gov/hmrc/income_tax/rates/savings.yaml +46 -0
  115. policyengine_uk/parameters/gov/hmrc/income_tax/rates/scotland/rates.yaml +2 -2
  116. policyengine_uk/parameters/gov/hmrc/income_tax/rates/uk.yaml +14 -2
  117. policyengine_uk/parameters/gov/hmrc/national_insurance/class_1/rates/employee/additional.yaml +4 -6
  118. policyengine_uk/parameters/gov/hmrc/national_insurance/class_1/rates/employer.yaml +3 -3
  119. policyengine_uk/parameters/gov/hmrc/national_insurance/class_1/thresholds/secondary_threshold.yaml +14 -4
  120. policyengine_uk/parameters/gov/hmrc/national_insurance/class_2/flat_rate.yaml +2 -2
  121. policyengine_uk/parameters/gov/hmrc/national_insurance/salary_sacrifice_pension_cap.yaml +16 -0
  122. policyengine_uk/parameters/gov/hmrc/student_loans/interest_rates/index.yaml +12 -0
  123. policyengine_uk/parameters/gov/hmrc/student_loans/interest_rates/plan_1/boe_margin.yaml +11 -0
  124. policyengine_uk/parameters/gov/hmrc/student_loans/interest_rates/plan_2/additional_rate.yaml +27 -0
  125. policyengine_uk/parameters/gov/hmrc/student_loans/interest_rates/plan_2/index.yaml +16 -0
  126. policyengine_uk/parameters/gov/hmrc/student_loans/interest_rates/plan_2/upper_threshold.yaml +48 -0
  127. policyengine_uk/parameters/gov/hmrc/student_loans/interest_rates/postgraduate_additional_rate.yaml +11 -0
  128. policyengine_uk/parameters/gov/hmrc/student_loans/postgraduate_repayment_rate.yaml +9 -0
  129. policyengine_uk/parameters/gov/hmrc/student_loans/repayment_rate.yaml +9 -0
  130. policyengine_uk/parameters/gov/hmrc/student_loans/thresholds/plan_1.yaml +25 -0
  131. policyengine_uk/parameters/gov/hmrc/student_loans/thresholds/plan_2.yaml +58 -0
  132. policyengine_uk/parameters/gov/hmrc/student_loans/thresholds/plan_4.yaml +19 -0
  133. policyengine_uk/parameters/gov/hmrc/student_loans/thresholds/plan_5.yaml +16 -0
  134. policyengine_uk/parameters/gov/hmrc/student_loans/thresholds/postgraduate.yaml +21 -0
  135. policyengine_uk/parameters/gov/hmrc/vat/reduced_rate_share.yaml +3 -3
  136. policyengine_uk/parameters/gov/indices/private_rent_index.yaml +9 -9
  137. policyengine_uk/parameters/gov/revenue_scotland/lbtt/non_residential.yaml +2 -2
  138. policyengine_uk/parameters/gov/revenue_scotland/lbtt/rent.yaml +2 -2
  139. policyengine_uk/parameters/gov/revenue_scotland/lbtt/residential/first_time_buyer_rate.yaml +2 -2
  140. policyengine_uk/parameters/gov/revenue_scotland/lbtt/residential/rate.yaml +2 -2
  141. policyengine_uk/parameters/gov/wra/land_transaction_tax/non_residential.yaml +2 -2
  142. policyengine_uk/parameters/gov/wra/land_transaction_tax/rent.yaml +2 -2
  143. policyengine_uk/parameters/gov/wra/land_transaction_tax/residential/higher_rate.yaml +1 -1
  144. policyengine_uk/parameters/gov/wra/land_transaction_tax/residential/primary.yaml +2 -2
  145. policyengine_uk/parameters/household/consumption/carbon/consumption.yaml +8 -6
  146. policyengine_uk/parameters/household/consumption/carbon/intensity.yaml +4 -1
  147. policyengine_uk/parameters/household/consumption/carbon/production.yaml +12 -7
  148. policyengine_uk/parameters/household/consumption/carbon/production_by_source.yaml +76 -41
  149. policyengine_uk/parameters/household/consumption/fuel/prices/petrol.yaml +1 -1
  150. policyengine_uk/parameters/household/poverty/absolute_poverty_threshold_bhc.yaml +1 -1
  151. policyengine_uk/reforms/policyengine/adjust_budgets.py +0 -1
  152. policyengine_uk/scenarios/__init__.py +4 -0
  153. policyengine_uk/scenarios/pip_reform.py +23 -0
  154. policyengine_uk/scenarios/reindex_benefit_cap.py +32 -0
  155. policyengine_uk/scenarios/repeal_two_child_limit.py +10 -0
  156. policyengine_uk/scenarios/uc_reform.py +50 -0
  157. policyengine_uk/simulation.py +619 -0
  158. policyengine_uk/system.py +3 -257
  159. policyengine_uk/tax_benefit_system.py +141 -0
  160. policyengine_uk/tests/behavioral_responses/test_labor_supply_responses.yaml +183 -0
  161. policyengine_uk/tests/microsimulation/reforms_config.yaml +8 -8
  162. policyengine_uk/tests/microsimulation/test_reform_impacts.py +2 -2
  163. policyengine_uk/tests/microsimulation/test_salary_sacrifice_cap_reform.py +401 -0
  164. policyengine_uk/tests/microsimulation/test_validity.py +2 -3
  165. policyengine_uk/tests/microsimulation/update_reform_impacts.py +104 -40
  166. policyengine_uk/tests/policy/baseline/contrib/policyengine/employer_ni/employer_ni_fixed_employer_cost_change.yaml +105 -0
  167. policyengine_uk/tests/policy/baseline/finance/benefit/family/child_benefit.yaml +2 -0
  168. policyengine_uk/tests/policy/baseline/finance/benefit/family/income_support.yaml +0 -23
  169. policyengine_uk/tests/policy/baseline/gov/dcms/bbc/tv-licence/tv_licence.yaml +3 -0
  170. policyengine_uk/tests/policy/baseline/gov/dfe/extended_childcare_entitlement/extended_childcare_entitlement.yaml +17 -17
  171. policyengine_uk/tests/policy/baseline/gov/dwp/basic_state_pension.yaml +44 -0
  172. policyengine_uk/tests/policy/baseline/gov/hmrc/income_tax/allowances/gift_aid.yaml +71 -0
  173. policyengine_uk/tests/policy/baseline/gov/hmrc/income_tax/allowances/personal_allowance.yaml +161 -0
  174. policyengine_uk/tests/policy/baseline/gov/hmrc/national_insurance/salary_sacrifice_pension_ni_employee.yaml +107 -0
  175. policyengine_uk/tests/policy/baseline/gov/hmrc/national_insurance/salary_sacrifice_pension_ni_employer.yaml +95 -0
  176. policyengine_uk/tests/policy/baseline/gov/hmrc/student_loans/student_loan_interest_rate.yaml +153 -0
  177. policyengine_uk/tests/policy/baseline/gov/hmrc/student_loans/student_loan_repayment.yaml +130 -0
  178. policyengine_uk/tests/policy/baseline/household/wealth/vehicle.yaml +27 -0
  179. policyengine_uk/tests/policy/reforms/nov_2025_budget/income_source_tax_rates.yaml +235 -0
  180. policyengine_uk/tests/policy/reforms/nov_2025_budget/income_tax_freeze.yaml +83 -0
  181. policyengine_uk/tests/policy/reforms/parametric/basic_income/basic_income.yaml +1 -0
  182. policyengine_uk/tests/test_behavioral_responses.py +215 -0
  183. policyengine_uk/tests/test_fiscal_year_parameters.py +131 -0
  184. policyengine_uk/utils/__init__.py +1 -0
  185. policyengine_uk/utils/compare.py +28 -0
  186. policyengine_uk/utils/create_ahc_deflator.py +169 -0
  187. policyengine_uk/utils/create_triple_lock.py +1 -1
  188. policyengine_uk/utils/dependencies.py +259 -0
  189. policyengine_uk/utils/parameters.py +12 -1
  190. policyengine_uk/utils/scenario.py +225 -0
  191. policyengine_uk/utils/solve_private_school_attendance_factor.py +4 -6
  192. policyengine_uk/variables/contrib/policyengine/education_budget_change.py +0 -1
  193. policyengine_uk/variables/contrib/policyengine/employer_ni/baseline_employer_cost.py +5 -1
  194. policyengine_uk/variables/contrib/policyengine/employer_ni/employer_ni_fixed_employer_cost_change.py +23 -23
  195. policyengine_uk/variables/contrib/policyengine/employer_ni/employer_ni_response_capital_incidence.py +1 -1
  196. policyengine_uk/variables/contrib/policyengine/employer_ni/employer_ni_response_consumer_incidence.py +1 -1
  197. policyengine_uk/variables/contrib/policyengine/other_public_spending_budget_change.py +0 -1
  198. policyengine_uk/variables/gov/dfe/targeted_childcare_entitlement/targeted_childcare_entitlement_eligible.py +0 -1
  199. policyengine_uk/variables/gov/dft/rail_subsidy_spending.py +16 -1
  200. policyengine_uk/variables/gov/dft/rail_usage.py +16 -0
  201. policyengine_uk/variables/gov/dwp/BRMA_LHA_rate.py +7 -2
  202. policyengine_uk/variables/gov/dwp/LHA_category.py +4 -2
  203. policyengine_uk/variables/gov/dwp/additional_state_pension.py +4 -2
  204. policyengine_uk/variables/gov/dwp/basic_state_pension.py +26 -8
  205. policyengine_uk/variables/gov/dwp/is_CTC_eligible.py +1 -1
  206. policyengine_uk/variables/gov/dwp/is_benefit_cap_exempt.py +9 -13
  207. policyengine_uk/variables/gov/dwp/is_benefit_cap_exempt_earnings.py +66 -0
  208. policyengine_uk/variables/gov/dwp/is_benefit_cap_exempt_health_disability.py +75 -0
  209. policyengine_uk/variables/gov/dwp/is_benefit_cap_exempt_other.py +66 -0
  210. policyengine_uk/variables/gov/dwp/winter_fuel_allowance.py +5 -4
  211. policyengine_uk/variables/gov/gov_tax.py +0 -2
  212. policyengine_uk/variables/gov/hmrc/household_tax.py +0 -1
  213. policyengine_uk/variables/gov/hmrc/income_tax/allowances/gift_aid.py +23 -0
  214. policyengine_uk/variables/gov/hmrc/income_tax/allowances/personal_allowance.py +9 -2
  215. policyengine_uk/variables/gov/hmrc/income_tax/income_tax_pre_charges.py +1 -0
  216. policyengine_uk/variables/gov/hmrc/income_tax/liability/property_income_tax.py +75 -0
  217. policyengine_uk/variables/gov/hmrc/income_tax/liability/savings_income_tax.py +4 -4
  218. policyengine_uk/variables/gov/hmrc/national_insurance/salary_sacrifice_broad_base_haircut.py +43 -0
  219. policyengine_uk/variables/gov/hmrc/national_insurance/salary_sacrifice_pension_ni_employee.py +38 -0
  220. policyengine_uk/variables/gov/hmrc/national_insurance/salary_sacrifice_pension_ni_employer.py +27 -0
  221. policyengine_uk/variables/gov/hmrc/pensions/pension_contributions_via_salary_sacrifice_adjusted.py +31 -0
  222. policyengine_uk/variables/gov/hmrc/pensions/salary_sacrifice_returned_to_income.py +41 -0
  223. policyengine_uk/variables/gov/hmrc/student_loans/__init__.py +2 -0
  224. policyengine_uk/variables/gov/hmrc/student_loans/plan_1_interest_rate.py +23 -0
  225. policyengine_uk/variables/gov/hmrc/student_loans/plan_2_interest_rate.py +31 -0
  226. policyengine_uk/variables/gov/hmrc/student_loans/plan_4_interest_rate.py +22 -0
  227. policyengine_uk/variables/gov/hmrc/student_loans/plan_5_interest_rate.py +18 -0
  228. policyengine_uk/variables/gov/hmrc/student_loans/postgraduate_interest_rate.py +23 -0
  229. policyengine_uk/variables/gov/hmrc/student_loans/student_loan_plan.py +27 -0
  230. policyengine_uk/variables/gov/hmrc/student_loans/student_loan_repayment.py +91 -0
  231. policyengine_uk/variables/gov/hmrc/student_loans/student_loan_repayment_rate.py +31 -0
  232. policyengine_uk/variables/gov/hmrc/would_claim_child_benefit.py +5 -1
  233. policyengine_uk/variables/household/demographic/benunit/benunit_count_adults.py +11 -0
  234. policyengine_uk/variables/household/demographic/is_disabled_for_benefits.py +13 -1
  235. policyengine_uk/variables/household/income/hbai_household_net_income.py +29 -1
  236. policyengine_uk/variables/household/income/hbai_household_net_income_ahc.py +13 -0
  237. policyengine_uk/variables/household/income/household_net_income.py +5 -1
  238. policyengine_uk/variables/household/income/inflation_adjustment.py +24 -0
  239. policyengine_uk/variables/household/post_tax_income.py +12 -0
  240. policyengine_uk/variables/household/wealth/num_vehicles.py +9 -0
  241. policyengine_uk/variables/household/wealth/owns_vehicle.py +17 -0
  242. policyengine_uk/variables/input/consumption/property/council_tax.py +0 -35
  243. policyengine_uk/variables/input/consumption/property/employee_pension_contributions.py +8 -1
  244. policyengine_uk/variables/input/consumption/property/employee_pension_contributions_reported.py +16 -0
  245. policyengine_uk/variables/input/consumption/property/pension_contributions_via_salary_sacrifice.py +16 -0
  246. policyengine_uk/variables/input/employment_income.py +2 -0
  247. policyengine_uk/variables/input/rent.py +0 -40
  248. policyengine_uk/variables/input/savings_interest_income.py +3 -1
  249. {policyengine_uk-2.40.1.dist-info → policyengine_uk-2.65.6.dist-info}/METADATA +17 -8
  250. {policyengine_uk-2.40.1.dist-info → policyengine_uk-2.65.6.dist-info}/RECORD +252 -173
  251. {policyengine_uk-2.40.1.dist-info → policyengine_uk-2.65.6.dist-info}/WHEEL +1 -1
  252. policyengine_uk/repo.py +0 -3
  253. policyengine_uk/tests/policy/baseline/gov/abolitions/abolition_parameters.yaml +0 -250
  254. policyengine_uk/variables/contrib/policyengine/high_income_incident_tax_change.py +0 -22
  255. policyengine_uk-2.40.1.data/data/share/openfisca/openfisca-country-template/CHANGELOG.md +0 -2285
  256. policyengine_uk-2.40.1.data/data/share/openfisca/openfisca-country-template/README.md +0 -37
  257. policyengine_uk-2.40.1.dist-info/licenses/LICENSE +0 -661
  258. {policyengine_uk-2.40.1.data/data/share/openfisca/openfisca-country-template → policyengine_uk-2.65.6.dist-info/licenses}/LICENSE +0 -0
@@ -0,0 +1,19 @@
1
+ description: Plan 4 student loan repayment threshold (annual). Plan 4 applies to students who started undergraduate courses in Scotland on or after September 1998.
2
+ values:
3
+ 2021-04-06: 25_000
4
+ 2022-04-06: 25_375
5
+ 2023-04-06: 27_660
6
+ 2024-04-06:
7
+ value: 31_395
8
+ metadata:
9
+ reference:
10
+ - title: Student loan thresholds for April 2024
11
+ href: https://www.gov.uk/government/publications/student-loan-and-postgraduate-loan-thresholds/student-loan-and-postgraduate-loan-thresholds-for-the-2024-to-2025-academic-year
12
+ metadata:
13
+ label: Plan 4 threshold
14
+ unit: currency-GBP
15
+ period: year
16
+ uprating: gov.economic_assumptions.indices.obr.rpi
17
+ reference:
18
+ - title: GOV.UK Student loan repayment thresholds
19
+ href: https://www.gov.uk/repaying-your-student-loan/what-you-pay
@@ -0,0 +1,16 @@
1
+ description: Plan 5 student loan repayment threshold (annual). Plan 5 applies to students who started undergraduate courses in England on or after August 2023.
2
+ values:
3
+ 2026-04-06:
4
+ value: 25_000
5
+ metadata:
6
+ reference:
7
+ - title: Plan 5 student loan repayment threshold
8
+ href: https://www.gov.uk/government/publications/student-loan-and-postgraduate-loan-thresholds/student-loan-and-postgraduate-loan-thresholds-for-the-2024-to-2025-academic-year
9
+ metadata:
10
+ label: Plan 5 threshold
11
+ unit: currency-GBP
12
+ period: year
13
+ uprating: gov.economic_assumptions.indices.obr.rpi
14
+ reference:
15
+ - title: GOV.UK Student loan repayment thresholds
16
+ href: https://www.gov.uk/repaying-your-student-loan/what-you-pay
@@ -0,0 +1,21 @@
1
+ description: Postgraduate loan repayment threshold (annual). Applies to postgraduate master's and doctoral loans.
2
+ values:
3
+ 2019-04-06: 21_000
4
+ 2020-04-06: 21_000
5
+ 2021-04-06: 21_000
6
+ 2022-04-06: 21_000
7
+ 2023-04-06: 21_000
8
+ 2024-04-06:
9
+ value: 21_000
10
+ metadata:
11
+ reference:
12
+ - title: Student loan thresholds for April 2024
13
+ href: https://www.gov.uk/government/publications/student-loan-and-postgraduate-loan-thresholds/student-loan-and-postgraduate-loan-thresholds-for-the-2024-to-2025-academic-year
14
+ metadata:
15
+ label: Postgraduate loan threshold
16
+ unit: currency-GBP
17
+ period: year
18
+ uprating: gov.economic_assumptions.indices.obr.rpi
19
+ reference:
20
+ - title: GOV.UK Student loan repayment thresholds
21
+ href: https://www.gov.uk/repaying-your-student-loan/what-you-pay
@@ -3,8 +3,8 @@ metadata:
3
3
  economy: false
4
4
  propagate_metadata_to_children: true
5
5
  reference:
6
- - href: https://obr.uk/forecasts-in-depth/tax-by-tax-spend-by-spend/vat/
7
- title: OBR
6
+ - href: https://obr.uk/forecasts-in-depth/tax-by-tax-spend-by-spend/vat/
7
+ title: OBR
8
8
  unit: /1
9
9
  values:
10
- 2000-01-01: 0.03
10
+ 2000-01-01: 0.025
@@ -1,11 +1,11 @@
1
1
  description: Index of private rental prices across the UK.
2
2
  values:
3
- 2015-01-01: 100.0
3
+ 2015-01-01: 100
4
4
  2015-02-01: 100.2
5
5
  2015-03-01: 100.3
6
6
  2015-04-01: 100.6
7
7
  2015-05-01: 100.9
8
- 2015-06-01: 101.0
8
+ 2015-06-01: 101
9
9
  2015-07-01: 101.2
10
10
  2015-08-01: 101.5
11
11
  2015-09-01: 101.7
@@ -20,7 +20,7 @@ values:
20
20
  2016-06-01: 103.4
21
21
  2016-07-01: 103.6
22
22
  2016-08-01: 103.8
23
- 2016-09-01: 104.0
23
+ 2016-09-01: 104
24
24
  2016-10-01: 104.2
25
25
  2016-11-01: 104.4
26
26
  2016-12-01: 104.6
@@ -36,8 +36,8 @@ values:
36
36
  2017-10-01: 105.7
37
37
  2017-11-01: 105.8
38
38
  2017-12-01: 105.9
39
- 2018-01-01: 106.0
40
- 2018-02-01: 106.0
39
+ 2018-01-01: 106
40
+ 2018-02-01: 106
41
41
  2018-03-01: 106.1
42
42
  2018-04-01: 106.1
43
43
  2018-05-01: 106.2
@@ -47,7 +47,7 @@ values:
47
47
  2018-09-01: 106.6
48
48
  2018-10-01: 106.7
49
49
  2018-11-01: 106.8
50
- 2018-12-01: 107.0
50
+ 2018-12-01: 107
51
51
  2019-01-01: 107.1
52
52
  2019-02-01: 107.2
53
53
  2019-03-01: 107.3
@@ -56,7 +56,7 @@ values:
56
56
  2019-06-01: 107.7
57
57
  2019-07-01: 107.8
58
58
  2019-08-01: 107.9
59
- 2019-09-01: 108.0
59
+ 2019-09-01: 108
60
60
  2019-10-01: 108.1
61
61
  2019-11-01: 108.3
62
62
  2019-12-01: 108.5
@@ -71,8 +71,8 @@ values:
71
71
  2020-09-01: 109.6
72
72
  2020-10-01: 109.7
73
73
  2020-11-01: 109.8
74
- 2020-12-01: 110.0
75
- 2021-01-01: 110.0
74
+ 2020-12-01: 110
75
+ 2021-01-01: 110
76
76
  2021-02-01: 110.1
77
77
  2021-03-01: 110.2
78
78
  2021-04-01: 110.3
@@ -1,8 +1,8 @@
1
1
  brackets:
2
2
  - rate:
3
- 2015-04-01: 0.0
3
+ 2015-04-01: 0
4
4
  threshold:
5
- 2015-04-01: 0.0
5
+ 2015-04-01: 0
6
6
  - rate:
7
7
  2015-04-01: 0.03
8
8
  2019-01-25: 0.01
@@ -1,8 +1,8 @@
1
1
  brackets:
2
2
  - rate:
3
- 2015-04-01: 0.0
3
+ 2015-04-01: 0
4
4
  threshold:
5
- 2015-04-01: 0.0
5
+ 2015-04-01: 0
6
6
  - rate:
7
7
  2015-04-01: 0.01
8
8
  threshold:
@@ -1,8 +1,8 @@
1
1
  brackets:
2
2
  - rate:
3
- 2015-04-01: 0.0
3
+ 2015-04-01: 0
4
4
  threshold:
5
- 2015-04-01: 0.0
5
+ 2015-04-01: 0
6
6
  - rate:
7
7
  2015-04-01: 0.02
8
8
  2020-07-15: null
@@ -1,8 +1,8 @@
1
1
  brackets:
2
2
  - rate:
3
- 2015-04-01: 0.0
3
+ 2015-04-01: 0
4
4
  threshold:
5
- 2015-04-01: 0.0
5
+ 2015-04-01: 0
6
6
  - rate:
7
7
  2015-04-01: 0.02
8
8
  2020-07-15: null
@@ -1,8 +1,8 @@
1
1
  brackets:
2
2
  - rate:
3
- 2018-04-01: 0.0
3
+ 2018-04-01: 0
4
4
  threshold:
5
- 2018-04-01: 0.0
5
+ 2018-04-01: 0
6
6
  - rate:
7
7
  2018-04-01: 0.01
8
8
  threshold:
@@ -1,8 +1,8 @@
1
1
  brackets:
2
2
  - rate:
3
- 2018-04-01: 0.0
3
+ 2018-04-01: 0
4
4
  threshold:
5
- 2018-04-01: 0.0
5
+ 2018-04-01: 0
6
6
  - rate:
7
7
  2018-04-01: 0.01
8
8
  threshold:
@@ -3,7 +3,7 @@ brackets:
3
3
  2018-04-01: 0.03
4
4
  2020-12-22: 0.04
5
5
  threshold:
6
- 2018-04-01: 0.0
6
+ 2018-04-01: 0
7
7
  - rate:
8
8
  2018-04-01: 0.065
9
9
  2020-12-22: 0.075
@@ -1,8 +1,8 @@
1
1
  brackets:
2
2
  - rate:
3
- 2018-04-01: 0.0
3
+ 2018-04-01: 0
4
4
  threshold:
5
- 2018-04-01: 0.0
5
+ 2018-04-01: 0
6
6
  - rate:
7
7
  2018-04-01: 0.035
8
8
  2020-07-27: null
@@ -1,13 +1,15 @@
1
1
  description: Carbon emissions, household based consumption
2
2
  values:
3
- 2016-01-01: 543_500_000
4
- 2017-01-01: 536_920_000
5
- 2018-01-01: 536_460_000
6
- 2019-01-01: 520_700_000
3
+ 2016-01-01: 570_480_000
4
+ 2017-01-01: 543_520_000
5
+ 2018-01-01: 530_570_000
6
+ 2019-01-01: 511_460_000
7
+ 2020-01-01: 457_470_000
8
+ 2021-01-01: 504_830_000
9
+ 2022-01-01: 488_530_000
7
10
 
8
11
  metadata:
9
12
  unit: tonnes CO2
10
13
  reference:
11
14
  - title: Our World In Data
12
- href: https://ourworldindata.org/grapher/consumption-co2-emissions?tab=table&time=2003..latest
13
-
15
+ href: https://ourworldindata.org/grapher/consumption-co2-emissions?tab=table&time=2003..latest
@@ -28,7 +28,7 @@ miscellaneous_consumption:
28
28
  2022-01-01: 0.00021928
29
29
  recreation_consumption:
30
30
  2019-01-01: 0.000185
31
- 2022-01-01: 0.00018040
31
+ 2022-01-01: 0.0001804
32
32
  restaurants_and_hotels_consumption:
33
33
  2019-01-01: 0.000311
34
34
  2022-01-01: 0.00029092
@@ -37,3 +37,6 @@ transport_consumption:
37
37
  2022-01-01: 0.00107164
38
38
  metadata:
39
39
  unit: tonnes per gbp
40
+ uprating: gov.economic_assumptions.indices.carbon_intensity
41
+ propagate_metadata_to_children: true
42
+ period: year
@@ -1,11 +1,16 @@
1
1
  description: Carbon emissions from the production of goods and services in the UK
2
2
  values:
3
- 2016-01-01: 423_000_000
4
- 2017-01-01: 399_000_000
5
- 2018-01-01: 406_000_000
6
- 2019-01-01: 371_000_000
3
+ 2016-01-01: 481_000_000
4
+ 2017-01-01: 469_000_000
5
+ 2018-01-01: 462_000_000
6
+ 2019-01-01: 448_000_000
7
+ 2020-01-01: 404_000_000
8
+ 2021-01-01: 421_000_000
9
+ 2022-01-01: 406_000_000
10
+ 2023-01-01: 389_000_000
11
+ 2024-01-01: 376_000_000
7
12
  metadata:
8
- unit: tonnes CO2
13
+ unit: tonnes CO2e
9
14
  reference:
10
- - title: BEIS 2019 Updated Energy & Emissions Projections
11
- href: https://www.gov.uk/government/publications/updated-energy-and-emissions-projections-2019
15
+ - title: "Energy and emissions projections: 2023 to 2050"
16
+ href: https://www.gov.uk/government/publications/energy-and-emissions-projections-2023-to-2050
@@ -2,20 +2,25 @@ industry:
2
2
  description: Carbon dioxide emission from industry (combustion,process,off road construction and energy supply with respect to industry)
3
3
  values:
4
4
  2010-01-01: 101_000_000
5
- 2011-01-01: 93_000_000
6
- 2012-01-01: 91_000_000
7
- 2013-01-01: 94_000_000
8
- 2014-01-01: 93_000_000
9
- 2015-01-01: 91_000_000
10
- 2016-01-01: 85_000_000
11
- 2017-01-01: 87_000_000
12
- 2018-01-01: 84_000_000
13
- 2019-01-01: 76_000_000
5
+ 2011-01-01: 95_000_000
6
+ 2012-01-01: 94_000_000
7
+ 2013-01-01: 91_000_000
8
+ 2014-01-01: 86_000_000
9
+ 2015-01-01: 82_000_000
10
+ 2016-01-01: 80_000_000
11
+ 2017-01-01: 79_000_000
12
+ 2018-01-01: 77_000_000
13
+ 2019-01-01: 74_000_000
14
+ 2020-01-01: 69_000_000
15
+ 2021-01-01: 73_000_000
16
+ 2022-01-01: 71_000_000
17
+ 2023-01-01: 65_000_000
18
+ 2024-01-01: 66_000_000
14
19
  metadata:
15
20
  unit: tonnes CO2
16
21
  reference:
17
- - title: BEIS 2019 Updated Energy & Emissions Projections
18
- href: https://www.gov.uk/government/publications/updated-energy-and-emissions-projections-2019
22
+ - title: "Energy and emissions projections: 2023 to 2050"
23
+ href: https://www.gov.uk/government/publications/energy-and-emissions-projections-2023-to-2050
19
24
  land_use:
20
25
  description: Carbon dioxide emission from LULUCF
21
26
  values:
@@ -28,12 +33,17 @@ land_use:
28
33
  2016-01-01: -11_000_000
29
34
  2017-01-01: -12_000_000
30
35
  2018-01-01: -12_000_000
31
- 2019-01-01: -12_000_000
36
+ 2019-01-01: -13_000_000
37
+ 2020-01-01: -13_000_000
38
+ 2021-01-01: -13_000_000
39
+ 2022-01-01: -13_000_000
40
+ 2023-01-01: -14_000_000
41
+ 2024-01-01: -15_000_000
32
42
  metadata:
33
43
  unit: tonnes CO2
34
44
  reference:
35
- - title: BEIS 2019 Updated Energy & Emissions Projections
36
- href: https://www.gov.uk/government/publications/updated-energy-and-emissions-projections-2019
45
+ - title: "Energy and emissions projections: 2023 to 2050"
46
+ href: https://www.gov.uk/government/publications/energy-and-emissions-projections-2023-to-2050
37
47
  refineries:
38
48
  description: Carbon dioxide emission from refineries
39
49
  values:
@@ -46,12 +56,17 @@ refineries:
46
56
  2016-01-01: 14_000_000
47
57
  2017-01-01: 14_000_000
48
58
  2018-01-01: 13_000_000
49
- 2019-01-01: 12_000_000
59
+ 2019-01-01: 13_000_000
60
+ 2020-01-01: 12_000_000
61
+ 2021-01-01: 14_000_000
62
+ 2022-01-01: 14_000_000
63
+ 2023-01-01: 14_000_000
64
+ 2024-01-01: 15_000_000
50
65
  metadata:
51
66
  unit: tonnes CO2
52
67
  reference:
53
- - title: BEIS 2019 Updated Energy & Emissions Projections
54
- href: https://www.gov.uk/government/publications/updated-energy-and-emissions-projections-2019
68
+ - title: "Energy and emissions projections: 2023 to 2050"
69
+ href: https://www.gov.uk/government/publications/energy-and-emissions-projections-2023-to-2050
55
70
  residential:
56
71
  description: Carbon dioxide emission from residential usage
57
72
  values:
@@ -64,12 +79,17 @@ residential:
64
79
  2016-01-01: 66_000_000
65
80
  2017-01-01: 64_000_000
66
81
  2018-01-01: 66_000_000
67
- 2019-01-01: 64_000_000
82
+ 2019-01-01: 65_000_000
83
+ 2020-01-01: 67_000_000
84
+ 2021-01-01: 69_000_000
85
+ 2022-01-01: 61_000_000
86
+ 2023-01-01: 66_000_000
87
+ 2024-01-01: 62_000_000
68
88
  metadata:
69
89
  unit: tonnes CO2
70
90
  reference:
71
- - title: BEIS 2019 Updated Energy & Emissions Projections
72
- href: https://www.gov.uk/government/publications/updated-energy-and-emissions-projections-2019
91
+ - title: "Energy and emissions projections: 2023 to 2050"
92
+ href: https://www.gov.uk/government/publications/energy-and-emissions-projections-2023-to-2050
73
93
  services:
74
94
  description: Carbon dioxide emission from services
75
95
  values:
@@ -80,47 +100,62 @@ services:
80
100
  2014-01-01: 24_000_000
81
101
  2015-01-01: 25_000_000
82
102
  2016-01-01: 25_000_000
83
- 2017-01-01: 25_000_000
84
- 2018-01-01: 25_000_000
85
- 2019-01-01: 31_000_000
103
+ 2017-01-01: 26_000_000
104
+ 2018-01-01: 26_000_000
105
+ 2019-01-01: 26_000_000
106
+ 2020-01-01: 27_000_000
107
+ 2021-01-01: 30_000_000
108
+ 2022-01-01: 28_000_000
109
+ 2023-01-01: 27_000_000
110
+ 2024-01-01: 26_000_000
86
111
  metadata:
87
112
  unit: tonnes CO2
88
113
  reference:
89
- - title: BEIS 2019 Updated Energy & Emissions Projections
90
- href: https://www.gov.uk/government/publications/updated-energy-and-emissions-projections-2019
114
+ - title: "Energy and emissions projections: 2023 to 2050"
115
+ href: https://www.gov.uk/government/publications/energy-and-emissions-projections-2023-to-2050
91
116
  roads:
92
117
  description: Carbon dioxide emission from road transport
93
118
  values:
94
119
  2010-01-01: 110_000_000
95
120
  2011-01-01: 108_000_000
96
- 2012-01-01: 108_000_000
121
+ 2012-01-01: 107_000_000
97
122
  2013-01-01: 107_000_000
98
123
  2014-01-01: 109_000_000
99
- 2015-01-01: 110_000_000
124
+ 2015-01-01: 111_000_000
100
125
  2016-01-01: 113_000_000
101
- 2017-01-01: 113_000_000
102
- 2018-01-01: 112_000_000
103
- 2019-01-01: 107_000_000
126
+ 2017-01-01: 114_000_000
127
+ 2018-01-01: 113_000_000
128
+ 2019-01-01: 113_000_000
129
+ 2020-01-01: 93_000_000
130
+ 2021-01-01: 101_000_000
131
+ 2022-01-01: 105_000_000
132
+ 2023-01-01: 104_000_000
133
+ 2024-01-01: 102_000_000
104
134
  metadata:
105
135
  unit: tonnes CO2
106
136
  reference:
107
- - title: BEIS 2019 Updated Energy & Emissions Projections
108
- href: https://www.gov.uk/government/publications/updated-energy-and-emissions-projections-2019
137
+ - title: "Energy and emissions projections: 2023 to 2050"
138
+ href: https://www.gov.uk/government/publications/energy-and-emissions-projections-2023-to-2050
109
139
  other_transport:
110
140
  description: Carbon dioxide emission from other transport (civil aviation,domestic cruise and landing,military aviation & shipping,railway)
111
141
  values:
112
142
  2010-01-01: 14_000_000
113
143
  2011-01-01: 13_000_000
114
- 2012-01-01: 13_000_000
144
+ 2012-01-01: 12_000_000
115
145
  2013-01-01: 12_000_000
116
- 2014-01-01: 12_000_000
117
- 2015-01-01: 12_000_000
118
- 2016-01-01: 12_000_000
119
- 2017-01-01: 12_000_000
120
- 2018-01-01: 11_000_000
121
- 2019-01-01: 12_000_000
146
+ 2014-01-01: 11_000_000
147
+ 2015-01-01: 11_000_000
148
+ 2016-01-01: 11_000_000
149
+ 2017-01-01: 11_000_000
150
+ 2018-01-01: 10_000_000
151
+ 2019-01-01: 10_000_000
152
+ 2020-01-01: 6_000_000
153
+ 2021-01-01: 8_000_000
154
+ 2022-01-01: 9_000_000
155
+ 2023-01-01: 9_000_000
156
+ 2024-01-01: 9_000_000
122
157
  metadata:
123
158
  unit: tonnes CO2
124
159
  reference:
125
- - title: BEIS 2019 Updated Energy & Emissions Projections
126
- href: https://www.gov.uk/government/publications/updated-energy-and-emissions-projections-2019
160
+ - title: "Energy and emissions projections: 2023 to 2050"
161
+ href: https://www.gov.uk/government/publications/energy-and-emissions-projections-2023-to-2050
@@ -4,7 +4,7 @@ values:
4
4
  2014-09-15: 1.2918
5
5
  2017-05-01: 1.2023
6
6
  2020-05-14: 1.0669
7
- 2022-01-01: 1.4910
7
+ 2022-01-01: 1.491
8
8
  2022-03-22: 1.6703
9
9
  2024-01-01: 1.44
10
10
  metadata:
@@ -1,7 +1,7 @@
1
1
  description: Absolute poverty threshold for equivalised household net income, before housing costs
2
2
  values:
3
3
  2010-01-01: 251.4
4
- 2020-01-01: 305.70
4
+ 2020-01-01: 305.7
5
5
  metadata:
6
6
  period: week
7
7
  unit: currency-GBP
@@ -34,7 +34,6 @@ def adjust_budgets(parameters, period):
34
34
 
35
35
  class adjust_budgets_reform(Reform):
36
36
  def apply(self):
37
-
38
37
  for reform in reforms:
39
38
  reform.apply(self)
40
39
 
@@ -0,0 +1,4 @@
1
+ from .pip_reform import reform_pip_phase_in
2
+ from .reindex_benefit_cap import reindex_benefit_cap
3
+ from .repeal_two_child_limit import repeal_two_child_limit
4
+ from .uc_reform import universal_credit_july_2025_reform
@@ -0,0 +1,23 @@
1
+ from policyengine_uk.model_api import Scenario
2
+ from policyengine_uk import Simulation
3
+ import numpy as np
4
+
5
+
6
+ def modify_simulation(sim: Simulation):
7
+ np.random.seed(42) # For reproducibility
8
+ pip_seed = np.random.random(len(sim.calculate("person_id")))
9
+
10
+ start_year = 2025
11
+ end_year = 2029
12
+
13
+ for year in range(start_year, end_year + 1):
14
+ current_pip = sim.calculate("pip", year)
15
+ percent_along_phase_in = (year - start_year) / (end_year - start_year)
16
+ current_pip[pip_seed < 0.25 * percent_along_phase_in] = 0
17
+ sim.set_input("pip", year, current_pip)
18
+ return sim
19
+
20
+
21
+ reform_pip_phase_in = Scenario(
22
+ simulation_modifier=modify_simulation,
23
+ )
@@ -0,0 +1,32 @@
1
+ from policyengine_uk.model_api import Scenario
2
+ from policyengine_uk import Simulation
3
+ from policyengine_core.parameters import Parameter
4
+
5
+
6
+ def index_benefit_cap(simulation: Simulation):
7
+ # Identify benefit cap parameters
8
+ simulation.tax_benefit_system.reset_parameters()
9
+
10
+ params = (
11
+ simulation.tax_benefit_system.parameters.gov.dwp.benefit_cap.get_descendants()
12
+ )
13
+ # We just want the leaf nodes of the parameter tree
14
+ # TODO: add a get-descendants-leaf-nodes-only function
15
+
16
+ params = [param for param in params if isinstance(param, Parameter)]
17
+
18
+ for parameter in params:
19
+ parameter: Parameter # Type annotation
20
+ # Delete all values after 2025
21
+ parameter.values_list = [
22
+ entry
23
+ for entry in parameter.values_list
24
+ if entry.instant_str < "2026-01-01"
25
+ ]
26
+ parameter.metadata.update(
27
+ uprating="gov.benefit_uprating_cpi",
28
+ )
29
+ simulation.tax_benefit_system.process_parameters()
30
+
31
+
32
+ reindex_benefit_cap = Scenario(simulation_modifier=index_benefit_cap)
@@ -0,0 +1,10 @@
1
+ from policyengine_uk.model_api import Scenario
2
+ import numpy as np
3
+
4
+ repeal_two_child_limit = Scenario(
5
+ parameter_changes={
6
+ "gov.dwp.universal_credit.elements.child.limit.child_count": {
7
+ "year:2026:10": np.inf
8
+ }
9
+ }
10
+ )
@@ -0,0 +1,50 @@
1
+ from policyengine_uk.model_api import Scenario
2
+ from policyengine_uk import Microsimulation
3
+ import numpy as np
4
+
5
+
6
+ def add_universal_credit_reform(sim: Microsimulation):
7
+ rebalancing = (
8
+ sim.tax_benefit_system.parameters.gov.dwp.universal_credit.rebalancing
9
+ )
10
+
11
+ generator = np.random.default_rng(43)
12
+
13
+ uc_seed = generator.random(len(sim.calculate("benunit_id")))
14
+ p_uc_post_2026_status = {
15
+ 2025: 0,
16
+ 2026: 0.11,
17
+ 2027: 0.13,
18
+ 2028: 0.16,
19
+ 2029: 0.22,
20
+ } # WPI Economics for Trussell Trust based on admin PIP data, 2025
21
+ new_claimant_health_element = rebalancing.new_claimant_health_element
22
+ for year in range(2026, 2030):
23
+ if not rebalancing.active(year):
24
+ continue
25
+ is_post_25_claimant = uc_seed < p_uc_post_2026_status[year]
26
+ current_health_element = sim.calculate("uc_LCWRA_element", year)
27
+ # Set new claimants to £217.26/month from April 2026 (pre-2026 claimaints keep inflation-linked increases)
28
+ # https://bills.parliament.uk/publications/62123/documents/6889#page=16
29
+ current_health_element[
30
+ (current_health_element > 0) & is_post_25_claimant
31
+ ] = (
32
+ new_claimant_health_element(year) * 12
33
+ ) # Monthly amount * 12
34
+ sim.set_input("uc_LCWRA_element", year, current_health_element)
35
+
36
+ # https://bills.parliament.uk/publications/62123/documents/6889#page=14
37
+
38
+ uc_uplift = rebalancing.standard_allowance_uplift
39
+
40
+ for year in range(2026, 2030):
41
+ if not rebalancing.active(year):
42
+ continue
43
+ previous_value = sim.calculate("uc_standard_allowance", year - 1)
44
+ new_value = previous_value * (1 + uc_uplift(year))
45
+ sim.set_input("uc_standard_allowance", year, new_value)
46
+
47
+
48
+ universal_credit_july_2025_reform = Scenario(
49
+ simulation_modifier=add_universal_credit_reform,
50
+ )