policyengine-uk 2.38.0__py3-none-any.whl → 2.38.1__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.
@@ -4,4 +4,4 @@ values:
4
4
  2010-01-01: 114.48
5
5
  metadata:
6
6
  label: Benefit uprating index
7
- uprating: gov.economic_assumptions.indices.obr.consumer_price_index
7
+ uprating: gov.economic_assumptions.indices.obr.lagged_cpi
@@ -0,0 +1,27 @@
1
+ from policyengine_core.parameters import Parameter, ParameterNode
2
+
3
+
4
+ def add_lagged_cpi(
5
+ parameters: ParameterNode,
6
+ ) -> ParameterNode:
7
+ """
8
+ Add lagged average earnings to the economic assumptions.
9
+ """
10
+ obr = parameters.gov.economic_assumptions.yoy_growth.obr
11
+ cpi = obr.consumer_price_index
12
+
13
+ lagged_cpi = Parameter(
14
+ "gov.economic_assumptions.yoy_growth.obr.lagged_cpi",
15
+ data={
16
+ "values": {
17
+ f"{year}-01-01": cpi(year - 1) for year in range(2010, 2030)
18
+ },
19
+ },
20
+ )
21
+
22
+ obr.add_child(
23
+ "lagged_cpi",
24
+ lagged_cpi,
25
+ )
26
+
27
+ return parameters
policyengine_uk/system.py CHANGED
@@ -20,6 +20,9 @@ from policyengine_uk.parameters.gov.economic_assumptions.create_economic_assumpt
20
20
  from policyengine_uk.parameters.gov.economic_assumptions.lag_average_earnings import (
21
21
  add_lagged_earnings,
22
22
  )
23
+ from policyengine_uk.parameters.gov.economic_assumptions.lag_cpi import (
24
+ add_lagged_cpi,
25
+ )
23
26
  from policyengine_core.reforms import Reform
24
27
  from policyengine_uk.reforms import create_structural_reforms_from_parameters
25
28
 
@@ -65,6 +68,7 @@ class CountryTaxBenefitSystem(TaxBenefitSystem):
65
68
  self.apply_reform_set(reform)
66
69
  self.parameters = add_private_pension_uprating_factor(self.parameters)
67
70
  self.parameters = add_lagged_earnings(self.parameters)
71
+ self.parameters = add_lagged_cpi(self.parameters)
68
72
  self.parameters = add_triple_lock(self.parameters)
69
73
  self.parameters = create_economic_assumption_indices(self.parameters)
70
74
  self.parameters.add_child("baseline", self.parameters.clone())
@@ -8,15 +8,15 @@ reforms:
8
8
  parameters:
9
9
  gov.hmrc.income_tax.rates.uk[1].rate: 0.42
10
10
  - name: Raise personal allowance by ~800GBP/year
11
- expected_impact: 0.8
11
+ expected_impact: 0.7
12
12
  parameters:
13
13
  gov.hmrc.income_tax.allowances.personal_allowance.amount: 13000
14
14
  - name: Raise child benefit by 25GBP/week per additional child
15
- expected_impact: -1.3
15
+ expected_impact: -1.2
16
16
  parameters:
17
17
  gov.hmrc.child_benefit.amount.additional: 25
18
18
  - name: Reduce Universal Credit taper rate to 20%
19
- expected_impact: -38.3
19
+ expected_impact: -38.7
20
20
  parameters:
21
21
  gov.dwp.universal_credit.means_test.reduction_rate: 0.2
22
22
  - name: Raise Class 1 main employee NICs rate to 10%
@@ -28,6 +28,6 @@ reforms:
28
28
  parameters:
29
29
  gov.hmrc.vat.standard_rate: 0.22
30
30
  - name: Raise additional rate by 3pp
31
- expected_impact: 4.4
31
+ expected_impact: 4.5
32
32
  parameters:
33
33
  gov.hmrc.income_tax.rates.uk[2].rate: 0.48
@@ -10,7 +10,7 @@
10
10
  members: [child1]
11
11
  extended_childcare_entitlement_eligible: true
12
12
  output:
13
- extended_childcare_entitlement: 6_917.185
13
+ extended_childcare_entitlement: 6857.356
14
14
 
15
15
  - name: Eligible for 15 hours - All first conditions met
16
16
  period: 2025
@@ -24,7 +24,7 @@
24
24
  members: [child1]
25
25
  extended_childcare_entitlement_eligible: true
26
26
  output:
27
- extended_childcare_entitlement: 4_870.2627
27
+ extended_childcare_entitlement: 4828.138
28
28
 
29
29
  - name: Not eligible (one condition not met)
30
30
  period: 2025
@@ -54,7 +54,7 @@
54
54
  members: [child1, child2]
55
55
  extended_childcare_entitlement_eligible: true
56
56
  output:
57
- extended_childcare_entitlement: 11_787.447
57
+ extended_childcare_entitlement: 11685.494
58
58
 
59
59
  - name: Not eligible - Family with multiple children but conditions not met
60
60
  period: 2025
@@ -89,7 +89,7 @@
89
89
  family_type: COUPLE_WITH_CHILDREN
90
90
  extended_childcare_entitlement_eligible: true
91
91
  output:
92
- extended_childcare_entitlement: 18706.
92
+ extended_childcare_entitlement: 18542.85
93
93
 
94
94
  - name: No expenses for zero hours
95
95
  period: 2025
@@ -118,7 +118,7 @@
118
118
  members: [child1]
119
119
  extended_childcare_entitlement_eligible: true
120
120
  output:
121
- extended_childcare_entitlement: 4_611.457 # 20 hours * 38 weeks * £6.07 per hour (2025 rate)
121
+ extended_childcare_entitlement: 4571.5703 # 20 hours * 38 weeks * £6.07 per hour (2025 rate)
122
122
 
123
123
  - name: Child using fewer hours than maximum entitlement - multiple children
124
124
  period: 2025
@@ -136,7 +136,7 @@
136
136
  members: [child1, child2]
137
137
  extended_childcare_entitlement_eligible: true
138
138
  output:
139
- extended_childcare_entitlement: 6_705.434 # Updated to match actual calculation
139
+ extended_childcare_entitlement: 6647.4365
140
140
 
141
141
  - name: Benefit unit maximum hours cap applied
142
142
  period: 2025
@@ -155,7 +155,7 @@
155
155
  extended_childcare_entitlement_eligible: true
156
156
  maximum_extended_childcare_hours_usage: 40
157
157
  output:
158
- extended_childcare_entitlement: 13835.381
158
+ extended_childcare_entitlement: 13714.712
159
159
 
160
160
 
161
161
  - name: Benefit unit without maximum hours cap applied
@@ -172,7 +172,7 @@
172
172
  extended_childcare_entitlement_eligible: true
173
173
  maximum_extended_childcare_hours_usage: 10
174
174
  output:
175
- extended_childcare_entitlement: 2_306.6
175
+ extended_childcare_entitlement: 2285.7852
176
176
 
177
177
 
178
178
  - name: Benefit unit without maximum hours cap applied with 3 years old child
@@ -189,4 +189,4 @@
189
189
  extended_childcare_entitlement_eligible: true
190
190
  maximum_extended_childcare_hours_usage: 18
191
191
  output:
192
- extended_childcare_entitlement: 3_459.5
192
+ extended_childcare_entitlement: 3428.678
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.38.1] - 2025-07-14 15:03:33
9
+
10
+ ### Fixed
11
+
12
+ - Lag CPI correctly for benefit uprating.
13
+
8
14
  ## [2.38.0] - 2025-07-14 14:10:31
9
15
 
10
16
  ### Fixed
@@ -1930,6 +1936,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1930
1936
 
1931
1937
 
1932
1938
 
1939
+ [2.38.1]: https://github.com/PolicyEngine/openfisca-uk/compare/2.38.0...2.38.1
1933
1940
  [2.38.0]: https://github.com/PolicyEngine/openfisca-uk/compare/2.37.0...2.38.0
