#3 · Primary category: Classical Machine Learning Frameworks
dowhy
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
scikit-learn
scikit-learn: machine learning in Python
pyod
A Python library for anomaly detection across tabular, time series, graph, text, image, and audio data. 60+ detectors, benchmark-backed ADEngine orchestration, and an agentic workflow for AI agents.
umap
Uniform Manifold Approximation and Projection
imbalanced-learn
A Python Package to Tackle the Curse of Imbalanced Datasets in Machine Learning
mlpack
mlpack: a fast, header-only C++ machine learning library