Skip to content

Tobacco duty is not modelled: add Tobacco Products Duty rates and tobacco quantities #1873

Open

Description

@juaristi22

What the engine does today

policyengine-uk charges no tobacco duty. Tobacco spending sits inside the household input alcohol_and_tobacco_consumption (a year's spending on alcohol and tobacco together), which counts towards consumption, but no parameter covers tobacco duty and there are no quantities to charge it on. HOUSEHOLD_TAX_VARIABLES and gov_tax include fuel_duty and no other excise duty.

The law

Tobacco Products Duty Act 1979, Schedule 1. HMRC's rates from 6pm on 26 November 2025 (Tobacco Products Duty rates):

  • cigarettes: £353.50 per 1,000 plus 16.5% of the retail price, with a minimum excise duty of £471.93 per 1,000
  • hand-rolling tobacco: £503.80 per kg
  • cigars: £440.93 per kg
  • other smoking tobacco and chewing tobacco: £193.87 per kg
  • tobacco for heating: £363.36 per kg

Each specific rate and the minimum excise duty is 5.66% above the rate set at 6pm on 30 October 2024 (cigarettes £334.58 per 1,000, minimum £446.67); the ad valorem rate stayed at 16.5%. HMRC's table also lists an increase from 1 October 2026, to £394.09 per 1,000 cigarettes plus 16.5%.

Why it matters

  • Tobacco duty usually changes from 6pm on Budget day. Neither the 26 November 2025 increase nor the one due on 1 October 2026 can be scored today.
  • Household Budget calculators report it. Blick Rothenberg's Autumn Budget 2025 calculator, published by GB News and the Guardian, asks for packs of cigarettes a week and reports the duty on them.

Proposed change

  • Parameters for the specific rates by product, the cigarette ad valorem rate and the minimum excise duty, with references. The rates change partway through tax years (6pm on Budget day, 1 October 2026), so annual values need a blend. policyengine-uk does this two ways today: fiscal_year_blend on the capital gains tax rates and calendar-year averages in gov.hmrc.fuel_duty.petrol_and_diesel. The tobacco parameters should use the tax-year basis the model reports in.
  • Inputs: cigarettes a week, grams of hand-rolling tobacco a week, and a retail price per packet (a parameter default the user can override) for the ad valorem part. Cigarette duty is the larger of the specific plus ad valorem duty and the minimum excise duty.
  • A household tobacco_duty variable, assuming full pass-through to consumers, added to HOUSEHOLD_TAX_VARIABLES and gov_tax the way fuel_duty is.
  • For microsimulation: split tobacco spending out of alcohol_and_tobacco_consumption, turn it into quantities using prices, and check the total against HMRC's tobacco duty receipts (the Tobacco Bulletin). Survey spending on tobacco falls well short of receipts, so that check matters.

Part of the excise duties in #1775 (Workstream C). Related: #1114.

Activity

  1. vahid-ahmadi commented on Oct 27, 2026

    @vahid-ahmadi
    Collaborator

    Looks fixed, by two merged PRs:

    The quantities still stay flat after the data year; that is #2596. OK to close?

    🤖 Generated with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions