← Back to story

PhiladelphiaSurvey vs outcomesMethodology recipe

Which PSES domain shows the widest Philly inter-school variation? Family Engagement.

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

Summary

Computes school-level sd per PSES topic (teacher respondents) to identify which domain has the widest school-to-school variation. Hypothesis: Family Engagement.

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 datasetPhilly School Experience Survey

Steps

  1. sd of school-level scores per topic.

    SELECT metric_key, count(*), stddev(value) AS sd, avg(value) AS mean
    FROM philly_school_year_metrics
    WHERE metric_key LIKE 'survey_teacher_%' AND year='2024-25' AND value IS NOT NULL
    GROUP BY metric_key ORDER BY sd DESC;

Caveats

PSES uses a 0-10 display scale. School-level sd treats each school equally regardless of teacher-respondent count.

Reproduce

Load PSES, query above.

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