Welfare Comparison

Dear Dynare users,

I have a (probably) simple question regarding the computation of welfare effects in Dynare. I’ve searched the board already but couldn’t find a clear answer to my question.
If I want to compare different policy rules (e.g. taxes) with respect to their welfare implications, how can I use Dynare to compute the welfare under different scenarios and how to interpret the results in terms of consumption?

From what I got so far, I include a recursive welfare representation of the form:

W = Util(c)+beta*W(+1)

into my Dynare program (find an example with distortionary income taxation attached). According to the board, this gives me the unconditional welfare of the representative household in a given scenario.

Now if I want to compare this to a second scenario, I rerun (or loop) the program with a changed tax rate where I again compute the approximated theoretical mean of the welfare measure.

Can I just use these two computations of W and compare the relative welfare in both scenarios? Or how should I implement this? How is the interpretation of this measure?

Furthermore, if I include endogenous labor supply into the model, this should be reflected in the utility function, how does this affect the interpretation of the resulting welfare?
rbc_inctax_welfare.mod (768 Bytes)

1 Like

Hi Jan78,

You can have a look at my answer at
Consumption Equivalence_Welfare analysis.

As to your second question, your measure of welfare is simply the present discounted value of flow utility

W_t=E_t\left\lbrace \sum_{i=0}^{\infty}\beta^{i}U\left(C_{t+i},N_{t+i}\right)\right\rbrace

or, to express it recursively

W_t=U\left(C_{t},N_{t}\right)+\beta E_t\left\lbrace W_{t+1} \right\rbrace.

For example, assuming a very simple utility function that includes labor supply, you have that

W_t=E_t\left\lbrace \sum_{i=0}^{\infty}\beta^{i}\left(\log C_{t+i}-\chi\log N_{t+i}\right)\right\rbrace.

Using my notation in the link above, you can write unconditional welfare in benchmark economy in a recursive manner as

E\left[W_{t}^{p}\left(\xi\right)\right]=E\left\lbrace \left(\log C_{t+i}\left(1+\xi\right)-\chi\log N_{t+i} +\beta E_t\left\lbrace W^{p}_{t+1} \left(\xi\right) \right\rbrace \right)\right\rbrace

which shows you that \xi retains a “consumption equivalent” interpretation even if you have other terms in the utility function :slight_smile:

1 Like

Two additional remarks:

  1. You need to decide whether you care about unconditional (i.e. long-run) welfare or the conditional one, i.e. conditional on being in a particular situation today.
  2. Unless you have nice analytical forms, you will need to compute that consumption equivalent numerically. An example is at https://github.com/JohannesPfeifer/DSGE_mod/tree/master/Born_Pfeifer_2018/Welfare


thank you for the comprehensive and clear answers. So to clarify it, in case I want to compute the unconditional welfare effect of a tax change in my attached example, I just run the mod files and compute two expressions W_{tau1}, W_{tau2} and then I can back-out the Consumption Equivalent compentsation for the household to be indifferent between both regimes.

In case of a CRRA utility I derive the CE as:

\xi = \left( \frac{E[W_t^{ap}]}{E[W_t^{p}]+(1/(1-\beta)(1-\sigma))}\right)^{(1/(1-\sigma))}-1

However, even for values of \sigma \approx 1 this yields quite different results compared to the case of log-utility. I guess I made some mistake but struggle to find it, it would be great if you could point it out to me.


I am trying to implement a consumption equivalent welfare analysis in a model where the policy that I wish to evaluate does not affect the steady-state model. In such a case, I cannot define recursive welfare that is different from the natural welfare. How can I get along with this using your example as a starting point? In my benchmark model, a parameter value is equal to zero, under the policy it is bigger than that.

Instead of a the natural level welfare, you can still implement the benchmark economy as a separate economy in your model and the compute everything relative to this benchmark. The same logic applies.

Thank you very much for your answer. Should I write both models in the same .mod file? Or can I have two separate files and then combine them in the ‘get_consumption_equivalent_conditional_welfare’?

Both should be in the same mod-file