badcontrols: Difference-in-Differences with Bad Controls

Implements methods for difference-in-differences with bad controls, i.e., time-varying covariates that are affected by the treatment. Provides imputation, doubly robust, and machine learning estimators that are based on Caetano, Callaway, Payne, and Sant'Anna (2026) <doi:10.48550/arXiv.2608.03881>.

Version: 1.0.1
Depends: R (≥ 4.1.0)
Imports: ptetools (≥ 1.0.1), stats
Suggests: grf (≥ 2.0.0), testthat (≥ 3.0.0), knitr, quarto
Published: 2026-09-12
DOI: 10.32614/CRAN.package.badcontrols (may not be active yet)
Author: Carolina Caetano [aut], Brantly Callaway [aut], Stroud Payne [aut], Hugo Sant'Anna [aut, cre]
Maintainer: Hugo Sant'Anna <hsantanna at uab.edu>
BugReports: https://github.com/hugosantanna/badcontrols/issues
License: GPL (≥ 3)
URL: https://github.com/hugosantanna/badcontrols
NeedsCompilation: no
Citation: badcontrols citation info
Materials: README, NEWS
CRAN checks: badcontrols results

Documentation:

Reference manual: badcontrols.html , badcontrols.pdf
Vignettes: Difference-in-Differences with Bad Controls: A Coding Example (source)
Difference-in-Differences with Bad Controls: A Conceptual Overview (source, R code)

Downloads:

Package source: badcontrols_1.0.1.tar.gz
Windows binaries: r-devel: not available, r-release: not available, r-oldrel: not available
macOS binaries: r-release (arm64): not available, r-oldrel (arm64): badcontrols_1.0.1.tgz, r-release (x86_64): badcontrols_1.0.1.tgz, r-oldrel (x86_64): badcontrols_1.0.1.tgz

Linking:

Please use the canonical form https://CRAN.R-project.org/package=badcontrols to link to this page.