  Parametric causal modelling techniques rarely provide functionality for
counterfactual estimation, often at the expense of modelling complexity. Since
causal estimations depend on the family of functions used to model the data,
simplistic models could entail imprecise characterizations of the generative
mechanism, and, consequently, unreliable results. This limits their
applicability to real-life datasets, with non-linear relationships and high
interaction between variables. We propose Deep Causal Graphs, an abstract
specification of the required functionality for a neural network to model
causal distributions, and provide a model that satisfies this contract:
Normalizing Causal Flows. We demonstrate its expressive power in modelling
complex interactions and showcase applications of the method to machine
learning explainability and fairness, using true causal counterfactuals.
