Skip to content

When One Metric Secretly Drives Another: A Buyer's Guide to Vector Autoregression

A data science or analytics leader choosing a forecasting approach for two or
more business metrics has one decision to make first: do these metrics only
respond to their own past, or does each one also feed back on the other? Pick
a single-equation, point-estimate model when the answer is "they feed back on
each other," and the forecast hides which metric is driving which, and drops
the uncertainty band that would have told you how much to trust it.

What a single-equation forecast can't see

A standard autoregressive forecast predicts one metric from its own history.
That works when the metric truly moves on its own. It breaks silently when a
second metric is quietly driving it: the model still produces a confident
point number, but the number encodes a relationship it never checked.

y_t = a + b_1 y_{t-1} + b_2 y_{t-2} + \ldots + b_n y_{t-n} + \epsilon

Here the left-hand side is the metric's value at the current time step, the
first term on the right is a baseline intercept, each following term weights
how much an earlier value of the same metric still matters, and the last
term is unexplained noise. Nothing in this equation lets a second metric
contribute at all.

Vector autoregression tests both directions at once

A vector autoregression (VAR) model replaces the single equation above with
one equation per metric, and each equation includes the recent history of
every other metric in the system:

y_t = a_y + b_{yy,1} y_{t-1} + b_{yy,2} y_{t-2} + b_{xy,1} x_{t-1} + b_{xy,2} x_{t-2} + \epsilon_y
x_t = a_x + b_{yx,1} y_{t-1} + b_{yx,2} y_{t-2} + b_{xx,1} x_{t-1} + b_{xx,2} x_{t-2} + \epsilon_x

Setting every cross-term to zero collapses the system back into two
independent, single-metric forecasts. Keeping them in is what lets the model
answer the buyer's actual question: which metric moves which, and by how
much.

VAR is not an economics-only tool. Published applications span patient health
records in medicine, activity recognition from sensor data, disease-spread
interactions in epidemiology, gene-regulatory networks in biology, and
short-term supply and demand shifts in energy markets, anywhere two or more
tracked quantities plausibly influence each other over time
(Bayesian vector autoregression, Wikipedia).

Why the Bayesian version keeps the uncertainty instead of dropping it

Classical VAR still returns point estimates for every coefficient and every
forecast step. A Bayesian VAR (BVAR) treats each coefficient as an
unknown quantity with a full probability distribution, updated from the data,
so the output is a range of plausible futures instead of one number.

Classical VARBayesian VAR
Coefficient outputSingle point estimateFull posterior distribution
Forecast outputOne projected value per stepA distribution of plausible trajectories per step
Domain knowledgeNot directly expressibleEncoded as priors on the coefficients
Extending the modelRequires re-deriving the estimatorComposes with hierarchical or additional structure

PyMC is the open-source probabilistic programming library used to build and
sample this kind of model; writing the VAR equations directly in PyMC
produces a Bayesian VAR by default, without a hand-derived sampling routine
(Bayesian Vector Autoregressive Models, PyMC example gallery).

A historical example: the feedback ran one way, not both

A widely used illustration of this discipline fits a two-metric BVAR to a
public quarterly economic dataset spanning three decades. As a planning
example, not a live capability, the exercise is instructive because of what
the posterior revealed rather than any number it produced: past values of one
metric were strongly associated with the other metric's future path, while
the reverse relationship sat close to zero. A single-equation model applied
to either metric alone would never have surfaced that asymmetry.

That is the general shape of the buyer decision: before trusting a forecast
that treats two metrics as independent, check whether the feedback between
them is actually one-directional, bidirectional, or absent.

How Subconscious approaches the same discipline

Subconscious's causal experimentation and discrete-choice-style modeling
start from an explicit decision, not an ambient dataset, and return
directional comparisons with honest uncertainty language where the study
design supports it. Read more about the research approach or
how a study is set up.

Where the analogy stops

Subconscious does not run vector autoregression, Bayesian estimation, or
macroeconomic forecasting as a product feature, and no confidence interval,
posterior range, or runtime figure attached to this forecasting example
belongs to a Subconscious output.

Next step

A team evaluating a forecasting or causal-modeling vendor can ask the same
question raised above: does the proposed method check whether two metrics
feed back on each other, and does its output keep an honest range instead of
a single confident number? Learn about Subconscious to see how that
question gets answered for a specific business decision.

Four steps: check if either metric's past predicts the other; if not, single AR suffices; if so, use VAR with cross-terms in both equations; if a range is needed, use Bayesian VAR.
The model choice follows from one check: does either metric's history predict the other, and is a range needed.