This page documents the definition of chronic absenteeism we use, what datasets we draw from, and how we've verified the data, along with key findings on data quality.
Three public datasets carry per-school chronic absenteeism for NYC. We serve numbers from two of them — one for district schools, one for charters — and treat the third as reference only. They overlap enough to check each other, but they are not interchangeable: they differ in which schools they cover, which grades they aggregate, and how they count the denominator.
What each dataset covers. “Primary” means values on this site come from it.
NYC DOE End-of-Year file (InfoHub)
NYSED Report Card Database (SRC)
NYC School Quality Snapshot (tools.nycenet.edu)
Role
Primary — district schools
Primary — charter schools; independent cross-check for district schools
Reference only — never a correctness gate
Years
2018-19 → 2024-25. Two measurement-damaged years are excluded from trend analysis: 2019-20 ends at 3/13/20 (COVID closure) and 2020-21 counts remote/hybrid attendance as present (both documented in the file's NOTES sheet). 2021-22 — the pandemic peak — is included: attendance-taking was back to normal; the extreme number reflects reality, not a broken instrument.
Two band aggregates only: grades 1–8 (“EM”) and grades 9–12 (“HS”) — no PK/K, no school-wide number.
One number per school report — and it is the grade-band rate, not school-wide (ledger A.6): K–8 (kindergarten included) on elementary/middle reports, 9–12 on high-school reports. A school spanning that boundary has both report pages, each with its own band's figure.
Schools covered
Districts 1–32 and 75 only (per the NOTES sheet). No charters, no District 79, no home schooling or home/hospital instruction; transfer schools appear only inside citywide/borough/district aggregates, not as school-level rows.
District schools and charters (see the technical details below for what is known about the charter values).
Subgroups
All Students plus 16 subgroup cuts, including the complements (Poverty / Not Poverty, ELL / Not ELL, STH / Not STH, SWD / Not SWD, five race/ethnicity groups, three gender categories).
10 subgroup rows: All Students, six race/ethnicity groups, ELL, students with disabilities, economically disadvantaged — no gender and no temporary-housing cut.
None displayed (school-wide only).
Key data limitations
Charter schools. Charter schools are not included in the NYC DOE InfoHub files, so we rely on the NYSED files for charter school chronic absenteeism data. The NYSED dataset is less granular than NYC DOE's. Most notably, it excludes PK/K data, which are the grades with the highest chronic absenteeism rates (PK 48.2% and K 37.8% citywide in 2024-25, computed from the per-grade rows of the DOE End-of-Year file). Non-charter and charter school-wide rates are therefore not exactly like-for-like. Success Academy has no state-reported attendance from 2023-24 onward (~35 schools; reconciliation details). Charter grades-9–12 values for 2020-21 → 2022-23 carry an additional inherited risk: NYSED's high-school data shows an unexplained one-sided anomaly at many district high schools in those years (finding A.20), and with no second publisher for charters, their values from those years cannot be checked against it directly.
Population identified by an exhaustive census (6,964 report-band pairs across 6,570 district school-years): the same-year grade-band rate — K–8 (kindergarten included) on elementary/middle reports, 9–12 on high-school reports (ledger A.6, largely explained). The exact counting rules remain undocumented, and the residual pockets (high-school reports 2019-20/2021-22; both report types 2018-19) are unexplained.
Suppression
FERPA rules documented in the NOTES sheet: rows of five or fewer students are replaced with “s” (proxy: rows of 900 or fewer total days), plus complementary suppression; chronic-absenteeism cells are additionally suppressed when five or fewer students contribute at least 20 days.
~148 school-years exist in the source file but not in our warehouse — DBNs missing from a stale schools directory (ledger A.2, open; fix requested).
Success Academy stopped reporting attendance to NYSED network-wide in 2023-24 (~35 schools flagged “did not report”; disclosed wherever charters are shown — ledger A.13). NYSED's own Regents materials (Jan 2025), responding to a State Comptroller audit, describe the state measure as excluding suspensions and extended medical absences — a standing-policy statement we have not verified at the reporting-rule level.
Its charter values are verified computed, not copied from NYSED (only ~18–20% match band roundings; values exist where NYSED suppresses; K-inclusive enrollment verified at scale) — yet they disappear in lockstep with state reporting outages: all 82 charter school-years NYSED flags as not reporting have no Snapshot value. A partially independent reference for charters: it can catch gross serving errors, cannot catch state-chain reporting failures, and cannot arbitrate differences under ~2 points (ledger A.19, verified).
3. What was validated
Every metric on this site gets the same four-check program: completeness, base case, spot check, computed values — plus, for chronic absenteeism, a school-by-school cross-publisher reconciliation against NYSED. Open issues lead, resolved checks follow; the working rule throughout: the base case is binding; everything else is context with documented limits.
Open issues — what we're still investigating
(1) (iii-b)2024-25, grades 1–8: DOE and NYSED data disagree on whether absenteeism fell
open
On the same ~1,115 joined schools, the DOE file shows grades-1–8 chronic absenteeism falling in 2024-25 while NYSED shows it rising — weighted, 29.0% vs 30.8%. The six-year median series shows no precursor (+0.39 → −0.13 → +0.09 → +0.13 → +0.38 → −1.84 points), and the cause is not established: a review of both publishers' rule books found no documented 2024-25 definition change on either side (an inquiry to NYSED is drafted). Until resolved, 2024-25 grades-1–8 chronic absenteeism is publisher-dependent — our values come from the DOE file and carry that attribution (finding A.11); high-school agreement in 2024-25 is unaffected.
2024-25 · grades 1–8— schools by gap between NYC DOE's value and NYSED's (percentage points, NYC DOE − NYSED) · n = 1,115
19
455
346
246
27
20
2
< −5−5 to −2−2 to −1±1+1 to +2+2 to +5> +5
green = agreement (within ±1pp) · left of it: NYC DOE runs lower than NYSED · right: higher
median −1.84pp · weighted −1.71pp · only 22% within ±1pp · 474 of ~1,115 schools below −2pp (stats.json)
Largest individual disagreements (2024-25, grades 1–8)
These are the largest publisher disagreements, shown for investigation — they are discrepancies between data sources, not statements about the schools. Each link opens the school's verification card.
62 / 112 / 129 of ~414 joined high schools sit more than 5 points below NYSED in 2020-21 / 2021-22 / 2022-23 — largely on byte-identical denominators (reconciliation), with extremes like NYSED 99.8% vs DOE 15.3% on the same students. It is publisher-level, not our reconstruction: at tail schools DOE's own published school totals match our per-grade rebuild exactly. Panel medians pass and hide it — only 2022-23, the worst panel on record (47% within ±1 point, correlation 0.779, mean −7.3, SD 12.5), fails outright. Cause not established (finding A.20). Because charter values are served *from* NYSED, charter high-school rates for these years inherit the risk — with no second publisher to check them against.
2020-21 · grades 9–12— schools by gap between NYC DOE's value and NYSED's (percentage points, NYC DOE − NYSED) · n = 414
62
47
28
264
5
5
3
< −5−5 to −2−2 to −1±1+1 to +2+2 to +5> +5
green = agreement (within ±1pp) · left of it: NYC DOE runs lower than NYSED · right: higher
2021-22 · grades 9–12— schools by gap between NYC DOE's value and NYSED's (percentage points, NYC DOE − NYSED) · n = 415
112
21
15
260
4
2
1
< −5−5 to −2−2 to −1±1+1 to +2+2 to +5> +5
green = agreement (within ±1pp) · left of it: NYC DOE runs lower than NYSED · right: higher
2022-23 · grades 9–12— schools by gap between NYC DOE's value and NYSED's (percentage points, NYC DOE − NYSED) · n = 414
129
33
30
193
26
2
1
< −5−5 to −2−2 to −1±1+1 to +2+2 to +5> +5
green = agreement (within ±1pp) · left of it: NYC DOE runs lower than NYSED · right: higher
Largest individual disagreements (2022-23, grades 9–12 — the worst panel)
These are the largest publisher disagreements, shown for investigation — they are discrepancies between data sources, not statements about the schools. Each link opens the school's verification card.
(3) (iii)NYC Snapshot vs NYC DOE: largely explained — the Snapshot shows grade-band rates, not school-wide
open
The Snapshot's chronic-absenteeism figure is the same-year grade-band rate, not the school-wide rate: elementary/middle reports display the K–8 rate (kindergarten included), high-school reports the grades-9–12 rate, and a school spanning that boundary has both pages, each carrying its own band's figure. Established by an exhaustive type-matched census of all 6,570 comparable district school-years, 2018-19 → 2022-23 (6,964 report-band pairs, both pages fetched for all 201 band-spanning schools): 87% agree within ±1.5 points pooled, 93% on elementary/middle reports (≥94% in 2019-20 → 2022-23; census stats). For 2023-24 onward the feed's renamed fields store the complement (100 − the band rate); decoded, they match our same-year band rates for 97–98% of schools (finding A.7).
What remains open: high-school-report values in 2019-20 and 2021-22 agree with the 9–12 band rate for only ~48–50% of schools (a one-sided shift of about +1.5 points, our value above the Snapshot's), and both report types sit at 0.80–0.83 in 2018-19 — confirmed real on the complete type-matched data; the cause is not explained (ledger A.6, open for exactly this). The strips below show the type-matched agreement distribution, the residual high-school pocket, and the decoded 2023-24 feed; beneath them, the largest genuine band-basis gaps link to each school's verification card. Either way the Snapshot is presentation context, never a correctness gate: our values match the official end-of-year file exactly, and the verification card shows each school's Snapshot figure — both figures, for band-spanning schools — next to its matching band value.
2018-19 → 2022-23 pooled · the established basis, type-matched (served grade-band rate − the matching report's Snapshot figure, pp; band-spanning schools contribute both pairs)— report-band pairs by gap between our served grade-band rate (K–8 for elementary/middle report values, 9–12 for high-school report values) and the Snapshot's figure (percentage points, served band − Snapshot) · n = 6,964
3
101
243
5,380
789
430
18
< −5−5 to −2−2 to −1±1+1 to +2+2 to +5> +5
green = agreement (within ±1pp) · left of it: our band rate runs lower than the Snapshot's figure · right: higher
2021-22 · high-school reports only (served 9–12 band − Snapshot, pp) — the unexplained residual pocket: a one-sided shift of about +1.5 points— schools by gap between our served grades-9–12 rate and the Snapshot's figure (percentage points, served band − Snapshot) · n = 388
1
3
5
124
139
115
1
< −5−5 to −2−2 to −1±1+1 to +2+2 to +5> +5
green = agreement (within ±1pp) · left of it: our 9–12 rate runs lower than the Snapshot's figure · right: higher
2023-24 · elementary/middle feed, decoded (served K–8 band − (100 − feed value), pp)— schools by gap between our served K–8 band rate and the decoded report-year-2024 feed value (percentage points, served band − (100 − feed)) · n = 1,007
1
7
11
968
8
12
0
< −5−5 to −2−2 to −1±1+1 to +2+2 to +5> +5
green = agreement (within ±1pp) · left of it: our K–8 rate runs lower than the decoded feed value · right: higher — the few off-center schools are exactly where even the complement decode fails
matching grade band, type-matched: 87% within ±1.5pp pooled (n 6,964 pairs; 5,380 within ±1pp) · 93% on EMS reports · 2024/2025 complement decode: 97–98% · residual: HS reports 2019-20/2021-22 at ~48–50%, all 2018-19 at 0.80–0.83 (census-stats.json)
Largest band-basis disagreements (2018-19 → 2022-23 pooled, served band − Snapshot)
These are the largest publisher disagreements, shown for investigation — they are discrepancies between data sources, not statements about the schools. Each link opens the school's verification card.
(iii-b)Ten of twelve cross-publisher panels reconcile. Grades-1–8 medians within ±0.4pp with correlation ≥ 0.987 across 2018-19 → 2023-24; grades 9–12 clean in 2018-19, 2023-24 and 2024-25; the 2020-21 panels reconcile at the median under the remote-year caveat (finding A.10).
verified
(iii)Snapshot basis identified: band rates + a complement code. The Snapshot's figure is the same-year grade-band rate — K–8 (kindergarten included) on elementary/middle reports, 9–12 on high-school reports, both pages fetched for band-spanning schools — raising agreement from 65% school-wide to 87% pooled / 93% EMS on the matching band, type-matched, and its 2024/2025 feed fields store 100 − the band rate (97–98% match once decoded); the unexplained residual pockets stay in open issue (3).
(iii)Charter Snapshot values: computed, partially independent. The Snapshot's charter values are computed, not copied from NYSED (provenance report: ~18–20% match band roundings vs ~100% expected for republication; values exist where NYSED suppresses; K-inclusive enrollment verified) but go dark in lockstep with state reporting outages (82/82 flagged school-years, zero counterexamples) — a partially independent charter reference: catches gross serving errors, cannot catch state-chain reporting failures, cannot arbitrate differences under ~2 points (ledger A.19).
verified
(iii-b)BEDS→DBN school join: zero collisions. The deterministic district-school join (county → borough letter + last three digits of the BEDS code) produced zero collisions across all twelve panels (finding A.9).
Pick a school, a year, and a metric, and get a verification card: the value we serve, the exact public file, sheet, row, and column to check it against, and the NYSED cross-reference where one exists.