Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Computing percentage changes in the dynamic revenue decomposition table #981

Closed
jdebacker opened this issue Sep 4, 2024 · 1 comment
Closed
Labels

Comments

@jdebacker
Copy link
Member

In the output_tables.dynamic_revenue_decomposition function, the total percentage change in tax revenue is broken down into the percentage changes from:

  1. Changes in tax rates
  2. Behavioral responses (i.e., changes in labor supply and savings)
  3. Macro economic effects (i.e., changes in interest rates and wages)

These changes are computed by create 4 series of revenue:

A. Baseline simulation tax revenue
B. Tax revenue with new tax rates, but the same behavior and wages and interest rates as in the baseline simulation
C. Tax revenue with new tax rates, new behavior, but the same wages and interest rates as in the baseline simulation
D. The reform simulation tax revenue

In its current form, the function computes the percentage changes in the following way:

  • Pct change due to tax rates = (B-A)/A
  • Pct change due to behavior = (C-B)/B
  • Pct change due to macro = (D-C)/D
  • Overall pct change = (D-A)/D

In this way, the percentage changes can't be summed together to get the overall percentage change. I think such adding up is a nice property.

Therefore, I propose we define the percentage changes as percentages relative to the baseline revenue:

  • Pct change due to tax rates = (B-A)/A
  • Pct change due to behavior = (C-B)/A
  • Pct change due to macro = (D-C)/A
  • Overall pct change = (D-A)/A
@jdebacker
Copy link
Member Author

Resolved with PR #986

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant