District-wide chronic absenteeism by year
The share of all students at district-run schools who attended less than 90% of days, each year, plus how individual schools were spread (median and percentiles).
Shown in the working analysis, Figure 1
- 1How it was computedweighted = 100 × (1 − Σ students at 90%+ / Σ students); school percentiles over each school's own below-90 share
- universe
- Every District-sector school in the district's attendance file, including since-closed schools; unsuppressed all-students cells
- packet block
- citywide_trend
Uses: Chronic absenteeism as 100 minus the 90%-attendance share
- 2What went inInputs
- sdp_attendance_90_school — read directly from the publisher’s file (Student attendance — % with 90%+ attendance, by school and year). findings
- 3The generated fileThe committed data file
Generated 2026-09-08 by one script from the inputs above; the page renders only from this file.
This block’s raw values (JSON)
{ "2020-21": { "weighted": 29.3364, "unweighted_mean": 32.4286, "p10": 7.676, "p25": 17.99, "p50": 33.8, "p75": 45.89, "p90": 55.754, "sd": 17.6436, "n_schools": 213, "n_students": 123628 }, "2021-22": { "weighted": 42.0701, "unweighted_mean": 43.5704, "p10": 18.801, "p25": 31.07, "p50": 44.055, "p75": 57.9475, "p90": 66.832, "sd": 18.1614, "n_schools": 214, "n_students": 126244 }, "2022-23": { "weighted": 39.0188, "unweighted_mean": 40.6141, "p10": 18.044, "p25": 28.88, "p50": 40.03, "p75": 53.555, "p90": 62.958, "sd": 16.7444, "n_schools": 215, "n_students": 124435 }, "2023-24": { "weighted": 38.1258, "unweighted_mean": 39.996, "p10": 16.995, "p25": 28.1475, "p50": 39.58, "p75": 53.4975, "p90": 62.485, "sd": 16.3043, "n_schools": 216, "n_students": 124034 }, "2024-25": { "weighted": 37.7351, "unweighted_mean": 39.6173, "p10": 17.075, "p25": 27.3425, "p50": 39.04, "p75": 52.055, "p90": 61.925, "sd": 16.3191, "n_schools": 216, "n_students": 124306 } }Evidence: packet JSON · generator script
- 4How it was checkedChecked: passed
- ✓ passedRecomputed independently from the district's CSV (exact numerators) and compared with the served database on the common schools for every year: all 15 cell checks match; school membership reconciled (closed schools disclosed).
The QA report behind this status · the report also lists what it does not check.
Each input metric’s own checks are on its metric tree (links above). Only the district-wide all-students series is covered by the packet’s 15 source-vs-database checks; that coverage is not claimed for any other block.
- 5Assumptions & caveatsAssumptions and caveats
- 2020-21 (mostly virtual, hybrid from March 2021) is shown but excluded from trend statements.
The numbers in this block
| Year | District rate | Typical school (median) | 10th–90th percentile schools | Schools | Students |
|---|---|---|---|---|---|
| 2020-21 † | 29.3% | 33.8% | 7.7% – 55.8% | 213 | 123,628 |
| 2021-22 | 42.1% | 44.1% | 18.8% – 66.8% | 214 | 126,244 |
| 2022-23 | 39.0% | 40.0% | 18.0% – 63.0% | 215 | 124,435 |
| 2023-24 | 38.1% | 39.6% | 17.0% – 62.5% | 216 | 124,034 |
| 2024-25 | 37.7% | 39.0% | 17.1% – 61.9% | 216 | 124,306 |
Rates are the share of students who attended less than 90% of school days. † 2020-21 was mostly virtual (hybrid from March 2021) and is excluded from trend statements. The district rate is student-weighted; the median and percentiles describe individual schools.
Every school behind this figure
The district's measure: share of each school's students attending less than 90% of days (100 minus the district's 90%+ figure). 2020-21 † was mostly virtual. Click any value for its full trace. 216 schools.