Saturday, December 07, 2024

x̄ - > Cause-and-effect relationships. Causal inference

Causal Inference: Difference-in-Differences Example

Causal Inference Example: Measuring the Impact of a Tax Cut on Consumer Spending Using Difference-in-Differences (DiD)

Scenario

A government introduces a tax cut in Region A but not in Region B. You want to measure the impact of this tax cut on consumer spending. Data is available for both regions before and after the tax cut.

Solution

Step 1: Understand the DiD Methodology

Difference-in-Differences (DiD) is used to estimate causal effects by comparing the changes in outcomes over time between treated and untreated groups.

The model:

\[ Y_{it} = \beta_0 + \beta_1 \text{Post}_t + \beta_2 \text{Treated}_i + \beta_3 (\text{Treated}_i \times \text{Post}_t) + u_{it} \]

Where:

  • \(Y_{it}\): Outcome variable (e.g., consumer spending for region \(i\) at time \(t\)).
  • \(\text{Post}_t\): Indicator for the post-treatment period (\(1\) if after tax cut, \(0\) otherwise).
  • \(\text{Treated}_i\): Indicator for the treated group (\(1\) for Region A, \(0\) for Region B).
  • \(\text{Treated}_i \times \text{Post}_t\): Interaction term representing the treatment effect.
  • \(\beta_3\): The DiD estimator of the treatment effect.

Step 2: Data Setup

Region Time Consumer Spending (\(Y\)) Treated (\(Treated\)) Post (\(Post\)) Interaction (\(Treated \times Post\))
A Before 100 1 0 0
A After 120 1 1 1
B Before 90 0 0 0
B After 95 0 1 0

Step 3: DiD Estimation

Compute the average change in spending for each region:

1. Region A (Treated):

\[ \Delta Y_A = Y_{After, A} - Y_{Before, A} = 120 - 100 = 20 \]

2. Region B (Control):

\[ \Delta Y_B = Y_{After, B} - Y_{Before, B} = 95 - 90 = 5 \]

3. DiD Estimator:

\[ \text{Treatment Effect} = \Delta Y_A - \Delta Y_B = 20 - 5 = 15 \]

The tax cut increased consumer spending by 15 units in Region A relative to Region B.

Step 4: Statistical Implementation


import statsmodels.api as sm
import pandas as pd

# Data
data = pd.DataFrame({
    'Region': ['A', 'A', 'B', 'B'],
    'Time': ['Before', 'After', 'Before', 'After'],
    'Spending': [100, 120, 90, 95],
    'Treated': [1, 1, 0, 0],
    'Post': [0, 1, 0, 1]
})
data['Interaction'] = data['Treated'] * data['Post']

# Model
X = sm.add_constant(data[['Treated', 'Post', 'Interaction']])
y = data['Spending']
model = sm.OLS(y, X).fit()
print(model.summary())
    

The coefficient for Interaction (\(\beta_3\)) is the estimated treatment effect (15 in this example).

Step 5: Interpretation

  • Key Result: The tax cut caused a significant increase in consumer spending in Region A compared to Region B by 15 units.
  • Assumptions:
    • Parallel trends: In the absence of the tax cut, spending in both regions would have followed the same trend.
    • No other shocks affected only one region during the study period.
This work is licensed under a Creative Commons Attribution 4.0 International License.

No comments:

Meet the Authors
Zacharia Maganga’s blog features multiple contributors with clear activity status.
Active ✔
πŸ§‘‍πŸ’»
Zacharia Maganga
Lead Author
Active ✔
πŸ‘©‍πŸ’»
Linda Bahati
Co‑Author
Active ✔
πŸ‘¨‍πŸ’»
Jefferson Mwangolo
Co‑Author
Inactive ✖
πŸ‘©‍πŸŽ“
Florence Wavinya
Guest Author
Inactive ✖
πŸ‘©‍πŸŽ“
Esther Njeri
Guest Author
Inactive ✖
πŸ‘©‍πŸŽ“
Clemence Mwangolo
Guest Author

Followers

Support This Blog
Tap Donate now here to donate or go to donate on top menu to scan QR and support this site.
Donate Now