1934
1941
  [2.37.0]: https://github.com/PolicyEngine/openfisca-uk/compare/2.36.1...2.37.0
1935
1942
  [2.36.1]: https://github.com/PolicyEngine/openfisca-uk/compare/2.36.0...2.36.1
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: policyengine-uk
3
- Version: 2.38.0
3
+ Version: 2.38.1
4
4
  Summary: PolicyEngine tax and benefit system for the UK
5
5
  Project-URL: Homepage, https://github.com/PolicyEngine/policyengine-uk
6
6
  Project-URL: Repository, https://github.com/PolicyEngine/policyengine-uk
@@ -3,13 +3,13 @@ policyengine_uk/entities.py,sha256=9yUbkUWQr3WydNE-gHhUudG97HGyXIZY3dkgQ6Z3t9A,1
3
3
  policyengine_uk/model_api.py,sha256=D5OuQpQbdBXiF6r7LvCLWjsTkAWtkeBJWz2ebsJ-GN0,189
4
4
  policyengine_uk/modelled_policies.yaml,sha256=TLhvmkuI9ip-Fjq63n66RzDErCkN8K4BzY6XLxLMtFg,463
5
5
  policyengine_uk/repo.py,sha256=-dqpIMUD7UUj94ql9XwaMrFJUYKvNhFQ_9uj83Z8uh0,55
6
- policyengine_uk/system.py,sha256=jGA_Ft_puEMK0agRSHgJE_ATsJTS1ZbstwCiNioJjnM,8790
6
+ policyengine_uk/system.py,sha256=G6O4qMhb7d9VWOtYFXlLdk48nvJLeP55Yyjd9YObDc4,8944
7
7
  policyengine_uk/data/__init__.py,sha256=9o7hH2qcHChfwDYq8Oqf2jE3b5WDS3TXJm3bf9VC4Ks,58
8
8
  policyengine_uk/data/dataset_schema.py,sha256=kZuDKeBFBmK2B8MKWSAmDhHsTkzOY_WM5FnKcT8G4rA,3942
9
9
  policyengine_uk/data/economic_assumptions.py,sha256=heEro-NYCszFzW-TJ3Vt3DUUrpDkysOpyvZVymJN3-8,5722
10
10
  policyengine_uk/data/uprating_growth_factors.csv,sha256=6H5dq02mRsSgBJ9cYe4lut3fsvVzJXL20FvwT7SnlVc,10378
11
11
  policyengine_uk/parameters/gov/README.md,sha256=bHUep1_2pLHD3Or8SwjStOWXDIbW9OuYxOd4ml8IXcM,13
12
- policyengine_uk/parameters/gov/benefit_uprating_cpi.yaml,sha256=I-gRDcu8NeD23HPx2EqzIC8RdtIehTYLCgMVlsoQbhc,260
12
+ policyengine_uk/parameters/gov/benefit_uprating_cpi.yaml,sha256=2zOSdJeUhDZYYsKE2vLkcK-UbKNoOSVwfac0QIAp02g,250
13
13
  policyengine_uk/parameters/gov/contrib/README.md,sha256=b282dmUFAmj7cXSfiMLyE81q5Y0Gnehy-6atLus-ESs,70
14
14
  policyengine_uk/parameters/gov/contrib/abolish_council_tax.yaml,sha256=QwL8jKTMTk6GC0nxS0WNb482jAuSAA8uuWT0-D77UVc,149
15
15
  policyengine_uk/parameters/gov/contrib/abolish_state_pension.yaml,sha256=mLI9_hOj9v__-znYIS1Zddj_BiOWWa0J2P_n-NjkOfw,129
@@ -312,6 +312,7 @@ policyengine_uk/parameters/gov/dwp/winter_fuel_payment/eligibility/taxable_incom
312
312
  policyengine_uk/parameters/gov/dwp/winter_fuel_payment/eligibility/taxable_income_test/use_maximum_taxable_income.yaml,sha256=pHldHvNHeGhG0mcn7LvjYA3b-q_AxrAxm5bu-mkTn1A,261
