← Back to all sparks
D

dowhy

ANALYTICS
Velocity0.0

Causal inference and reasoning library

DoWhy adds one estimation method a year and keeps its identification edge.

causal-inferenceeffect-estimationidentificationgcmpython
Current state
DoWhy is at v0.14, which added a doubly robust estimator and Python 3.13 support. The releases before it followed the same shape: v0.13 brought the Generalized Adjustment Criterion for identification, v0.12 added time-series effect estimation and a rank-based anomaly scorer. Between the feature releases sit patch versions handling pandas and CUDA breakage.
Where it's heading
Two threads run through the window. The identification side — DoWhy's differentiator against libraries that only estimate — keeps gaining criteria, from frontdoor with multiple variables through the Generalized Adjustment Criterion. The GCM side grows separately with missing-data handling, classifier selection logic and calibration work. The two halves are converging on a single API rather than staying separate entry points.
Prediction
Given the pace of one estimator or criterion per release and the experimental flags still on missing-data support in GCM, the next release most likely promotes existing experimental features rather than opening a new estimation family.

Recent moves

  1. 9mo ago

    v0.14: Python 3.13 support and a new doubly robust estimator

    Adds a doubly robust estimator, which stays consistent if either the outcome or the treatment model is right — a standard method the library had been missing. Classifier selection in GCM is revised and Gaussian kernels move to torch.cdist for speed.

    View source ↗
  2. 1y ago

    v0.13: Generalized Adjustment Criterion for effect estimation and missing data support in GCM

    The Generalized Adjustment Criterion lands for both identification and estimation, widening the set of graphs DoWhy can find a valid adjustment set in. Experimental missing-data support arrives on the GCM side.

    View source ↗
  3. 1y ago

    v0.12: Python 3.12 compatibility, [experimental] support for time-series data, and extensions to new scenarios

    Extends effect estimation to time-series data and adds a multiply-robust change-attribution method plus a rank-based anomaly scorer. It is the release where DoWhy stopped assuming cross-sectional data.

    View source ↗
  4. 2y ago

    v0.11.1: Bug fixes and improvements

    A patch release: equation-based data-generating-process definitions, an accessor for fitted estimators, and fixes to independence tests and confidence intervals. Convenience around the v0.11 API rather than new inference capability.

    View source ↗
  5. 2y ago

    v0.11: New GCM features and improved compatibility of GCM with CausalModel API

    Declares the functional API ready and starts closing the gap between GCM and the older CausalModel entry point. Frontdoor identification gains multi-variable support and a module for falsifying GCM assumptions appears.

    View source ↗
  6. 2y ago

    v0.10.1: Minor fixes to main 0.10 release

    A patch on the 0.10 line exposing interventional outcomes and fixing pandas 2.0 breakage. Maintenance, not new method coverage.

    View source ↗