Generalized Synthetic Control Method
Overview
Conducts causal inference with interactive fixed-effect models. It imputes counterfactuals for each treated unit using control group information based on a linear interactive fixed effects model that incorporates unit-specific intercepts interacted with time-varying coefficients. This method generalizes the synthetic control method to the case of multiple treated units and variable treatment periods, and improves efficiency and interpretability. See Xu (2017) doi:10.1017/pan.2016.2 for details.
- **Breaking change**: The
estimatorparameter now maps directly to estimation methods.estimator = "gsynth"(new default) uses the generalized synthetic control method (Xu 2017);estimator = "ife"uses the IFE-EM algorithm (Gobillon & Magnac 2016);estimator = "mc"uses matrix completion (Athey et al. 2021). The legacyEM = TRUEparameter is equivalent toestimator = "ife"whenestimatoris not explicitly specified. - Fixed loadings plot warnings from
GGally::ggpairs(upstream fix in **fect**). - Replaced pkgdown vignette with Quarto book tutorial.
- Updated DESCRIPTION: added BugReports, Encoding, GitHub URL.
From NEWS.md in the release
Install
Health
- OK13 OK2026-09-09
- ERROR12 OK, 1 ERROR2026-09-04
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK13 OK2026-06-09
Show 2 earlier changesHide 2 earlier changes
- ERROR12 OK, 1 ERROR2026-06-08
- OK14 OK2026-03-10
Documentation
- Help pages
- 8 (2 internal)includes a package overview page
- Examples that run
- 100%1 run in a plain check
- Exported functions with examples
- 50%
- Documented parameters
- 100%
- Return-value docs
- 100%
- Help pages citing references
- 88%
Downloads
Repository
- PRs merged (all time)
- 50%
- Median days to close, 50 most recently updated closed issues
- 1,834
- Median days to close, 50 most recently updated closed PRs
- 10
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
2 development-tooling and community-health practices detected across 2 families in the upstream repository
Checks run against github.com/xuyiqing/gsynth on 2026-10-18.
This repository shows signs of AI coding tools.
- Claude Codefirst seen 2026-03-20Pull request it wrote: opened by a project memberCommits: at least 3 crediting it in the message
- Claude Opus 4.63 commits · Mar 2026
Dependencies
Installing gsynth adds 65 packages (26 with compiled code, 55 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, fixest 4.8 MB.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- 1.4.0Latest
- 1.3.1
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- RR 4.3.0 released · 2023-04-21
- RR 4.2.0 released · 2022-04-22
- 1.2.1
- RR 4.1.0 released · 2021-05-18
- RR 4.0.0 released · 2020-04-24
- RR 3.6.0 released · 2019-04-26
- 1.0.92018-08-25 · diff ↗
- RR 3.5.0 released · 2018-04-23
- 1.0.62017-10-16 · diff ↗
- 1.0.52017-10-12 · diff ↗
- RR 3.4.0 released · 2017-04-21
Package metadata
- First published
- 2017-03-12
- Total releases
- 8 / 9 yrs
- License
- MIT + file LICENSE OSI · relicensed from GPL-2 in 1.2.1
- Minimum R
- ≥ 2.10
- Bundled data
- 62 KB / 1 file
- Download size
- 90 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("gsynth")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-22, which the citation names so these numbers can be found later. More on citing and the projects behind them.