Skip to content

Add indirect tax effects of reforms planning doc (#1114)#1719

Open
vahid-ahmadi wants to merge 1 commit into
mainfrom
vahid-ahmadi/issue-1114-indirect-tax-effects-plan
Open

Add indirect tax effects of reforms planning doc (#1114)#1719
vahid-ahmadi wants to merge 1 commit into
mainfrom
vahid-ahmadi/issue-1114-indirect-tax-effects-plan

Conversation

@vahid-ahmadi
Copy link
Copy Markdown
Collaborator

Summary

  • Model indirect tax effects of individual tax reforms #1114 asks for an automatic pass-through from direct-tax reforms (income tax, NI) to indirect-tax revenue (VAT, excise) via household consumption response — UKMOD's TCO module uses a consumption elasticity of 0.8.
  • Persist the plan in-repo at docs/book/policy/indirect-tax-effects-plan.md.
  • Key finding from auditing the current code:
    • PolicyEngine UK already has the downstream infrastructure (consumer_incident_tax_revenue_change distributes an aggregate change across households by consumption share).
    • What's missing is the upstream link: today the user has to manually set the aggregate via gov.contrib.policyengine.budget.consumer_incident_tax_change.
  • The page covers:
    • Phase 1: a single household-level consumption_response_factor driven by net income change and a single elasticity parameter (UKMOD's 0.8),
    • Phase 2: per-category elasticities calibrated to ONS Living Costs and Food Survey,
    • Phase 3: automatic linkage to consumer_incident_tax_revenue_change,
    • recommended hook pattern (split *_consumption -> *_consumption_baseline data input + *_consumption derived formula applying the factor),
    • open questions on decile-varying elasticities, saving residual, and labour-supply interaction.
  • Pure documentation; no code changes.

Test plan

  • Markdown lints cleanly.
  • Docs build job picks up the new page under policy/.

🤖 Generated with Claude Code

#1114 asks for an automatic pass-through from direct-tax reforms
(income tax, NI) to indirect-tax revenue (VAT, excise) via household
consumption response, citing UKMOD's TCO module elasticity of 0.8.

Persist the plan in-repo. The current model has the destination
infrastructure (consumer_incident_tax_revenue_change distributes an
aggregate change across households by consumption share) but the
upstream link is missing: today the user has to manually set the
aggregate via gov.contrib.policyengine.budget.consumer_incident_tax_change.

The page covers:

- the current state (manual lever only) and what TCO does differently,
- Phase 1: a single household-level consumption_response_factor driven
  by net income change and a single elasticity parameter (UKMOD's 0.8),
- Phase 2: per-category elasticities calibrated to ONS Living Costs and
  Food Survey,
- Phase 3: automatic linkage to consumer_incident_tax_revenue_change so
  the user no longer needs to set a separate budget lever,
- the recommended hook pattern (split *_consumption -> *_consumption_baseline
  data input + *_consumption derived formula applying the factor) to
  avoid breaking non-indirect-tax users,
- open questions on decile-varying elasticities, saving residual, and
  interaction with the existing labour-supply response.
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.

1 participant