Skip to main content
v2026.11,772 entries · CC-BY 4.0

Granger Causality: What It Does and Does Not Show

Granger causality tests whether one time series improves prediction of another — a narrower claim than true causation. This guide covers the two main ways it misleads (shared driving factors, lagged reverse causality), the stationarity and lag-selection prerequisites, and a worked time-series example.

Ask about Granger Causality: What It Does and Does Not Show

Answers are drawn from this guide and the rest of the CASRAI corpus, with a link to every source.

Answers are AI-generated from CASRAI’s own published pages and can be wrong, so check the linked sources before relying on one; your question is logged without personal data — never sold, never used to train a third-party model — to show us what CASRAI is missing, so please do not type personal or confidential details. How we use this

Written and maintained by CASRAI Editorial Board

Last updated

Granger causality is a statistical test of predictive precedence — whether past values of one time series improve the prediction of another, beyond what that series’ own past already provides. It is not a test of causation in the everyday sense of “X brings about Y.” The name is a source of most of the confusion: Clive Granger, who introduced the concept, was explicit that he meant a narrow, operational sense of the word, and later cautioned against over-interpreting it (Granger, C.W.J., “Investigating Causal Relations by Econometric Models and Cross-Spectral Methods,” Econometrica, Vol. 37, No. 3, 1969, pp. 424–438). This guide covers what the test does show, the specific mechanisms by which it can mislead, the prerequisites it depends on, and a worked example.

What the test actually measures

A variable X is said to “Granger-cause” a variable Y if past values of X, added to a regression of Y on its own past values, significantly improve the prediction of Y. In practice this is implemented as a vector autoregression (VAR): Y is regressed on its own lags and on lags of X, and an F-test (or a Wald test on the joint significance of X’s lag coefficients) checks whether those X terms add explanatory power. Rejecting the null means “X’s history contains information about Y’s future that Y’s own history does not already contain.” That is a statement about forecasting, not about mechanism.

This is precise, useful information for a specific purpose — building a forecasting model, or ruling out predictive content — but it is a much weaker claim than “X causes Y.” A test built entirely on temporal precedence and correlation cannot, by construction, rule out the two mechanisms below.

Why it can mislead: a common driving factor

If a third variable Z drives both X and Y, but affects Y with a longer lag than it affects X, X’s past values will carry predictive information about Y’s future even though X has no causal effect on Y at all — X is simply an earlier-arriving symptom of the same underlying cause. This is the same logic as confounding in cross-sectional analysis, translated into the time domain: instead of a variable creating a spurious cross-sectional correlation, a variable creates a spurious lead-lag relationship. Two markers of the same underlying process, released or measured at different speeds, will Granger-cause each other in whichever direction the slower-reacting series is designated the outcome — with no causal link between them at all.

A trivariate VAR that includes candidate confounders as additional variables (rather than a strictly bivariate X-Y test) is the standard way to check whether a Granger-causal relationship survives conditioning on a plausible common driver. If it disappears once Z is added, the original bivariate result was very likely an artifact of the shared driver rather than a direct X→Y relationship.

Why it can mislead: reverse causality with lags

Granger causality is directional by construction — a test checks whether X’s lags predict Y, and a separate test checks the reverse — but “X Granger-causes Y” does not rule out that the true causal arrow runs from Y to X with a delay the analyst has not modeled. If Y actually causes X, but does so with a lag longer than the one being tested, and X in turn adjusts to its own past quickly, the test can register X as predicting Y simply because X is reacting to an earlier value of Y that has not yet fully worked through. Markets and behavioral systems with anticipatory or expectation-driven components are especially prone to this: an agent that adjusts X today based on an expectation of tomorrow’s Y will make X appear to Granger-cause Y, even though the operative causal direction is the reverse, expectation-driven one.

The standard diagnostic is to test both directions (X→Y and Y→X) explicitly, at more than one lag length, rather than running a single directional test and treating a significant result as confirmation of the hypothesized direction. Bidirectional significance (“feedback”) is itself informative — it usually means the system is better described as jointly determined than as one series driving the other.

Prerequisites the test depends on

Stationarity

The standard Granger causality F-test assumes the series involved are (weakly) stationary — that their mean, variance, and autocorrelation structure do not change over the sample period. Testing levels of non-stationary series directly can produce a spurious-regression problem: two unrelated random walks will frequently show a statistically significant relationship purely because both are trending, not because either predicts the other. The conventional fix is to test differenced series (e.g., first differences to remove a unit root) once stationarity has been confirmed with a unit-root test, or to use a vector error-correction model (VECM) when the series are cointegrated, since differencing alone would discard the long-run relationship in that case. An alternative that avoids pre-testing for unit roots and cointegration is the Toda-Yamamoto procedure: estimate a VAR in levels with extra lags added equal to the maximum suspected order of integration, then restrict the causality test to only the originally intended lags — this sidesteps some of the pre-test bias that comes from getting the differencing or cointegration decision wrong, at the cost of some efficiency.

Lag length

