tidyr
tidyr replaced separate() with a family that says what it does.
A side-by-side editorial comparison of dowhy and performance — release velocity, themes, recent moves, and the top alternatives to consider.
DoWhy adds one estimation method a year and keeps its identification edge.
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.
performance keeps adding ways to check a model you have already fitted.
performance is at 0.17.1, which added check_priors() for prior predictive checks on Bayesian models and gave check_overdispersion(), check_model() and check_predictions() arguments to control residual type and plot range. The releases before it are a similar mix: a -2LL criterion column in test_likelihoodratio(), Bayesian predictive checks routed through modelbased, and in 0.16.0 a set of breaking renames including RMSA to the correct RMSR.
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.
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.
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.
performance is at 0.17.1, which added check_priors() for prior predictive checks on Bayesian models and gave check_overdispersion(), check_model() and check_predictions() arguments to control residual type and plot range. The releases before it are a similar mix: a -2LL criterion column in test_likelihoodratio(), Bayesian predictive checks routed through modelbased, and in 0.16.0 a set of breaking renames including RMSA to the correct RMSR.
Two consistent habits. Diagnostics keep gaining arguments to narrow what is examined — ppc_range, x_limits, maximum_dots, show_ci — which reads as a package being used on models large and awkward enough that the defaults stopped working. And simulated residuals via DHARMa keep displacing standard ones as the basis for the checks themselves.
With check_priors() newly added and Bayesian predictive checks now routed through modelbased, the next release most likely extends the Bayesian diagnostic set rather than reworking the frequentist checks.
Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either dowhy or performance.
tidyr replaced separate() with a family that says what it does.
modeltime built conformal intervals in, then went quiet on features.
CmdStanPy is clearing deprecations ahead of a 2.0 it keeps announcing.
OpenHouse is hardening the seams where table policies and jobs quietly fail.
silx 3.0 moved its default Qt binding to PySide6 — a migration for everyone embedding it.
statsmodels ships only what the ecosystem breaks — six releases, no new statistics.
See all dowhy alternatives → · See all performance alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. dowhy and performance are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. dowhy and performance are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top dowhy alternatives in Analytics are ranked by recent ship velocity. Browse the "dowhy alternatives" section above for the current picks, or visit /alternatives/dowhy for the full list with editorial commentary on each.
Top performance alternatives in Analytics are ranked by recent ship velocity. Browse the "performance alternatives" section above for the current picks, or visit /alternatives/easystats-performance for the full list with editorial commentary on each.