313
313
  policyengine_uk/parameters/gov/economic_assumptions/create_economic_assumption_indices.py,sha256=Z4dYghSit5gXo4V3wBpnLIc9zgTX4cfEyb_TUlJkTGY,1937
314
314
  policyengine_uk/parameters/gov/economic_assumptions/lag_average_earnings.py,sha256=ksHcyUQkLAJmKizCeSg8j0hzPc7ajgIvbExWLgCra4U,701
315
+ policyengine_uk/parameters/gov/economic_assumptions/lag_cpi.py,sha256=IdtaMLN1_OSu-RFZsQV8vBlbOvXsPlnNlsOuinRHrxg,642
315
316
  policyengine_uk/parameters/gov/economic_assumptions/yoy_growth.yaml,sha256=Vdd8sJJ29wjq0kin1cdy6fglwDTJ1bBXusVIuH0tpC0,8414
316
317
  policyengine_uk/parameters/gov/hmrc/README.md,sha256=nkHVZl6lsjI93sR8uC7wAbul3_61wJrsP08iaW8f5lk,7
317
318
  policyengine_uk/parameters/gov/hmrc/minimum_wage.yaml,sha256=1oMbevU0ESHR51mcAG39POd1DA1FgPUep4hL6ojj-P4,2049
@@ -527,7 +528,7 @@ policyengine_uk/reforms/policyengine/disable_simulated_benefits.py,sha256=siEs1E
527
528
  policyengine_uk/tests/test_parameter_metadata.py,sha256=_2w2dSokAf5Jskye_KIL8eh80N7yIrUszlmqnZtwQws,450
528
529
  policyengine_uk/tests/code_health/test_variables.py,sha256=9Y-KpmzhyRGy9eEqocK9z91NXHX5QIF3mDMNGvegb7Q,1398
529
530
  policyengine_uk/tests/microsimulation/README.md,sha256=1toB1Z06ynlUielTrsAaeo9Vb-c3ZrB3tbbR4E1xUGk,3924
530
- policyengine_uk/tests/microsimulation/reforms_config.yaml,sha256=cNTQgfD7Dsty1r4CRpya3DurtgvD_54i0UfUrr8cqLQ,1086
531
+ policyengine_uk/tests/microsimulation/reforms_config.yaml,sha256=ZOuJ4knFx-OKRUNeIfcv61sxgjjmXdBv9B_mcP19Hm4,1086
531
532
  policyengine_uk/tests/microsimulation/test_reform_impacts.py,sha256=xM3M2pclEhA9JIFpnuiPMy1fEBFOKcSzroRPk73FPls,2635
532
533
  policyengine_uk/tests/microsimulation/test_validity.py,sha256=RWhbSKrnrZCNQRVmGYlM8hnpe1_Blo5_xP8vr8u3kV0,694
533
534
  policyengine_uk/tests/microsimulation/update_reform_impacts.py,sha256=2pxp2RNLWxV4CesGKKHmg3qBs79Jq2Jcq3GJIBk4euU,4824
@@ -598,7 +599,7 @@ policyengine_uk/tests/policy/baseline/gov/dcms/bbc/tv_licence_discount.yaml,sha2
598
599
  policyengine_uk/tests/policy/baseline/gov/dcms/bbc/tv-licence/tv_licence.yaml,sha256=cYAZlmmoAxWymv7L0lDzPcX6dexNAERQnVQMOB0HVzE,562
599
600
  policyengine_uk/tests/policy/baseline/gov/dfe/care_to_learn/care_to_learn.yaml,sha256=i5RIghjT2T7uWn_xvaeYb2dIJ7JsreSr_f12UPtFqpg,508
600
601
  policyengine_uk/tests/policy/baseline/gov/dfe/care_to_learn/care_to_learn_eligible.yaml,sha256=XPeMlYk3ibEpT6GgVzVk_IPnsTHLDzM4mlcru1jwA-k,3745
601
- policyengine_uk/tests/policy/baseline/gov/dfe/extended_childcare_entitlement/extended_childcare_entitlement.yaml,sha256=I7L3fj0WQ5wP3HPPZy7sx0zkZO02j-G446itRtg0g5o,4765
602
+ policyengine_uk/tests/policy/baseline/gov/dfe/extended_childcare_entitlement/extended_childcare_entitlement.yaml,sha256=y7FkeyrU7NQQbA_JZAkuGflWmyM4Cbh1a_fIQhXHQxM,4727
602
603
  policyengine_uk/tests/policy/baseline/gov/dfe/extended_childcare_entitlement/extended_childcare_entitlement_eligible.yaml,sha256=fE6Cm9K0xQsTWrFS90lrVa8pgwC8gdpGtmttBgLsZhw,4305
603
604
  policyengine_uk/tests/policy/baseline/gov/dfe/extended_childcare_entitlement/extended_childcare_entitlement_income_condition.yaml,sha256=5PihH858DmLIkWZTrDMuqF9X9PXCzejffjbKc_LhZPI,1250
604
605
  policyengine_uk/tests/policy/baseline/gov/dfe/extended_childcare_entitlement/extended_childcare_entitlement_work_condition.yaml,sha256=7KmrVQddB70kbtn2TbdJ8q2ER58H9GhAJmeak0sODoE,2300
@@ -1367,10 +1368,10 @@ policyengine_uk/variables/misc/spi_imputed.py,sha256=iPVlBF_TisM0rtKvO-3-PQ2UYCe
1367
1368
  policyengine_uk/variables/misc/uc_migrated.py,sha256=zFNcUJaO8gwmbL1iY9GKgUt3G6J9yrCraqBV_5dCvlM,306
1368
1369
  policyengine_uk/variables/misc/categories/lower_middle_or_higher.py,sha256=C54tHYz2DmOyvQYCC1bF8RJwRZinhAq_e3aYC-9F5fM,157
1369
1370
  policyengine_uk/variables/misc/categories/lower_or_higher.py,sha256=81NIbLLabRr9NwjpUZDuV8IV8_mqmp5NM-CZvt55TwE,129
1370
- policyengine_uk-2.38.0.data/data/share/openfisca/openfisca-country-template/CHANGELOG.md,sha256=5iyLIVZACmG7qGZ1Ir_WotK1Pu8eH58K0tQhjOCkGwk,55727
1371
- policyengine_uk-2.38.0.data/data/share/openfisca/openfisca-country-template/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1372
- policyengine_uk-2.38.0.data/data/share/openfisca/openfisca-country-template/README.md,sha256=PCy7LRLdUDQS8U4PaeHeBVnyBZAqHv1dAVDDvEcom20,1976
1373
- policyengine_uk-2.38.0.dist-info/METADATA,sha256=eKxI3tA1M8p48GmnVs4eeAYvZbqjjFq_nBzY2xzAWyQ,3453
1374
- policyengine_uk-2.38.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1375
- policyengine_uk-2.38.0.dist-info/licenses/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1376
- policyengine_uk-2.38.0.dist-info/RECORD,,
1371
+ policyengine_uk-2.38.1.data/data/share/openfisca/openfisca-country-template/CHANGELOG.md,sha256=AwdgxpvxANkRyG-j1hdhXYKqnQT_hTqaH8HJhW1CWc4,55895
1372
+ policyengine_uk-2.38.1.data/data/share/openfisca/openfisca-country-template/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1373
+ policyengine_uk-2.38.1.data/data/share/openfisca/openfisca-country-template/README.md,sha256=PCy7LRLdUDQS8U4PaeHeBVnyBZAqHv1dAVDDvEcom20,1976
1374
+ policyengine_uk-2.38.1.dist-info/METADATA,sha256=s7CTmc0OPq4_8UInf-onN-NYdjhRtdhncAAG9z2shW4,3453
1375
+ policyengine_uk-2.38.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1376
+ policyengine_uk-2.38.1.dist-info/licenses/LICENSE,sha256=dql8h4yceoMhuzlcK0TT_i-NgTFNIZsgE47Q4t3dUYI,34520
1377
+ policyengine_uk-2.38.1.dist-info/RECORD,,