The result is conditional on how many lags are included, and this is a real researcher degree of freedom, not a formality. Too few lags can omit the horizon at which the true relationship operates and produce a false negative; too many lags cost degrees of freedom, inflate standard errors, and can produce a false positive by fitting noise. Lag order is normally chosen with an information criterion (AIC or BIC, which trade off fit against the number of parameters) applied to the full VAR before the causality test is run on that lag structure — not chosen after the fact by whichever lag length happens to produce significance, which is a form of specification search that invalidates the nominal p-value.

A worked example (illustrative, not a real dataset)

Illustrative example — the numbers and series below are a constructed teaching dataset, not drawn from any real study, institution, or published data source.

Suppose a researcher has 10 years of monthly data on (1) a region’s new housing permits and (2) a regional employment index, and wants to know whether permits Granger-cause employment, employment Granger-causes permits, or both.

  1. Check stationarity. An augmented Dickey-Fuller test on the levels of both series fails to reject a unit root in each — both are non-stationary. First-differencing both series (converting to month-over-month change) does reject the unit root, so the analysis proceeds on the differenced series.
  2. Select lag length. A VAR is fit on the differenced pair across candidate lag orders 1 through 12; BIC is minimized at 3 lags, so the causality tests use a 3-lag specification.
  3. Test both directions. The F-test of “permits’ lags jointly predict employment, controlling for employment’s own lags” rejects the null (p < 0.01): permits Granger-cause employment. The reverse test — “employment’s lags jointly predict permits” — does not reject (p = 0.34).
  4. Check a plausible common driver. Because local interest-rate conditions plausibly move both permits and employment, the analyst adds a regional mortgage-rate series to the VAR as a third variable. The permits→employment result survives (p < 0.05) once the rate series is conditioned on, which weakens — without proving impossible — the shared-driver explanation.
  5. Report it as what it is. The honest conclusion is: “New housing permits Granger-cause the regional employment index at a 3-month horizon, and this predictive relationship is not fully explained by the mortgage-rate series tested; permits carry information useful for forecasting employment before it materializes.” That is a genuinely useful forecasting finding. It is not a demonstration that building more housing causes more jobs — a claim that would require a design built for causal identification (a natural experiment, an instrument, or a well-specified structural model), not a bivariate lead-lag test, however many controls are added to it.

How to report a Granger causality result without over-claiming

  • Use “Granger-causes” or “has predictive precedence over” in the write-up, not bare “causes” — the terminology exists precisely to keep this distinction visible to a reader who knows the literature.
  • State the lag structure and the information criterion used to select it, so the result is reproducible and the reader can judge whether the horizon tested matches the theoretical mechanism being proposed.
  • Report both directions of the test, not only the one that came out significant.
  • Name the stationarity test and transformation applied (or the Toda-Yamamoto lag-augmentation used in its place) — an unstated stationarity check is one of the more common quiet flaws in an applied Granger-causality writeup.
  • If the goal is a genuine causal claim rather than a forecasting one, say so explicitly and use a design suited to it — see Causal Analysis: A Guide to Causal Inference for the frameworks (potential outcomes, DAGs, instrumental variables) built for that stronger claim, and Correlation vs. Causation for the underlying distinction Granger causality inherits rather than resolves.

Related concepts

A confounding variable is the general mechanism behind the common-driving-factor failure mode above, stated in non-time-series terms. Researchers working with staggered or repeated observations over time on the causal-identification side, rather than the predictive side, may also want Difference-in-Differences: Evidencing Parallel Trends and the Staggered-Adoption Problem, which addresses a different but related question: identifying a treatment effect from panel data rather than testing predictive precedence between two ongoing series.

Frequently asked questions

Does Granger causality prove causation?

No. It establishes that one series’ past values improve prediction of another series’ future values, beyond that series’ own history. That is consistent with true causation, but equally consistent with both series being driven by a shared factor with different lags, or with a reversed causal relationship that operates with a longer delay than the one tested.

What is the difference between Granger causality and structural/true causality?

Granger causality is defined entirely in terms of predictability using observed data and does not require, or provide, an identification strategy that rules out confounding. Structural or “true” causal inference (potential outcomes, instrumental variables, randomized designs) is built specifically to rule out confounding and support a counterfactual claim — “changing X would change Y” — which a Granger test never establishes on its own.

Can two variables Granger-cause each other?

Yes — this is called feedback, and it is common rather than exceptional in economic and behavioral time series. Finding significant causality in both directions does not indicate an error; it usually means the two series are jointly determined rather than one simply driving the other.

Do both series need to be stationary before testing?

The standard F-test formulation assumes stationarity, and testing non-stationary series in levels risks a spurious-regression result. Either confirm stationarity (with differencing or a VECM for cointegrated series as needed) before testing, or use a lag-augmented approach such as Toda-Yamamoto that is designed to remain valid without pre-testing the exact order of integration.

How many lags should a Granger causality test use?

Select the VAR’s lag order using an information criterion such as AIC or BIC before running the causality test, rather than choosing the lag length after seeing which one produces a significant result. The finding is conditional on the lag order tested, so report it explicitly.

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →

Regulatory Radar

Stop finding out after the fact

$29/month, cancel anytime. Daily digest updates from our analysis, a dashboard holding the same items, and a cited assistant for everything they raise.

  • Federal Register, Federal Register+, Grants.gov, Regulations.gov, NSF News, UKRI, plus CASRAI’s own published content.
  • 44,322 indexed passages, and every answer cites the ones it drew on.