In R, I have two variables, x and y, and a basic VAR model with just one lag, i.e. (as I understand it) the model basically is:

x(t) = a*x(t-1) + b*y(t-1) + c + error1

y(t) = d*x(t-1) + e*y(t-1) + f + error2

with a,b,c,d,e,f some constants.

How do you interpret the irf output (impulse response coefficients)? What magnitude is the impulse and what are the irf plot y-axis units?

Specifically I was puzzled by the observation that when I scaled my two time series by multiplying both by 100, the irf plot y-axis values and impulse response coefficients were also multiplied by 100. I would have thought that they remain the same (e.g. "one unit shock in x(t) leads to units response in y(t+1)", and that the coefficient between the two does not depend on the units we use for both of the variables).

Can you help with the irf result interpretation and why the scaling leads to such a result?

  • 2
    $\begingroup$ The "unit" in "unit-shock" is one standard-deviation. $\endgroup$ Oct 8, 2022 at 18:25

1 Answer 1


When you conduct VAR all variables should be on the same scale or same variable transformation basis (or as close as possible). It makes perfect sense that when you multiply your original variables by a 100, the IRF graph also reflects responses that are 100 times greater than in the original. The revised graph proportionally has not changed the response (visually the graphs will look identical). You are just using a different scale (i.e. 1 instead of 1% or something similar).

An IRF indicates what is the impact of an upward unanticipated one-unit change in the "impulse" variable on the "response" variable over the next several periods (typically 10).

IRFs do not have coefficients. The original regressions as you specified them have the coefficients. The IRFs has three main outputs: the expected level of the shock in a given period surrounded by a 95% Confidence Interval (a low estimate and a high estimate). And, all those also generate the IRF graphs.

  • 1
    $\begingroup$ Okay, thanks! To clarify this further, let's say that first I had my data (both x and y, naturally) in the notation of "0,01" (i.e. percentages in their "raw numerical format"). Then the impulse response for lag 1 was 0,04. I interpreted this as "one unit, i.e. 100%, unexpected increase in x" leads to 0,04 (4%) increase in y after the lag of one. Okay. Then I multiplied my data, both x and y by 100. Now I have 1% as "1". Then I repeat the VAR and the impulse response estimation. I end up getting 4 as the same impulse response. I interpret this as 1% increase in x --> 4 % increase in y. Err? $\endgroup$
    – Arvo P.
    Mar 23, 2016 at 16:20
  • $\begingroup$ Arvo, your variables have to be on the same basis. So a 1% unexpected increase in X causes a 4% increase in Y. If you use full units of percentage points: an unexpected increase in X by 1 full unit causes a 4 unit increase in Y. The VAR IRFs estimation does all the calculation for you going forward how many periods you decide to go. At least, that is the case using the vars package in VAR and using the irf() function. $\endgroup$
    – Sympa
    Mar 23, 2016 at 18:12
  • $\begingroup$ Thanks Sympa for your effort! Yes, I'm using vars package and irf(). My variables are on the same basis within the cases (in the 1st case, percentage points as: 0,01, 0,02... for both x and y. In the 2nd (scaled) case, the same percentage points presented as 1%, 2% for x and y). In the 1st case, why doesn't the "one unit increase in x" mean x -> x+1, e.g. 0,01 -> 1,01, i.e. +100%? For this impulse (whatever the magnitude), the response of y as given by irf() is "0,04". +4%?. In the second case, why isn't the one unit increase in x now +1%. For this the response of y is "4". 4 % again? $\endgroup$
    – Arvo P.
    Mar 23, 2016 at 19:59
  • $\begingroup$ So basically, the way I see it (and where I probably somehow get lost) is that in the first case, the impulse is one hundred times the impulse in the 2nd case, as "+1 unit in x" depends also on the scaling. But the response is the same (0,04, 4%). Which interpretation would you consider correct in this case: impulse 1 (as 100%) --> response 0,04 (as 4%). Or impulse 1 (as 1%) --> response 4 (as 4%) $\endgroup$
    – Arvo P.
    Mar 23, 2016 at 20:06
  • 1
    $\begingroup$ @Sympa how is "one unit" defined? when I ran an irf on three variables each of the same unit, they each shifted by a very different amount for month zero. $\endgroup$
    – wizlog
    Dec 18, 2016 at 4:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.