EconStatsCraft rigorous, plain-spoken econometrics
Econometrics that explains itself.
Regression, panel data, time series and the whole battery of tests. Every result is followed by a verdict you can defend.
Load a dataset to see it here.
EconStatsCraft › Difference-in-differences
The workhorse of policy evaluation. Reports the 2×2 table, the two-way fixed-effects regression, an event study by period, and an explicit parallel-trends check.
A before-after comparison confuses the policy with everything else that happened. A treated-versus-untreated comparison confuses the policy with pre-existing differences. Doing both and subtracting kills each problem with the other - provided the two groups would have moved in parallel absent the policy, which is the one thing you cannot test.
A policy hits some units and not others at a known date, and you have data before and after for both.
With potential outcomes, \mathrm{ATT}=E[Y^1-Y^0\mid D=1]. The counterfactual E[Y^0_{\text{post}}\mid D=1] is unobserved; parallel trends assumes it equals E[Y_{\text{pre}}\mid D=1]+\bigl(E[Y_{\text{post}}\mid D=0]-E[Y_{\text{pre}}\mid D=0]\bigr). Substituting gives the difference of differences. In regression form, y_{it}=\alpha+\gamma\,\text{Treat}_i+\lambda\,\text{Post}_t+\delta(\text{Treat}_i\times\text{Post}_t)+u_{it}, and \delta=\mathrm{ATT}. Two-way fixed effects generalises this by absorbing arbitrary unit and period effects.
y_{it}=\alpha+\gamma\,\text{Treat}_i+\lambda\,\text{Post}_t+\delta\,(\text{Treat}_i\times\text{Post}_t)+u_{it},\qquad \delta=\text{ATT}
The 2×2 table does the whole job in four numbers: treated regions go from 23.7768 to 30.8688, a change of 7.0921; controls go from 21.8280 to 24.7728, a change of 2.9448; the difference of the differences is 4.1473. The regression returns exactly that, with a standard error of 0.1590 and a 95% interval of [3.8357, 4.4589], and the two-way fixed-effects specification reproduces it to four decimals - which is the point, since they are the same estimator written two ways. The event study is where the credibility sits rather than the coefficient: the pre-treatment effects are -0.1138, -0.0184 and 0.3305 against a 2017 baseline, none of them significant and all within a third of a unit of zero. That is what a defensible parallel-trends story looks like, and it is evidence for the assumption rather than proof of it.
| If you see this | It means | Do this |
|---|---|---|
| Pre-treatment event-study coefficients are significant | Parallel trends fails | Unit-specific trends, another control group, or abandon the design |
| Staggered treatment timing | TWFE can be badly biased | Callaway–Sant'Anna or stacked DiD |
| Few treated clusters | SEs unreliable | Wild cluster bootstrap, or randomisation inference |
| Group composition changes over time | Compositional confound | Use a balanced panel of the same units |
| Another policy hit the same group at the same date | Confounded | No statistical fix - argue institutionally |
| Effect appears BEFORE treatment | Anticipation, or mis-dated treatment | Check the timing; consider excluding the anticipation window |
Staggered difference-in-differences, the moment units are treated at different dates - which is when the estimator on this page stops being the right one. Panel regression, for the two-way fixed-effects machinery underneath. If you have a single treated unit and many candidate controls, synthetic control is the method to read about; it is not in this library.
Spatial autocorrelation · Spatial regression · Heckman selection · Instrumental variables (2SLS) · Staggered difference-in-differences · Regression discontinuity · Matching & weighting · Oaxaca–Blinder decomposition
Line chart · Area chart · Bar chart · Stacked bar · Scatter plot · Bubble chart · Histogram · Box plot · Pie chart · Heat map · Rebased to 100 · Lorenz curve and Gini
World map · Bivariate map · Flow map · India - state map · India - district map
Descriptive statistics · Summary by group · Two-way table · Classical statistical tests
Multiple regression (OLS) · Logit / Probit · Tobit (censored) · Truncated regression · Multinomial logit · Ordered logit / probit · Quantile regression · Poisson / Negative binomial
Time-varying coefficients (Kalman) · Unit root tests · Correlogram (ACF / PACF) · ARIMA / SARIMA · Rolling-origin cross-validation · Theta method · Unobserved components · STL forecasting · Forecast combination · Markov regime switching · Change frequency (resample) · ARCH / GARCH volatility · Decompose & filter · Spectral analysis · Exponential smoothing · Forecast accuracy
Yield curve (Nelson–Siegel / Svensson) · Dynamic factor model · Dynamic regression (ARIMAX) · Structural VAR · VAR · Granger causality · Cointegration · VECM · ARDL & bounds test
Panel regression · Panel cointegration tests · Heterogeneous panel: Mean Group & PMG · Gravity model of trade · Dynamic panel GMM · Panel diagnostics · Panel unit-root tests
Principal components (PCA) · Factor analysis · Cluster analysis
Conjoint analysis · MaxDiff (best–worst scaling) · TURF - reach of a product line · Price sensitivity (Van Westendorp) · Market basket analysis · Perceptual map · Scale reliability (Cronbach’s alpha) · Key driver analysis
Spatial autocorrelation · Spatial regression · Heckman selection · Instrumental variables (2SLS) · Difference-in-differences · Staggered difference-in-differences · Regression discontinuity · Matching & weighting · Oaxaca–Blinder decomposition
Black–Scholes option pricing · Bond price, duration & convexity · Merton distance to default · EMI / home loan planner · CAPM / beta estimation · Multi-factor model · Portfolio optimization · Value at Risk & Expected Shortfall · Performance & drawdown · Time value of money & NPV/IRR · Equity valuation (DDM, FCF, residual income) · Cost of capital (WACC) · Binomial option pricing · Option strategies (payoff & profit) · Forwards, futures & swaps · Credit risk & Basel capital · Extreme value theory (tail risk)
Life table · Life annuity · Life insurance pricing · Chain ladder reserving · Buhlmann credibility · Survival analysis · Mortality graduation · Aggregate loss model · Ruin probability · Multi-state Markov model · Loss severity fitting
Monte Carlo experiment · F-test, Wald & Chow · Structural breaks & stability
Regression vs machine learning · Ridge / Lasso / Elastic Net · Random forest · Gradient boosting
EconStatsCraft rigorous, plain-spoken econometrics
Regression, panel data, time series and the whole battery of tests. Every result is followed by a verdict you can defend.
Load a dataset to see it here.
Pick the example closest to your question. You get a spreadsheet with the right columns and a few rows showing the expected format - replace the numbers with your own, then paste or upload it back.
Copy the header row from the table above (or from the downloaded template), put your own rows underneath, and paste the whole thing here. It is checked against the layout before anything is imported.
Or click a row in the preview below.
For a units or notes row.
Search every source at once. World Bank indicators need countries and years; everything else loads in one click.
Loading the catalogue…
The engine stays loaded, so this is quick - and it leaves your open tab and panel layout alone.
⌘/Ctrl+Enter runs the current analysis. ⌘/Ctrl+P exports the session as a PDF. Esc closes this.
In the Notebook: Enter starts a new block and
Shift+Enter a new line inside one; Backspace at the start
joins back into the paragraph above; / on an empty line inserts anything.
⌘/Ctrl+B, I, E, H and
M apply bold, italic, code, highlight and maths.
#, ##, -, 1., > and
``` at the start of a line convert it.
Sign in to run unlimited analyses.
Scroll to pan · Esc to close