Skip to content
Merged
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

# Use bd merge for beads JSONL files
.beads/issues.jsonl merge=beads
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# The rate at which ALL workers' employment income is reduced due to the salary sacrifice cap.
# When the salary sacrifice cap is active, employers face increased NI costs on excess contributions.
# They spread these costs across ALL employees (not just affected workers), reducing everyone's pay.
#
# Calculation from blog (https://policyengine.org/uk/research/uk-salary-sacrifice-cap):
# - Total excess above £2,000 cap: £13.8 billion
# - Employer NI on excess (at 15%): £2.1 billion
# - Total UK employment income: ~£1.3 trillion
# - Broad-base haircut rate: £2.1bn / £1.3tn ≈ 0.0016 (0.16%)
#
# This is applied to ALL workers' employment income, not just salary sacrificers.
# The economic logic: employers cannot target only affected workers (who would negotiate
# to recoup the loss), so they spread the cost across all employees.
description: Rate at which all workers' employment income is reduced when salary sacrifice cap is active.
values:
2010-01-01: 0.0016
metadata:
unit: /1
label: Salary sacrifice broad-base haircut rate
reference:
- title: PolicyEngine UK Salary Sacrifice Cap Analysis
href: https://policyengine.org/uk/research/uk-salary-sacrifice-cap
4 changes: 4 additions & 0 deletions policyengine_uk/simulation.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,10 @@ def __init__(

self.move_values("capital_gains", "capital_gains_before_response")
self.move_values("employment_income", "employment_income_before_lsr")
self.move_values(
"employee_pension_contributions",
"employee_pension_contributions_reported",
)

self.input_variables = self.get_known_variables()

Expand Down
4 changes: 2 additions & 2 deletions policyengine_uk/tests/microsimulation/reforms_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ reforms:
parameters:
gov.hmrc.child_benefit.amount.additional: 25
- name: Reduce Universal Credit taper rate to 20%
expected_impact: -29.3
expected_impact: -29.4
parameters:
gov.dwp.universal_credit.means_test.reduction_rate: 0.2
- name: Raise Class 1 main employee NICs rate to 10%
expected_impact: 13.3
parameters:
gov.hmrc.national_insurance.class_1.rates.employee.main: 0.1
- name: Raise VAT standard rate by 2pp
expected_impact: 20.7
expected_impact: 20.9
parameters:
gov.hmrc.vat.standard_rate: 0.22
- name: Raise additional rate by 3pp
Expand Down
Loading