diff --git a/appendix.docx b/appendix.docx index 5f6436b..9f0f912 100644 Binary files a/appendix.docx and b/appendix.docx differ diff --git a/appendix.md b/appendix.md index 4e826d9..ef53fca 100644 --- a/appendix.md +++ b/appendix.md @@ -125,3 +125,54 @@ substituted into the same FE interaction framework. - `gap_neg` = 0.4993 (p = 0.0027) These estimates are not part of the current notebook's identified model scope and should not be interpreted as a completed reaction-function test in this manuscript version. + +## A10. Estimation Workflow and Test Inventory + +### Border treatment construction + +Two border definitions were used: + +1. District-level baseline treatment (`border_district`), with border-adjacent districts coded as `01`, `02`, `06`, `08`, `8A`, `09`, `10`. +2. Well-level proximity treatment, rolled up to district-year exposure. + +Well-level proximity workflow: + +1. Import TX-MX proximity flags from `WellAnalyzer` (`within_25km_texmex`, `within_50km_texmex`). +2. Build additional TX-NM, TX-OK, TX-LA border segments from county boundary geometry plus seed lines. +3. Compute distances in EPSG:5070 and generate threshold flags. +4. Build composite indicators: + - `within_50km_state_border_any` + - `well_border_exposed` (within 50 km of TX-MX or any TX-state border segment). + +District-year exposure share: +$$ +ShareBorder_{dt} = \frac{BorderExposedInspections_{dt}}{Inspections_{dt}} +$$ +Alternative district coding: +$$ +border\_exposure\_district_{dt} = \mathbb{1}[ShareBorder_{dt} \ge 0.25] +$$ + +### Tests run + +1. Descriptive border-gap comparisons by group means. +2. RQ1 levels regressions: + - Outcomes: `inspection_intensity`, `violations_per_inspection`. + - Model: `border_district + log_unique_wells + C(year)`. +3. RQ2 FE interaction regressions: + - Outcomes: `inspection_intensity`, `violations_per_inspection`, `avg_days_to_enforcement`, `resolution_rate`. + - Model: `C(district) + C(year) + post_2019:border_district + post_trend:border_district`. +4. Border-type robustness: + - District border-type profile (`TX-MX`, `TX-NM`, `TX-OK`, `TX-LA`). + - RQ1-style levels with `has_tx_*`. + - RQ2-style FE interactions with `post_2019:has_tx_*` and `post_trend:has_tx_*`. +5. Continuous exposure robustness: + - Replace binary border term with `share_border_exposed_insp` in RQ1-style and RQ2-style specifications. +6. Cutoff sensitivity robustness: + - Recompute exposure using minimum distance to any border at 25/75/100 km. + - Estimate RQ1-style inspection-intensity models and RQ2-style timing interaction models. +7. Figures/reporting: + - Border vs non-border trend plots. + - Main timing figure with district-year means and 95% CIs. +8. Reaction-function scaffolding (not estimated): + - Create district-competitor link table and district-year competitor template for future data integration.