Lesson 19
Policy Evaluation and Self-Selection
Big question
Why is a treatment dummy not automatically causal?
Lesson progress
Complete checkpoints as you learn
Learning objectives
- Explain policy evaluation and self-selection in plain language.
- Use group-specific slope correctly in an interpretation.
- Connect the lesson idea to a formula, graph, Python result, or real example.
Simple explanation
A treatment dummy compares participants and nonparticipants. It becomes causal only under a credible design, such as random assignment or convincing controls.
Key terms
- Group-specific slope
- A slope that differs across groups because a dummy interacts with a continuous variable.
- Chow test
- A joint test for whether regression parameters differ across two groups.
- Base group
- The omitted category used as the comparison group for dummy coefficients.
Core formula
Use plain-language interpretation before algebra.
Example
MODULE7_PROGRAM_EVALUATION_SYNTHETIC is an original Ceteris Lab synthetic teaching dataset for policy evaluation and self-selection. It lets students practice program evaluation without presenting fabricated real-world empirical findings.
Interactive visual
ProgramEvaluationCausalityChecklist: use the controls to code a group, choose a base group, and write one correct interpretation.
Original Module 7 visual for Policy Evaluation and Self-Selection.
y variable
wage
The dependent variable. It is the outcome students want to explain.
x variable
education
The explanatory variable. It is used to describe changes in wage.
Live Python
Policy Evaluation and Self-Selection Python example
Policy Evaluation and Self-Selection Python example
Stdout
Run Python to see results here.
Status / stderr
Ready to run Python in your browser.
Line-by-line guide
- Line 1Load a Python library needed for data work or regression.
- Line 2Load a Python library needed for data work or regression.
- Line 4Load the dataset into a pandas DataFrame.
- Line 5Create or update a Python object used in the analysis.
- Line 6Create or update a Python object used in the analysis.
- Line 7Run this Python instruction as part of the lesson workflow.
- Line 8Add an intercept column to the regression design matrix.
- Line 9Display a result so students can inspect the output.
Python walkthrough
- 1Load pandas and statsmodels so the workflow is reproducible.
- 2Read the installed Ceteris Lab synthetic CSV from the public data folder.
- 3Create or inspect dummy variables before estimating the model.
- 4Estimate OLS with an intercept and the selected regressors.
- 5Print coefficients or summaries, then interpret them as associations unless the design supports causality.
Live notebook
Run this lesson as a notebook
Open an editable notebook cell-by-cell, run Python in the browser, and download the `.ipynb` file for later.
Related dataset
MODULE7_PROGRAM_EVALUATION_SYNTHETIC
Estimated time
25 to 40 min
Packages
pandas, numpy, statsmodels, patsy
Expected output
Printed Python results that can be compared with the lesson explanation.
Learning goals
- Load and inspect MODULE7_PROGRAM_EVALUATION_SYNTHETIC.
- Run the Python cells connected to Policy Evaluation and Self-Selection.
- Interpret the output using dummy variables and qualitative information.
Common errors
- File not found: check that module7_program_evaluation_synthetic.csv is installed or use the course data folder.
- Package import error: use the browser notebook first, then download for local Jupyter if your local packages differ.
- Column name error: compare your variable names with the dataset variables listed for this notebook.
Dataset path helper
import pandas as pd
df = pd.read_csv("/data/module-7/module7_program_evaluation_synthetic.csv")
df.head()Interactive activity
ProgramEvaluationCausalityChecklist
Policy Evaluation and Self-Selection
ProgramEvaluationCausalityChecklist: choose the coding rule, base group, or probability interpretation before reading the coefficient.
Inputs
Try it yourself
Write one plain-English sentence explaining the main idea from this lesson.
Common mistakes
Check these before you move on.
A regression coefficient describes a pattern unless the assumptions or research design support a causal interpretation.
Quick quiz
Which interpretation is most careful for Policy Evaluation and Self-Selection?
Quick quiz
What should students check before trusting the result in Policy Evaluation and Self-Selection?
Quick quiz
Why is MODULE7_STUDENT_COMPLETION_SYNTHETIC a reasonable practice dataset here?
Key takeaway
Policy Evaluation and Self-Selection helps students convert qualitative information into transparent, testable regression comparisons.