← Back to home
Comparison · Analytics

fect vs ggstats

A side-by-side editorial comparison of fect and ggstats — release velocity, themes, recent moves, and the top alternatives to consider.

Shared themes:r-package

fect vs ggstats: at a glance

Featurefectggstats
SectorAnalyticsAnalytics
Velocity score0.00.0
Sparks · 30d00
Top themesr-package, causal-inference, panel-data, api-redesignggplot2, data-visualization, likert, regression-models
Last editorial update2h ago59m ago
WebsiteVisit →Visit →

What is fect?

A counterfactual estimator turning itself into a platform for multiple estimands

fect implements counterfactual estimators for panel data with treatment effects — imputation-based fixed effects, interactive fixed effects, matrix completion. The 2026 releases move fast and bundle heavily: 2.1.0 rewrote complex fixed effect handling, 2.2.0 unified cross-validation under a single cv.method parameter and replaced method='gsynth' with an explicit time.component.from switch, 2.4.1 introduced a post-hoc estimand API, and 2.4.5 added group.fe for coarsened fixed effects plus a $sample slot exposing which cells entered estimation.

Read the full fect trajectory →

What is ggstats?

ggstats keeps widening what a coefficient or Likert plot can be

ggstats extends ggplot2 with statistical plotting: model coefficient plots, Likert and diverging bar charts, proportion geometries and the helpers that make them behave. Recent releases have added an experimental gglikert_side(), left and right total columns for gglikert(), and survey-object support across the Likert family. Development is steady and CRAN-paced, with releases every two to three months.

Read the full ggstats trajectory →

fect vs ggstats: editorial side-by-side

F
fect
ANALYTICS
0.0

A counterfactual estimator turning itself into a platform for multiple estimands

◆ Current state

fect implements counterfactual estimators for panel data with treatment effects — imputation-based fixed effects, interactive fixed effects, matrix completion. The 2026 releases move fast and bundle heavily: 2.1.0 rewrote complex fixed effect handling, 2.2.0 unified cross-validation under a single cv.method parameter and replaced method='gsynth' with an explicit time.component.from switch, 2.4.1 introduced a post-hoc estimand API, and 2.4.5 added group.fe for coarsened fixed effects plus a $sample slot exposing which cells entered estimation.

◆ Where it's heading

The direction is separation of estimation from interpretation. Where the package once returned one effect from one fit, estimand() now dispatches typed estimands — ATT, cumulative ATT, APTT, log ATT — from any imputation fit, with effect() and att.cumu() soft-deprecated but byte-identical pending 3.0.0. Alongside that runs a transparency thread: the $sample matrix, out-of-sample comparison via fect_mspe(), and named component sources instead of opaque method aliases. The release notes are unusually precise about which results change and which do not.

◆ Prediction

The soft-deprecation notice names 3.0.0 as the removal point for effect() and att.cumu(), so a major release consolidating on the estimand() dispatcher is the clearly signposted next step.

G
ggstats
ANALYTICS
0.0

ggstats keeps widening what a coefficient or Likert plot can be

◆ Current state

ggstats extends ggplot2 with statistical plotting: model coefficient plots, Likert and diverging bar charts, proportion geometries and the helpers that make them behave. Recent releases have added an experimental gglikert_side(), left and right total columns for gglikert(), and survey-object support across the Likert family. Development is steady and CRAN-paced, with releases every two to three months.

◆ Where it's heading

Two long-running threads. The coefficient side has been consolidating — ggcoef_multinom() and ggcoef_multicomponents() soft-deprecated in favour of a unified ggcoef_model() with group_by, plus new ggcoef_dodged() and ggcoef_faceted() variants. The Likert side keeps expanding outward instead, absorbing survey objects, total columns and side-by-side layouts. Underneath both is a steady tax of ggplot2 and vctrs compatibility work, including tracking the geom_errorbarh() deprecation in ggplot2 4.0.0.

◆ Prediction

Expect gglikert_side() to lose its experimental status once its interface settles, and the deprecated multinomial entry points to be removed in a future release now that ggcoef_model() covers their cases.

Alternatives to fect and ggstats

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 fect or ggstats.

See all fect alternatives → · See all ggstats alternatives →

Recent activity from fect and ggstats

Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.

  1. 2mo agofectAdds group.fe for coarsened fixed effects and a $sample slot
  2. 3mo agofectPost-hoc estimand API decouples estimands from the fit
  3. 4mo agofectUnified cross-validation and explicit control of time components
  4. 5mo agoggstatsgglikert_side() and total columns for Likert plots
  5. 7mo agofectRewrites complex fixed effect handling and fixes speed
  6. 7mo agoggstatsLikert functions accept survey objects
  7. 11mo agoggstatsTable output for ggcoef_compare(); x-axis limits harmonised
  8. 11mo agofectAdds heterogeneous treatment effect plots and caps default cores
  9. 1y agoggstatsggstats 0.10.0
  10. 1y agoggstatsCoefficient plots unified around ggcoef_model() with grouping
  11. 1y agoggstatsDiverging and Likert geoms redesigned; connector geoms added

Frequently asked questions

What is the difference between fect and ggstats?

Both compete on the same themes — r-package — within Analytics. fect and ggstats 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.

Is fect better than ggstats?

Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. fect and ggstats 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.

What are the best alternatives to fect?

Top fect alternatives in Analytics are ranked by recent ship velocity. Browse the "fect alternatives" section above for the current picks, or visit /alternatives/fect for the full list with editorial commentary on each.

What are the best alternatives to ggstats?

Top ggstats alternatives in Analytics are ranked by recent ship velocity. Browse the "ggstats alternatives" section above for the current picks, or visit /alternatives/ggstats for the full list with editorial commentary on each.