data/analysis/philly_replication.json
Served verbatim from the project repository. Internal working document conventions apply: documents may reference file paths, branch names, and findings-ledger anchors from the repo.
{
"meta": {
"city": "Philadelphia (School District of Philadelphia)",
"source": "SDP Open Data — Student_Attendance_90_School + Master School List",
"metric": "chronic absenteeism = 100 - '% with 90%+ Attendance (Yearly)' (attending <90% = missing >=10%)",
"caveats": "starts 2020-21 (no pre-pandemic baseline); youngest grade is K (no PK); single district (~300 schools); derived from the attendance-90 threshold, not an independently published chronic-absenteeism rate",
"years": [
"2020-2021",
"2021-2022",
"2022-2023",
"2023-2024",
"2024-2025"
],
"latest": "2024-2025"
},
"per_grade": {
"2021-2022": {
"00": {
"chronic": 44.0,
"n": 9792
},
"01": {
"chronic": 41.1,
"n": 9582
},
"02": {
"chronic": 40.8,
"n": 9892
},
"03": {
"chronic": 40.7,
"n": 10109
},
"04": {
"chronic": 39.1,
"n": 10045
},
"05": {
"chronic": 38.4,
"n": 9800
},
"06": {
"chronic": 38.9,
"n": 9346
},
"07": {
"chronic": 38.5,
"n": 9369
},
"08": {
"chronic": 38.6,
"n": 9525
},
"09": {
"chronic": 45.9,
"n": 12051
},
"10": {
"chronic": 44.6,
"n": 9860
},
"11": {
"chronic": 45.2,
"n": 8441
},
"12": {
"chronic": 51.4,
"n": 8365
}
},
"2024-2025": {
"00": {
"chronic": 36.5,
"n": 9377
},
"01": {
"chronic": 36.6,
"n": 9745
},
"02": {
"chronic": 34.7,
"n": 9811
},
"03": {
"chronic": 34.3,
"n": 10115
},
"04": {
"chronic": 31.9,
"n": 9450
},
"05": {
"chronic": 31.0,
"n": 9717
},
"06": {
"chronic": 32.5,
"n": 9135
},
"07": {
"chronic": 33.4,
"n": 9049
},
"08": {
"chronic": 33.8,
"n": 9017
},
"09": {
"chronic": 44.2,
"n": 11026
},
"10": {
"chronic": 46.3,
"n": 9736
},
"11": {
"chronic": 45.7,
"n": 9092
},
"12": {
"chronic": 49.3,
"n": 9009
}
}
},
"grade_groups": {
"2020-2021": {
"K": 30.2,
"g1_8": 30.5,
"g9_12": 26.6
},
"2021-2022": {
"K": 44.0,
"g1_8": 39.5,
"g9_12": 46.6
},
"2022-2023": {
"K": 41.7,
"g1_8": 36.0,
"g9_12": 44.3
},
"2023-2024": {
"K": 38.0,
"g1_8": 34.2,
"g9_12": 45.8
},
"2024-2025": {
"K": 36.5,
"g1_8": 33.5,
"g9_12": 46.2
}
},
"tail_by_level": {
"2020-2021": {
"High": {
"n": 46,
"n_gt50": 8,
"pct_gt50": 17.4,
"median": 37.7
},
"Middle": {
"n": 13,
"n_gt50": 0,
"pct_gt50": 0.0,
"median": 18.8
},
"Elementary-Middle": {
"n": 102,
"n_gt50": 26,
"pct_gt50": 25.5,
"median": 35.8
},
"Elementary": {
"n": 45,
"n_gt50": 9,
"pct_gt50": 20.0,
"median": 32.6
},
"Mixed/Other": {
"n": 7,
"n_gt50": 0,
"pct_gt50": 0.0,
"median": 2.3
}
},
"2021-2022": {
"High": {
"n": 46,
"n_gt50": 25,
"pct_gt50": 54.3,
"median": 55.2
},
"Middle": {
"n": 13,
"n_gt50": 0,
"pct_gt50": 0.0,
"median": 29.8
},
"Elementary-Middle": {
"n": 103,
"n_gt50": 43,
"pct_gt50": 41.7,
"median": 44.6
},
"Elementary": {
"n": 45,
"n_gt50": 14,
"pct_gt50": 31.1,
"median": 42.7
},
"Mixed/Other": {
"n": 7,
"n_gt50": 1,
"pct_gt50": 14.3,
"median": 15.9
}
},
"2022-2023": {
"High": {
"n": 47,
"n_gt50": 25,
"pct_gt50": 53.2,
"median": 52.6
},
"Middle": {
"n": 14,
"n_gt50": 1,
"pct_gt50": 7.1,
"median": 30.7
},
"Elementary-Middle": {
"n": 103,
"n_gt50": 34,
"pct_gt50": 33.0,
"median": 40.3
},
"Elementary": {
"n": 45,
"n_gt50": 10,
"pct_gt50": 22.2,
"median": 38.2
},
"Mixed/Other": {
"n": 6,
"n_gt50": 1,
"pct_gt50": 16.7,
"median": 15.8
}
},
"2023-2024": {
"High": {
"n": 47,
"n_gt50": 26,
"pct_gt50": 55.3,
"median": 53.6
},
"Middle": {
"n": 14,
"n_gt50": 1,
"pct_gt50": 7.1,
"median": 31.7
},
"Elementary-Middle": {
"n": 104,
"n_gt50": 30,
"pct_gt50": 28.8,
"median": 37.6
},
"Elementary": {
"n": 45,
"n_gt50": 6,
"pct_gt50": 13.3,
"median": 36.7
},
"Mixed/Other": {
"n": 6,
"n_gt50": 1,
"pct_gt50": 16.7,
"median": 18.6
}
},
"2024-2025": {
"High": {
"n": 47,
"n_gt50": 27,
"pct_gt50": 57.4,
"median": 54.7
},
"Middle": {
"n": 14,
"n_gt50": 0,
"pct_gt50": 0.0,
"median": 31.2
},
"Elementary-Middle": {
"n": 104,
"n_gt50": 30,
"pct_gt50": 28.8,
"median": 39.5
},
"Elementary": {
"n": 45,
"n_gt50": 4,
"pct_gt50": 8.9,
"median": 36.1
},
"Mixed/Other": {
"n": 6,
"n_gt50": 1,
"pct_gt50": 16.7,
"median": 17.6
}
}
},
"k_effect": {
"n_schools": 148,
"median_step": 0.3,
"n_over_1pp": 34,
"n_over_2pp": 12,
"max_step": 2.9,
"top_movers": [
{
"ulcs": "1470",
"r_k8": 47.5,
"r_18": 44.5,
"step": 2.9,
"k_ca": 73.3,
"k_pct": 10.2,
"n": 295
},
{
"ulcs": "4470",
"r_k8": 44.0,
"r_18": 41.2,
"step": 2.8,
"k_ca": 55.6,
"k_pct": 19.4,
"n": 232
},
{
"ulcs": "6470",
"r_k8": 44.3,
"r_18": 41.4,
"step": 2.8,
"k_ca": 59.1,
"k_pct": 16.1,
"n": 411
},
{
"ulcs": "7350",
"r_k8": 42.9,
"r_18": 40.1,
"step": 2.8,
"k_ca": 55.2,
"k_pct": 18.5,
"n": 518
},
{
"ulcs": "2580",
"r_k8": 16.2,
"r_18": 13.6,
"step": 2.6,
"k_ca": 34.4,
"k_pct": 12.5,
"n": 512
},
{
"ulcs": "5410",
"r_k8": 49.2,
"r_18": 46.8,
"step": 2.5,
"k_ca": 60.9,
"k_pct": 17.4,
"n": 132
},
{
"ulcs": "5420",
"r_k8": 51.9,
"r_18": 49.5,
"step": 2.4,
"k_ca": 67.9,
"k_pct": 13.0,
"n": 216
},
{
"ulcs": "8250",
"r_k8": 37.9,
"r_18": 35.5,
"step": 2.4,
"k_ca": 50.3,
"k_pct": 16.2,
"n": 895
},
{
"ulcs": "4530",
"r_k8": 61.4,
"r_18": 59.1,
"step": 2.3,
"k_ca": 75.8,
"k_pct": 13.7,
"n": 241
},
{
"ulcs": "2690",
"r_k8": 23.2,
"r_18": 20.9,
"step": 2.2,
"k_ca": 40.0,
"k_pct": 11.7,
"n": 514
}
]
},
"nyc_comparison": {
"per_grade_2024_25": {
"pk": 48.2,
"k": 37.8,
"1": 33.2,
"2": 30.5,
"3": 28.1,
"4": 27.3,
"5": 26.6,
"6": 26.7,
"7": 28.7,
"8": 31.2,
"9": 33.6,
"10": 33.7,
"11": 31.5,
"12": 40.1
},
"grade_groups_2024_25": {
"pk_k": 41.55,
"g1_8": 29.06,
"g9_12": 34.57
},
"k_step_median_pp": 1.27,
"source": "dd1_grade_distortion.json (NYC deep dive 1)"
}
}