Suppose femur length helps determine height. A causal graph can say that femur length causes height; a structural causal model (SCM) also specifies how it does so. That extra assumption can support causal inferences that a graph alone cannot, but it creates another way for the model to be wrong. section 6.0 section 6.1
An SCM starts with a causal directed acyclic graph (DAG). Its endogenous variables are the quantities modeled explicitly. Exogenous, or noise, variables stand for causes left outside that model. Each endogenous variable has a structural assignment: a function that determines its value from its parents. In the formulation here, each endogenous variable has its own latent exogenous parent; those exogenous variables are independent root nodes. Their values come from probability distributions, while the assignments determine endogenous values. section 6.1.3
Height from femur length
Let x be femur length in centimeters and y be height in centimeters. One proposed mechanism is nᵧ ~ N(0, 3.3) and y = 25 + 3x + nᵧ. The equation asserts that changing femur length changes height proportionally; nᵧ represents other causal determinants. Linearity is a causal claim to justify, not merely a convenient curve to fit. section 6.1.1
This differs from fitting a conditional probability table or neural-network component to each node. Those components can describe how a child varies with its parents without asserting a particular mechanism. A structural assignment deliberately makes a stronger claim about that mechanism. Stronger assumptions may enable stronger inferences, but also increase the risk of modeling error. section 6.1
Use the model to reason about setting a cause to a hypothetical value when a real experiment is infeasible. First make the graph and assignment assumptions explicit; then ask whether their implications survive contact with data. Conditional-independence checks can refute a proposed DAG, but failure to refute it does not establish that its causal claims are true. section 1.5.3 section 4.3

