When the principal leaves, scores fall — but not always
A reproducibility log: the data this analysis touched, the queries it ran, the outside sources it leaned on, and the steps a third party would follow to re-run it.
Summary
We don't have principal-tenure data loaded. The story body describes how a proper analysis would proceed using Wayback Machine snapshots of the city's school-finder page; the data analysis pulls academic-composite trajectories of schools known publicly to have changed principal in a specific year as proxy.
Data sources
- Database tableschools
One row per New York City public school (DBN, name, district, borough, school_type, grade_band, latest_enrollment, proclivity_decile, proclivity_score, closed_at, admission_category).
- Database tableschool_year_metrics
Long-format per-school per-year metric facts (school_dbn, year, metric_key, subgroup, value, suppressed). Loaded from DOE/NYSED public files via scripts/loaders/*.
- External datasetWayback Machine snapshots of schools.nyc.gov/find-a-school
Steps
Identify a handful of schools with publicly-known principal changes (via press coverage).
Pull their academic-composite trajectory before/after the change as illustrative cases.
Caveats
Selection bias is severe — schools where the press notices the principal change are not a random sample. The story explicitly notes this limitation.
References
Reproduce
To do the analysis properly: scrape Wayback Machine snapshots of schools.nyc.gov/find-a-school across years to build a principal-name × DBN × year table, then join with school_year_metrics for outcome trajectories.
The recipe lives at data/stories/recipes.ts in the repo. Corrections welcome.