#3 · Primary category: Classical Machine Learning Frameworks

dowhy

bayesian-networks causal-inference causal-machine-learning causal-models causality data-science do-calculus graphical-models machine-learning python3 treatment-effects

DoWhy is a Python library for causal inference that supports explicit modeling and testing of causal assumptions. DoWhy is based on a unified language for causal inference, combining causal graphical models and potential outcomes frameworks.

Project last updated:08/29/26

GitHub Stars

8.3K

Forks

1.1K

Contributors

117

License

MIT

Why we included this project

DoWhy is the library to reach for when your analysis question is about cause rather than correlation, such as whether a button color change actually lifts purchases or which service in a distributed system is slowing the frontend. It wraps causal inference in a four-step workflow (model, identify, estimate, refute) that covers backdoor, frontdoor, and instrumental-variable settings, and it integrates with EconML for conditional treatment effects. The refutation API is what makes it stand out for teams: it actively challenges the assumptions behind an estimate instead of trusting them, so non-experts can sanity-check results before acting. Beyond effect estimation, the library also supports root-cause analysis, counterfactual what-if questions, and causal structure learning through graphical causal models. Data scientists and analysts who need defensible answers to intervention questions will find it a practical, well-documented starting point.

Articles for this project

No articles for this project yet.

To suggest a topic or contribute an article, contact us.

Related projects in this category