Causal Inference 101

5 min read

Introduction to causal graphs (DAGs)

How directed acyclic graphs clarify confounding, mediators, and colliders — without heavy math.

A causal graph (often a DAG — directed acyclic graph) draws variables as nodes and causal influences as arrows. It is a language for stating what causes what before fitting models.

Graphs help teams agree on the problem structure: Is this variable a confounder we should adjust for? A mediator on the path from treatment to outcome? A collider we must not condition on?

Why graphs matter for analysis

Adjusting for the wrong variables can open spurious paths or block valid ones. A mediator between treatment and outcome should usually not be controlled if you want the total effect. A collider (common effect of two variables) can induce bias if you stratify on it.

Tools like DoWhy combine graphs with statistical estimators so assumptions and computations stay aligned.

You do not need a perfect graph

Even a rough graph forces explicit thinking. Sensitivity to alternative graphs — what if an unmeasured factor points to both treatment and outcome? — is part of responsible causal work.

Run this method on your data — no Python

CausalLens runs matching, DiD, causal forests, DoWhy refutation, and more — with balance tables, sensitivity checks, and PDF export.