Renaissance charters underperform regular charters — and barely outperform district
A reproducibility log: the data this analysis touched, the queries it ran, and how a third party would re-run it.
Summary
Grouped Philly schools by Renaissance / regular-charter / district buckets and aggregated on `keystone_literature_proficiency` (subgroup=ALL, population_cut=n/a — Future Ready cut). 17 Renaissance schools identified by `is_renaissance=true` flag, set by the Master School List loader based on `Major Intervention = 'Renaissance Charter'`.
Data sources
- Database tablephilly_schools
One row per Philly school. PK is ulcs_code (SDP canonical, = id_eos in PSSA, = SRC_School_ID × 10). Carries aun_code + pa_code for PDE-side joins.
- Database tablephilly_school_year_metrics
Long-format facts. PK (school_ulcs, year, metric_key, subgroup, population_cut). Carries comparison_group_percentile + citywide_percentile (direction-adjusted).
- External datasetFuture Ready PA Index (PDE)
- External datasetSDP School Performance (OpenDataPhilly CDN)
Steps
Aggregate per Renaissance/charter/district bucket using FRPI Keystone Literature (charter coverage).
SELECT CASE WHEN s.is_renaissance THEN 'Renaissance' WHEN s.school_type='CHARTER' THEN 'Regular charter' ELSE 'District' END AS bucket, count(DISTINCT s.ulcs_code), avg(m.value), percentile_cont(0.5) WITHIN GROUP (ORDER BY m.value) FROM philly_schools s JOIN philly_school_year_metrics m ON m.school_ulcs = s.ulcs_code WHERE m.metric_key='keystone_literature_proficiency' AND m.subgroup='ALL' AND m.population_cut='n/a' GROUP BY bucket ORDER BY 2 DESC;
Caveats
Renaissance Charters are heavily concentrated in lowest-decile demographics — comparison without student-body match overstates the gap. Real story is the per-school trajectory since conversion year (Master List has `Major Intervention Year`), not the cross-sectional median.
Reproduce
Same as csi-cohort-trajectory. Then the SQL above. For the full trajectory analysis, backfill historical Master Lists (longitudinal Zip 2001-02 → 2016-17 is available at the SDP CDN).
The recipe lives at data/cities/philly/stories/recipes.ts in the repo.