Book Review: Causal Inference with Bayesian Networks
I recently received a review copy of Causal Inference with Bayesian Networks by Yousri El Fattah and Reza Bagheri from my friends at PackT.
Authors
Yousri El Fattah is the CEO of Causal Computing and an expert in machine intelligence, causal modelling, control systems engineering, and data science.
Reza Bagheri is a working data scientist at Ipsos. He has written extensively on data science and machine learning, and has spoken at substantial conferences.
Both authors have completed PhDs.
Content
This book is an ambitious and substantial guide to one of the most important areas in modern data science: moving beyond correlation to reason about cause and effect. The book positions Bayesian networks not just as probabilistic modelling tools, but as a practical framework for representing knowledge, handling uncertainty, and supporting causal decision-making. That is a timely focus, as Bayesian networks are increasingly used to combine observational data with domain expertise and to reason about interventions and counterfactuals across fields such as epidemiology, economics, genomics, and environmental science.
The book has amazing breadth. It starts with foundations: probability, Bayes’ theorem, conditional independence, Bayesian networks, and structural causal models. From there, it moves into deeper material including relational database representations of probabilistic models, join tree clustering, belief propagation, and variable elimination. The causal inference chapters then cover key concepts such as Pearl’s do-calculus, back-door and front-door criteria, potential outcomes, counterfactual reasoning, and causal effect identification.
Given the tough topics, the practical nature of the book is welcome. The authors reinforce concepts with worked examples and implementations in R and Python, using packages such as pgmpy, CausalModels, and causallib. Later chapters apply the ideas to real-world-style case studies in economics, epidemiology, and social science, including the Lalonde National Supported Work dataset, smoking cessation and mortality analysis, and the Card and Krueger minimum-wage study. These help lift the book above a purely theoretical treatment and makes it more useful for readers who want to implement causal workflows rather than only understand the mathematics.
This book is not a lightweight introduction. It assumes readers already have some comfort with probability, statistics, R, Python, and scientific libraries. That’s already a tough call but at more than 600 pages, it’s also pretty dense reading. I suspect that some readers may find the progression from Bayesian networks into relational algebra and join tree methods quite demanding. I don’t think they should be omitted but readers might find them more specialized than the title initially suggested. This is not an applied how do I estimate treatment effects? guide and many will likely find the early and middle chapters heavier than expected.
The best audience is probably data scientists, researchers, and technically confident students who want a serious bridge between graphical models, structural causal models, and applied causal estimation. For them, the book’s combination of theory, algorithms, and code is excellent. It shows not only what causal inference is trying to achieve, but also how graphical models can clarify assumptions, expose confounding, and guide valid estimation.
Summary
This book is a rigorous, practical, and unusually broad treatment of the subject. It requires commitment, but for readers who want to understand causal inference at a deeper level and implement it in R or Python, it is a valuable and timely resource.
I liked the book, even though it made for a heavy reading experience. The knowledge-level of the authors is clear.
7 out of 10
2026-08-14