API Reference

This section provides complete API documentation for all diff-diff modules.

Estimators

Core estimator classes for DiD analysis:

diff_diff.DifferenceInDifferences

Difference-in-Differences estimator with sklearn-like interface.

diff_diff.TwoWayFixedEffects

Two-Way Fixed Effects (TWFE) estimator for panel DiD.

diff_diff.MultiPeriodDiD

Multi-Period Difference-in-Differences estimator.

diff_diff.SyntheticDiD

Synthetic Difference-in-Differences (SDID) estimator.

diff_diff.CallawaySantAnna

Callaway-Sant'Anna (2021) estimator for staggered Difference-in-Differences.

diff_diff.SunAbraham

Sun-Abraham (2021) interaction-weighted estimator for staggered DiD.

diff_diff.ImputationDiD

Borusyak-Jaravel-Spiess (2024) imputation DiD estimator.

diff_diff.StackedDiD

Stacked Difference-in-Differences estimator.

diff_diff.TripleDifference

Triple Difference (DDD) estimator.

diff_diff.TROP

Triply Robust Panel (TROP) estimator.

Results Classes

Result containers returned by estimators:

diff_diff.DiDResults

Results from a Difference-in-Differences estimation.

diff_diff.MultiPeriodDiDResults

Results from a Multi-Period Difference-in-Differences estimation.

diff_diff.SyntheticDiDResults

Results from a Synthetic Difference-in-Differences estimation.

diff_diff.PeriodEffect

Treatment effect for a single time period.

diff_diff.CallawaySantAnnaResults

Results from Callaway-Sant'Anna (2021) staggered DiD estimation.

diff_diff.CSBootstrapResults

Results from Callaway-Sant'Anna multiplier bootstrap inference.

diff_diff.GroupTimeEffect

Treatment effect for a specific group-time combination.

diff_diff.SunAbrahamResults

Results from Sun-Abraham (2021) interaction-weighted estimation.

diff_diff.SABootstrapResults

Results from Sun-Abraham bootstrap inference.

diff_diff.ImputationDiDResults

Results from Borusyak-Jaravel-Spiess (2024) imputation DiD estimation.

diff_diff.ImputationBootstrapResults

Results from ImputationDiD bootstrap inference.

diff_diff.TripleDifferenceResults

Results from Triple Difference (DDD) estimation.

diff_diff.StackedDiDResults

Results from Stacked DiD estimation (Wing, Freedman & Hollingsworth 2024).

diff_diff.trop.TROPResults

Results from a Triply Robust Panel (TROP) estimation.

Visualization

Plotting functions for results:

diff_diff.plot_event_study

Create an event study plot showing treatment effects over time.

diff_diff.plot_group_effects

Plot treatment effects by treatment cohort (group).

diff_diff.plot_sensitivity

Plot sensitivity analysis results from Honest DiD.

diff_diff.plot_honest_event_study

Create event study plot with Honest DiD confidence intervals.

diff_diff.plot_bacon

Visualize Goodman-Bacon decomposition results.

diff_diff.plot_power_curve

Create a power curve visualization.

diff_diff.plot_pretrends_power

Plot pre-trends test power curve.

Diagnostics

Placebo tests and model diagnostics:

diff_diff.run_placebo_test

Run a placebo test to validate DiD assumptions.

diff_diff.placebo_timing_test

Test for pre-treatment effects by moving treatment timing earlier.

diff_diff.placebo_group_test

Test for differential trends among never-treated units.

diff_diff.permutation_test

Compute permutation-based p-value for DiD estimate.

diff_diff.leave_one_out_test

Assess sensitivity by dropping each treated unit in turn.

diff_diff.run_all_placebo_tests

Run a comprehensive suite of placebo tests.

diff_diff.PlaceboTestResults

Results from a placebo test for DiD assumption validation.

Sensitivity Analysis

Honest DiD for robust inference:

diff_diff.HonestDiD

Honest DiD sensitivity analysis (Rambachan & Roth 2023).

diff_diff.HonestDiDResults

Results from Honest DiD sensitivity analysis.

diff_diff.SensitivityResults

Results from sensitivity analysis over a grid of M values.

diff_diff.DeltaSD

Smoothness restriction on trend violations (Delta^{SD}).

diff_diff.DeltaRM

Relative magnitudes restriction on trend violations (Delta^{RM}).

diff_diff.DeltaSDRM

Combined smoothness and relative magnitudes restriction.

diff_diff.compute_honest_did

Convenience function for computing Honest DiD bounds.

diff_diff.sensitivity_plot

Create a sensitivity analysis plot.

Bootstrap Inference

Wild cluster bootstrap for valid inference:

diff_diff.wild_bootstrap_se

Compute wild cluster bootstrap standard errors and p-values.

diff_diff.WildBootstrapResults

Results from wild cluster bootstrap inference.

Power Analysis

Power analysis for study design:

diff_diff.PowerAnalysis

Power analysis for difference-in-differences designs.

diff_diff.PowerResults

Results from analytical power analysis.

diff_diff.SimulationPowerResults

Results from simulation-based power analysis.

diff_diff.compute_power

Convenience function to compute power for given effect and sample.

diff_diff.compute_mde

Convenience function to compute minimum detectable effect.

diff_diff.compute_sample_size

Convenience function to compute required sample size.

diff_diff.simulate_power

Estimate power using Monte Carlo simulation.

Data Preparation

Utilities for preparing DiD data:

diff_diff.generate_did_data

Generate synthetic data for DiD analysis with known treatment effect.

diff_diff.make_treatment_indicator

Create a binary treatment indicator column from various input types.

diff_diff.make_post_indicator

Create a binary post-treatment indicator column.

diff_diff.wide_to_long

Convert wide-format panel data to long format for DiD analysis.

diff_diff.balance_panel

Balance a panel dataset to ensure all units have all time periods.

diff_diff.validate_did_data

Validate that data is properly formatted for DiD analysis.

diff_diff.summarize_did_data

Generate summary statistics by treatment group and time period.

diff_diff.create_event_time

Create an event-time column relative to treatment timing.

diff_diff.aggregate_to_cohorts

Aggregate unit-level data to treatment cohort means.

diff_diff.rank_control_units

Rank potential control units by their suitability for DiD analysis.

Module Documentation

Detailed documentation by module: