← Back to story

PhiladelphiaMethodologyMethodology recipe

Philly PSSA: 2023-24 vs 2024-25 year-over-year — which schools moved most

A reproducibility log: the data this analysis touched, the queries it ran, and how a third party would re-run it.

Summary

With 2023-24 and 2024-25 SDP PSSA both in DB, compute per-school year-over-year deltas on each metric × subgroup.

Data sources

  • 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 datasetSDP PSSA & Keystone (OpenDataPhilly CDN)

Steps

  1. Self-join PSSA metrics across the two years.

    SELECT a.school_ulcs, a.metric_key, a.subgroup::text, b.value - a.value AS delta
    FROM philly_school_year_metrics a
    JOIN philly_school_year_metrics b ON b.school_ulcs = a.school_ulcs
     AND b.metric_key = a.metric_key AND b.subgroup = a.subgroup AND b.population_cut = a.population_cut
    WHERE a.year='2023-24' AND b.year='2024-25' AND a.metric_key LIKE 'pssa_%' AND a.subgroup='ALL' AND a.population_cut='acct';

Caveats

Single-year deltas are noisy at the school level; NYC's pattern says this is more useful as a watch list than a ranking. Need 3+ years of data to identify trend vs noise.

Reproduce

Both years of SDP PSSA loaded. Query above.

The recipe lives at data/cities/philly/stories/recipes.ts in the repo.