Skip to content

Add Rural Fuel Duty Relief Scheme#1672

Merged
MaxGhenis merged 1 commit into
mainfrom
vahid-ahmadi/issue-676-rural-fuel-duty-relief
May 23, 2026
Merged

Add Rural Fuel Duty Relief Scheme#1672
MaxGhenis merged 1 commit into
mainfrom
vahid-ahmadi/issue-676-rural-fuel-duty-relief

Conversation

@vahid-ahmadi
Copy link
Copy Markdown
Collaborator

Summary

  • Implements the Rural Fuel Duty Relief Scheme (closes Rural Fuel Duty Relief Scheme #676).
  • Adds a new in_rural_fuel_duty_relief_area household-level input (bool, default False) so that households in eligible postcodes — Inner/Outer Hebrides, Northern Isles, Islands in the Clyde, Isles of Scilly, and listed parts of Cumbria, Devon and Northumberland — can be flagged.
  • When flagged, fuel_duty is computed at petrol_and_diesel - rural_fuel_duty_relief (5p/L from 2012-03-01) instead of the headline rate. Applies to both petrol and diesel litres.
  • New parameter gov.hmrc.fuel_duty.rural_fuel_duty_relief with HMRC Notice 2001 + SI 2011/2935 references.

Scope notes

  • This is the calculator-side change only. The flag defaults to False so household microsim aggregates are unchanged unless data assigns the flag (no FRS postcode info available today). Useful immediately for the household calculator and for reforms that toggle eligibility.
  • No change to incidence assumptions — only the effective per-litre rate.

Test plan

  • Added 3 YAML cases (policyengine_uk/tests/policy/baseline/gov/hmrc/fuel_duty/rural_fuel_duty_relief.yaml):
    • Non-relief household → full rate.
    • In-relief household, petrol only → 5p/L reduction.
    • In-relief household, mixed petrol + diesel → 5p/L reduction on combined litres.
  • Full local policy suite: policyengine-core test policyengine_uk/tests/policy -c policyengine_uk → 1004 passed.
  • ruff format + ruff check on touched files → clean.

🤖 Generated with Claude Code

Copy link
Copy Markdown
Collaborator

@MaxGhenis MaxGhenis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes because this branch is stale against current main, and the fuel-duty conflict is behavior-affecting.

In policyengine_uk/variables/gov/hmrc/fuel_duty/fuel_duty.py:22-27, the new relief is layered onto the old formula that divides by STATUTORY_CONSUMER_INCIDENCE. Current main removed that incidence adjustment and computes fuel duty as the per-litre rate times monthly litres, so this version would double baseline fuel duty and the relief-adjusted amounts after the conflict is resolved. The new tests also encode the stale doubled outputs at policyengine_uk/tests/policy/baseline/gov/hmrc/fuel_duty/rural_fuel_duty_relief.yaml:18-19 and :38-39.

Please rebase/update the PR so the 5p relief is subtracted from the current main formula without restoring the incidence constants. For the 2025 1,000-litre examples, the expected annual values should be 529.50 outside the relief area and 479.50 inside it.

@MaxGhenis MaxGhenis force-pushed the vahid-ahmadi/issue-676-rural-fuel-duty-relief branch from e5f6439 to 0a21ce3 Compare May 23, 2026 14:05
Copy link
Copy Markdown
Collaborator

@MaxGhenis MaxGhenis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated this branch on current main and fixed the fuel-duty formula so relief subtracts from the current per-litre rate without restoring the old incidence multiplier. Targeted test passed locally: ============================= test session starts ==============================
platform darwin -- Python 3.13.9, pytest-8.4.1, pluggy-1.6.0
rootdir: /Users/maxghenis/PolicyEngine/policyengine-uk-policybench-rates
configfile: pyproject.toml
collected 0 items

============================ no tests ran in 0.00s ============================= (3 passed).

@MaxGhenis MaxGhenis merged commit ac9cb69 into main May 23, 2026
9 checks passed
@MaxGhenis MaxGhenis deleted the vahid-ahmadi/issue-676-rural-fuel-duty-relief branch May 23, 2026 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rural Fuel Duty Relief Scheme

2 participants