Quant Memo
Core

Bad Controls and Post-Treatment Bias

Not every variable belongs in a regression as a control — adding a variable that treatment itself influences can erase or distort the very effect you're trying to measure.

Prerequisites: Confounding and the Backdoor Criterion

A quant estimates the effect of a new execution algorithm on portfolio return, and — wanting to be thorough — controls for post-trade slippage in the regression, since slippage seems like an obviously relevant variable. The coefficient on the algorithm nearly vanishes. Did the algorithm really do nothing? No: slippage is caused by the algorithm choice itself — it's one of the channels through which the algorithm affects returns. Controlling for it blocks off exactly the mechanism you were trying to measure, mechanically forcing the estimated effect toward zero. This is a bad control, and it's one of the most common and hardest-to-notice mistakes in applied regression work.

An analogy: measuring a drug by controlling for its own symptoms relief

Suppose you test whether a painkiller reduces reported pain, but you also control for "hours of sleep last night" — and the drug's whole mechanism is that it lets people sleep better, which is what reduces their pain. Controlling for sleep blocks the very pathway you're studying; you'd conclude the drug "has no effect on pain, holding sleep constant," which is true but useless, since the drug never works any other way. The mistake isn't a statistical error — the regression runs fine and the standard errors are correct — it's a conceptual one: you controlled for a consequence of treatment as if it were a cause.

The distinction, one symbol at a time

Let DD be treatment (execution algorithm), YY the final outcome (return), and MM a mediator — a variable that lies on the causal path from DD to YY, so DMYD \to M \to Y. A bad control is any variable, like MM, that is itself an effect of DD. Including it in a regression of YY on DD estimates:

(direct effect of D on Y, holding M fixed)\text{(direct effect of } D \text{ on } Y \text{, holding } M \text{ fixed)}

rather than the total effect

(total effect)=(direct effect)+(effect of D on Y through M).\text{(total effect)} = \text{(direct effect)} + \text{(effect of } D \text{ on } Y \text{ through } M).

In plain English: controlling for a mediator answers "what's left of the effect after we surgically remove the channel through which it operates?" — a different and usually less useful question than "what's the actual total effect of doing DD?" The backdoor criterion (see confounding and the backdoor criterion) only calls for controlling variables that are not descendants of treatment; a mediator, by definition, is a descendant.

Worked example 1: the execution algorithm, decomposed

Suppose the algorithm's true total effect on return is +50 basis points, all of which flows through reduced slippage: it reduces slippage by 30bps, and every 1bp of slippage reduction translates to roughly 1.67bp of extra return (through better fill prices compounding across trades) — the arithmetic is illustrative, not universal. A regression of return on algorithm-dummy alone recovers close to +50bps. A regression that also controls for realized slippage effectively asks "what's the algorithm's effect on return if slippage hadn't changed" — and since slippage is exactly how the algorithm works, that residual direct effect is close to zero. Reporting the second regression's near-zero coefficient as "the algorithm's effect" badly understates its real, total impact.

Worked example 2: a subtler case with a collider twist

A firm studies whether a training program (DD) improves trader retention (YY), and controls for "6-month performance review score" (MM), reasoning that performance seems like a natural control. But performance review score is partly caused by the training itself (DMD \to M) and partly by an unmeasured trait like resilience, which also independently affects retention (UYU \to Y, with UMU \to M as well). Controlling for MM here is doubly bad: it blocks part of the training's true effect (mediation) and, because MM is also a collider of DD and UU, it opens a spurious path linking training to the unmeasured trait UU (see colliders and collider bias), contaminating the estimate with UU's effect on retention. Two distinct biases, from adding one seemingly reasonable control.

D (algo) M (slippage, a mediator) Y (return) direct effect (small) controlling for M blocks the top path, leaving only the small direct effect
Most of D's effect on Y flows through the mediator M; controlling for M (boxed) shuts off that channel and the regression reports only the leftover direct effect, badly understating the algorithm's total impact.
Is the variable a consequence of treatment? no yes safe to control for bad control — leave out
The one question that determines whether a variable belongs in the control set: does treatment cause it, or does it (plausibly) cause treatment?

What this means in practice

The fix is not statistical but conceptual: before adding any control to a regression, draw (even mentally) whether it plausibly sits upstream of treatment (a legitimate confounder to control for) or downstream of treatment (a mediator or collider, generally a bad control). If you want the total effect of a policy, don't control for outcomes the policy itself produces. If you specifically want to decompose an effect into direct and indirect channels, formal mediation methods exist for that purpose (see mediation analysis) — but that's a deliberate, careful exercise, not something to stumble into by tossing every "relevant-looking" variable into a regression.

A control variable is only safe to include if it is not itself a consequence of treatment — controlling for a mediator blocks the very causal channel you're trying to measure, and controlling for a collider can manufacture bias that wasn't there before.

The instinct "add the control, see if the coefficient survives, and trust whichever number comes out more conservative" is exactly backwards for post-treatment variables. A shrinking coefficient after adding a mediator is not evidence the true effect is small — it can be a mechanical artifact of blocking the effect's own transmission channel. Always ask "could this variable plausibly be caused by my treatment?" before interpreting a change in the coefficient as new information.

Related concepts

Practice in interviews

Further reading

  • Angrist & Pischke, Mostly Harmless Econometrics, ch. 3
ShareTwitterLinkedIn