diff --git a/changelog_entry.yaml b/changelog_entry.yaml
index e69de29bb..a223ddaa6 100644
--- a/changelog_entry.yaml
+++ b/changelog_entry.yaml
@@ -0,0 +1,6 @@
+- bump: minor
+ changes:
+ added:
+ - Scottish Child Payment rates from 2026-27 to 2030-31 per Scottish Fiscal Commission forecasts.
+ - Scottish Child Payment baby boost under-1 total from 2027-28 to 2030-31 per SFC forecasts.
+ - CPI uprating for SCP parameters for projections beyond 2030-31.
diff --git a/policyengine_uk/parameters/gov/contrib/scotland/scottish_child_payment/under_one.yaml b/policyengine_uk/parameters/gov/contrib/scotland/scottish_child_payment/under_one.yaml
index eaf3a1c64..a7af5bbca 100644
--- a/policyengine_uk/parameters/gov/contrib/scotland/scottish_child_payment/under_one.yaml
+++ b/policyengine_uk/parameters/gov/contrib/scotland/scottish_child_payment/under_one.yaml
@@ -1,11 +1,17 @@
description: Total weekly Scottish Child Payment amount for children under 1.
values:
0001-01-01: 0
- 2027-04-01: 40
+ 2027-04-01: 40.00
+ 2028-04-01: 40.80
+ 2029-04-01: 41.65
+ 2030-04-01: 42.50
metadata:
unit: currency-GBP
period: week
label: Scottish Child Payment total for under-1s
+ uprating: gov.economic_assumptions.indices.obr.consumer_price_index
reference:
- title: Scottish Budget 2026 to 2027
href: https://www.gov.scot/publications/scottish-budget-2026-2027/pages/6/
+ - title: Scottish Fiscal Commission - Scotland's Economic and Fiscal Forecasts January 2026
+ href: https://fiscalcommission.scot/wp-content/uploads/2026/01/Scotlands-Economic-and-Fiscal-Forecasts-January-2026-revised-13-01-2026.pdf
diff --git a/policyengine_uk/parameters/gov/hmrc/fuel_duty/calculate_fuel_duty_rates.py b/policyengine_uk/parameters/gov/hmrc/fuel_duty/calculate_fuel_duty_rates.py
index f24f902fb..f7864b055 100644
--- a/policyengine_uk/parameters/gov/hmrc/fuel_duty/calculate_fuel_duty_rates.py
+++ b/policyengine_uk/parameters/gov/hmrc/fuel_duty/calculate_fuel_duty_rates.py
@@ -18,7 +18,6 @@
import yaml
-
# Years to calculate rates for
CALCULATION_YEARS = range(2026, 2031)
diff --git a/policyengine_uk/parameters/gov/social_security_scotland/scottish_child_payment/amount.yaml b/policyengine_uk/parameters/gov/social_security_scotland/scottish_child_payment/amount.yaml
index aeb758150..be0d0e272 100644
--- a/policyengine_uk/parameters/gov/social_security_scotland/scottish_child_payment/amount.yaml
+++ b/policyengine_uk/parameters/gov/social_security_scotland/scottish_child_payment/amount.yaml
@@ -6,12 +6,20 @@ values:
2022-11-14: 25
2024-04-01: 26.70
2025-04-01: 27.15
+ 2026-04-01: 28.20
+ 2027-04-01: 28.85
+ 2028-04-01: 29.45
+ 2029-04-01: 30.05
+ 2030-04-01: 30.65
metadata:
unit: currency-GBP
period: week
label: Scottish Child Payment weekly amount
+ uprating: gov.economic_assumptions.indices.obr.consumer_price_index
reference:
- title: The Scottish Child Payment Regulations 2020, Regulation 20
href: https://www.legislation.gov.uk/ssi/2020/351/regulation/20
- title: Scottish Government - Scottish Child Payment
href: https://www.gov.scot/policies/social-security/scottish-child-payment/
+ - title: Scottish Fiscal Commission - Scotland's Economic and Fiscal Forecasts January 2026
+ href: https://fiscalcommission.scot/wp-content/uploads/2026/01/Scotlands-Economic-and-Fiscal-Forecasts-January-2026-revised-13-01-2026.pdf
diff --git a/policyengine_uk/tests/microsimulation/test_reform_impacts.py b/policyengine_uk/tests/microsimulation/test_reform_impacts.py
index 4e036dd34..24cfde006 100644
--- a/policyengine_uk/tests/microsimulation/test_reform_impacts.py
+++ b/policyengine_uk/tests/microsimulation/test_reform_impacts.py
@@ -8,7 +8,6 @@
from pathlib import Path
from policyengine_uk import Microsimulation
-
# Load configuration from YAML file
config_path = Path(__file__).parent / "reforms_config.yaml"
with open(config_path, "r") as f:
diff --git a/policyengine_uk/tests/microsimulation/test_salary_sacrifice_cap_reform.py b/policyengine_uk/tests/microsimulation/test_salary_sacrifice_cap_reform.py
index 5a76645d9..ec5353ddd 100644
--- a/policyengine_uk/tests/microsimulation/test_salary_sacrifice_cap_reform.py
+++ b/policyengine_uk/tests/microsimulation/test_salary_sacrifice_cap_reform.py
@@ -20,7 +20,6 @@
import pandas as pd
from policyengine_uk import Microsimulation
-
# Policy year when the salary sacrifice cap takes effect
POLICY_YEAR = 2030 # Use 2030 to ensure cap is active (cap starts 2029-04-06)
diff --git a/policyengine_uk/tests/policy/baseline/gov/social_security_scotland/scottish_child_payment.yaml b/policyengine_uk/tests/policy/baseline/gov/social_security_scotland/scottish_child_payment.yaml
index 5428c243d..b17b33d54 100644
--- a/policyengine_uk/tests/policy/baseline/gov/social_security_scotland/scottish_child_payment.yaml
+++ b/policyengine_uk/tests/policy/baseline/gov/social_security_scotland/scottish_child_payment.yaml
@@ -255,6 +255,72 @@
# [parent, child_1]
scottish_child_payment: [0, 1412]
+- name: SCP with 2026 amount (£28.20/week)
+ period: 2026
+ absolute_error_margin: 10
+ input:
+ people:
+ parent:
+ age: 30
+ child_1:
+ age: 5
+ benunits:
+ benunit:
+ members: [parent, child_1]
+ universal_credit: 5000
+ households:
+ household:
+ members: [parent, child_1]
+ region: SCOTLAND
+ output:
+ # £28.20/week * 52 weeks = £1,466.40
+ # [parent, child_1]
+ scottish_child_payment: [0, 1466]
+
+- name: SCP with 2027 amount (£28.85/week)
+ period: 2027
+ absolute_error_margin: 10
+ input:
+ people:
+ parent:
+ age: 30
+ child_1:
+ age: 5
+ benunits:
+ benunit:
+ members: [parent, child_1]
+ universal_credit: 5000
+ households:
+ household:
+ members: [parent, child_1]
+ region: SCOTLAND
+ output:
+ # £28.85/week * 52 weeks = £1,500.20
+ # [parent, child_1]
+ scottish_child_payment: [0, 1500]
+
+- name: SCP with 2028 amount (£29.45/week)
+ period: 2028
+ absolute_error_margin: 10
+ input:
+ people:
+ parent:
+ age: 30
+ child_1:
+ age: 5
+ benunits:
+ benunit:
+ members: [parent, child_1]
+ universal_credit: 5000
+ households:
+ household:
+ members: [parent, child_1]
+ region: SCOTLAND
+ output:
+ # £29.45/week * 52 weeks = £1,531.40
+ # [parent, child_1]
+ scottish_child_payment: [0, 1531]
+
- name: CTC no longer qualifies from 2025 (after April 2024)
period: 2025
absolute_error_margin: 1
diff --git a/policyengine_uk/tests/policy/reforms/scp_baby_bonus/scottish_child_payment_baby_bonus.yaml b/policyengine_uk/tests/policy/reforms/scp_baby_bonus/scottish_child_payment_baby_bonus.yaml
index b7e71d175..40ab1d737 100644
--- a/policyengine_uk/tests/policy/reforms/scp_baby_bonus/scottish_child_payment_baby_bonus.yaml
+++ b/policyengine_uk/tests/policy/reforms/scp_baby_bonus/scottish_child_payment_baby_bonus.yaml
@@ -24,10 +24,10 @@
members: [parent, baby]
region: SCOTLAND
output:
- # Under-1s get £40/week total (policy parameter)
- # £40/week * 52 weeks = £2,080 per year
+ # Under-1s get £40.80/week total (2028-29 SFC forecast)
+ # £40.80/week * 52 weeks = £2,121.60 per year
# [parent, baby]
- scottish_child_payment: [0, 2080]
+ scottish_child_payment: [0, 2122]
- name: SCP baby bonus - child over 1 gets standard rate (2028)
period: 2028
@@ -49,9 +49,9 @@
members: [parent, toddler]
region: SCOTLAND
output:
- # Standard rate only: £27.15/week * 52 = £1,411.80
+ # Standard rate only: £29.45/week * 52 = £1,531.40
# [parent, toddler]
- scottish_child_payment: [0, 1412]
+ scottish_child_payment: [0, 1531]
- name: SCP baby bonus - mixed ages (2028)
period: 2028
@@ -75,10 +75,10 @@
members: [parent, baby, older_child]
region: SCOTLAND
output:
- # Baby (age 0): £40/week total * 52 = £2,080
- # Older child (age 5): £27.15/week * 52 = £1,411.80
+ # Baby (age 0): £40.80/week total * 52 = £2,121.60
+ # Older child (age 5): £29.45/week * 52 = £1,531.40
# [parent, baby, older_child]
- scottish_child_payment: [0, 2080, 1412]
+ scottish_child_payment: [0, 2122, 1531]
- name: SCP baby bonus - not in Scotland (2028)
period: 2028
diff --git a/policyengine_uk/tests/test_behavioral_responses.py b/policyengine_uk/tests/test_behavioral_responses.py
index f28b0c2e6..16f7b50ff 100644
--- a/policyengine_uk/tests/test_behavioral_responses.py
+++ b/policyengine_uk/tests/test_behavioral_responses.py
@@ -16,7 +16,6 @@
from policyengine_uk import Microsimulation
from policyengine_uk.model_api import Scenario
-
# Check if HF token is available for data-dependent tests
HF_TOKEN_AVAILABLE = bool(os.environ.get("HUGGING_FACE_TOKEN"))
requires_hf_data = pytest.mark.skipif(
diff --git a/policyengine_uk/utils/dependencies.py b/policyengine_uk/utils/dependencies.py
index c1ea9d059..71f4126d3 100644
--- a/policyengine_uk/utils/dependencies.py
+++ b/policyengine_uk/utils/dependencies.py
@@ -179,14 +179,12 @@ def create_waterfall_change_chart(
def add_fonts():
- fonts = HTML(
- """
+ fonts = HTML("""
- """
- )
+ """)
return display_html(fonts)
diff --git a/policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py b/policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py
index 3169b8db6..b0806780c 100644
--- a/policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py
+++ b/policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py
@@ -1,6 +1,5 @@
from policyengine_uk.model_api import *
-
STATUTORY_CONSUMER_INCIDENCE = 0.5
ECONOMIC_CONSUMER_INCIDENCE = 1
diff --git a/policyengine_uk/variables/gov/hmrc/income_tax/reliefs/loss_relief.py b/policyengine_uk/variables/gov/hmrc/income_tax/reliefs/loss_relief.py
index fc5aaecc6..ced48ecb1 100644
--- a/policyengine_uk/variables/gov/hmrc/income_tax/reliefs/loss_relief.py
+++ b/policyengine_uk/variables/gov/hmrc/income_tax/reliefs/loss_relief.py
@@ -1,6 +1,5 @@
from policyengine_uk.model_api import *
-
"""
The section detailing some tax reliefs applicable is section 24 of the Act, but others are described in the 2003 and 2005 Acts as deductions from the respective components.
"""