CHECKED AGAINST THE ORIGINAL FILES

Every attendance number on this page comes from files published by the School District of Philadelphia and the Pennsylvania Department of Education, and each was read a second time from those files by a separate program and matched (9,595 district and 23,924 state figures, 990 calculations, 0 disagreements). That guarantees the copying and arithmetic; what the numbers mean, and what they cannot show, is in the reader’s guide below and on the methods page. check report · methods and limitations · proof trees

← Philly methodology

Philadelphia

Chronic absenteeism in Philadelphia schools

The School District of Philadelphia doesn’t publish a chronic absenteeism rate for each school. It does publish the percentage of students at each school who attended at least 90% of school days (counting students enrolled at least 10 days there). Our measure is 100% minus that number: the share of a school’s students who attended less than 90% of their enrolled days, which we call chronic absenteeism for short (how that differs from the federal definition is on the methods page) . This page covers the district’s own schools from 2020-21 through 2024-25 and, for the comparison with charter schools, the state’s measure from 2017-18 through 2023-24; generated 2026-09-08. How we checked the numbers is described at the bottom of the page.

If you are new here

  • What this is. An independent analysis of student attendance at Philadelphia’s public schools, built only from files the school district and the state publish. It is not a survey or an estimate: every figure is arithmetic on the publishers’ own numbers, and every figure links to a page that shows that arithmetic, school by school.
  • What “chronically absent” means here. A student who attended less than 90% of their enrolled days — missed more than one day in ten. That is how the district and the state both report attendance, and it is a close relative of the federal definition, not identical to it (the difference).
  • Two sources, kept separate. The district’s file covers its own schools for five years, and is the basis of Figures 1–8. The state’s file covers every public school, including charters, and is the basis of Figures 9–10. The two count attendance slightly differently, so no figure mixes them, and the state’s newest year is 2023-24, a year behind the district’s.
  • Why you can trust the numbers, and where that stops. A separate program re-read every number from the original files and matched (the status above). Five external methodology audits in September 2026 found real errors, including one that changed a finding; each correction is dated in a public log. None of that settles why attendance differs between schools, sectors, or groups of students; this page describes, and says so wherever a comparison might be read as a cause. Section 4 lists what the data cannot show.
  • To go deeper: the plain-language methods overview, the proof trees behind any number, or the GitHub link on the About page to report a problem.

1. Headline takeaways

A convention for the figures below: annual district totals and subgroup totals sum eligible student records across schools (a student enrolled at least 10 days at two schools counts at each), so “students” in those sentences means student records. School medians and percentiles instead summarize school-level rates. Figure 8 uses the district’s separate monthly file and its within-month eligibility rule. The charter comparison uses the state’s file and its own rules, described where it appears.

  • Improvement since the 2021-22 peak has nearly stalled. In 2021-22 — the worst year in the data, when Omicron disrupted schools — 42.1% of student records at Philadelphia district schools showed more than 10% of school days missed (a student enrolled at least 10 days at two schools counts at each). That share fell to 39.0% the next year, then 38.1%, then 37.7% in 2024-25: each year’s improvement smaller than the last, and the latest barely different from the year before. After three years, the rate has come down from 42.1% to 37.7%, about a tenth of the way to zero from its worst point. One caution: the district’s school-level data starts in 2020-21, so these figures have no pre-pandemic “normal” to compare against. The district’s own research office has reported that attendance was considerably better before the pandemic — in 2018-19, 97 of 241 district and alternative schools had more than three-quarters of their students attending 90% or more of days, against 48 in 2021-22 (its June 2023 report, cited on the methodology page; that report’s universe includes alternative schools, unlike this page’s) — and the state’s measure in Figure 9 reaches back to 2017-18. [Fig 1 · proof]
  • At the typical school, about four in ten students are chronically absent — and at more than a quarter of schools, it’s a majority. At the median school, 39.0% of students missed more than 10% of days in 2024-25, down from 44.1% in 2021-22. And 62 of the district’s 216 schools (28.7%) still had more than half their students chronically absent — down only modestly from 83 schools at the peak. [Fig 1, Fig 6 · proof]
  • Elementary schools are improving; high schools are not. Chronic absenteeism at Philadelphia’s elementary schools fell from 41.0% of students in 2021-22 to 33.0% in 2024-25, and at K-8 schools from 41.7% to 35.6%. High schools barely moved: 48.6% then, 47.8% now — nearly half of high schoolers, essentially unchanged in three years. New York City appears to have seen the opposite: on its own analysis page, its high-school grades improved the most (from 43.0% of students in 2021-22 to 34.1% in 2024-25), a bigger recovery than its elementary grades (38.8% to 31.7%). Two cautions about that comparison: the New York figures are the city education department’s own chronic-absenteeism rate, with whole-school rates grouped by each school’s grade band (elementary, middle, high) under New York’s category rules rather than Philadelphia’s school types, and the New York page still carries an unverified warning of its own — in particular, its two publishers disagree about whether grades 1–8 improved or worsened in 2024-25 — and the checks behind this page do not extend to it. [Fig 3 · proof]
  • Absenteeism is lowest in the late-elementary grades and far higher in high school. In 2024-25, 36.5% of kindergartners missed more than 10% of school days, and 36.6% of first graders. The rate is generally lower through the elementary grades, reaching its lowest point in grade 5 (31.0%), and is much higher among 9th graders (44.2%) than 8th graders (33.8%). Through high school it stays high, with small dips between grades; nearly half of all seniors (49.3%) were chronically absent. These compare different students in the same year, not one group of students as they age. The improvement since 2021-22 is concentrated in kindergarten through 8th grade (kindergarten fell from 44.0% to 36.5%, and grades 6 through 8 improved by a similar amount as several elementary grades); grades 9–12 have barely moved. [Fig 2 · proof]
  • Two ways of measuring attendance point the same way; we lead with the one that counts students, not days. The district also publishes each school’s average daily attendance — the share of enrolled days students actually attended. School by school, the two measures rank schools almost identically: schools with lower average daily attendance have more chronically absent students, with almost no exceptions. They answer different questions, though. Average daily attendance counts every missed day; chronic absenteeism counts how many students crossed a line. Since 2021-22, average daily attendance (averaged across schools by their student counts) improved from 87.7% to 89.2%, while chronic absenteeism fell from 42.0% to 37.7%. The threshold measure moved more, as it happened to here; that is a feature of how students were spread around the 90% line in these years, not a fixed conversion between the two. [Fig 4 · proof]
  • Black students are chronically absent far more often than White students, and part of that gap is inside the same schools. District-wide in 2024-25, 45.5% of Black students missed more than 10% of days, against 23.6% of White students. That comparison mixes two things: how each group fares, and which schools each group attends (White students are concentrated in lower-absence schools, and the district withholds the White figure at about half of its schools). Narrowing to the 111 schools that report both groups, it’s 39.3% of Black students against 24.0% of White students, pooling each group’s students across those schools. Comparing the two groups school by school instead — giving each of the 111 schools equal weight — the average school’s Black rate was 37.7% and its White rate 29.0%, against 43.5% and 35.1% in 2021-22, so that within-school gap has barely changed. Weighting each school by its Black and White student records gives 35.2% against 29.0% in 2024-25 and 41.4% against 34.4% in 2021-22. On the 97 schools that report both groups in every in-person year, the equal-weight pair is 36.7% and 27.8% (2024-25) against 42.3% and 33.2% (2021-22). These are descriptive comparisons, not estimates adjusted for other differences between students or schools. The district’s file does not carry attendance broken down by family income, English-learner status, or special education; the state’s file offers a narrower version of those comparisons (Figure 10). [Fig 5 · proof]
  • School composition tracks chronic absenteeism. Group the district’s schools into thirds by the share of students in special education: at the third with the fewest, 27.9% of students were chronically absent in 2024-25; at the third with the most, 54.3% — nearly double. Schools in the third with the fewest White students had a rate of 50.9%, against 26.6% at the third with the most. Schools with many English learners look no different from schools with few (37.1% vs 37.6%). These are descriptive patterns, not explanations — the full tables are in §3. [§3 tables · proof]
  • A school’s chronic absenteeism rate doesn’t change much from year to year. Between 2023-24 and 2024-25, half of all schools saw their rate move by less than 2.3 on the 0-to-100 scale, and schools largely kept their standing: the ones with the highest rates one year had the highest rates the next. A meaningful minority did move — 52 of 216 schools by more than 5, and 12 by more than 10 — so a school’s rate is persistent, not fixed. Small schools move the most: among schools with fewer than 300 students, the spread of year-to-year changes (their standard deviation) is 2.4 times that at schools with 600 or more, and the typical (median) move is 1.8 times as large. Changes of a given size are simply more common among smaller schools in these data; read a one-year change alongside the school’s longer trend and its student population, because this size comparison does not say how much of a change is measurement variation and how much is real. [Fig 7 · proof]
  • 2025-26: the best September–November in the monthly file, then record-high December, January, and March. District-wide, the average of the September, October, and November within-month shares — each the share of students enrolled at least 10 days that month who attended less than 90% of its school days — was 24.1% in 2025-26, the lowest of the six years in the file (the others range from 25.6% to 36.5%). Month by month, September, October, and November were the lowest among the fully in-person years (the mostly virtual 2020-21 year recorded a lower November and is excluded from this in-person-only month comparison). Then it reversed: December, January, and March were the highest for those months in the file — December at 44.9% against 33.2% a year earlier, January at 47.4% (a small margin over 47.1%), and March at 37.9%. February was not a record. Averaged over September through March, 2025-26 came out at 33.9% vs 32.3% a year earlier — the first time that comparison has worsened since 2022-23. Three cautions: these monthly figures aren’t comparable to the full-year rates above (a student can fall below 90% in one bad month but finish the year above it); the window averages are averages of monthly shares weighted by each month’s student count, with the same student counted in several months, not the share of students chronically absent over the window; and a month’s figure depends on how many school days it had (in a 20-day month a student can miss two days and stay at 90%, but in a shorter month two absences fall below it), so same-month comparisons are the safer reading. [Fig 8 · proof]
  • Among Philadelphia schools matchable to the 2024-25 directory, the median reported share of eligible students below 90% attendance on the state’s measure was higher in 2023-24 than in 2018-19: 27.0% versus 21.1% at charter schools, and 38.5% versus 25.0% at district-run schools. The same broad pattern holds in a fixed panel of schools. Everything above comes from the district’s own file, which has no charter schools. Pennsylvania publishes a similar measure for every public school — the share of each school’s students, among those enrolled at least 90 days, attending 90% or more of days — so on that measure we can compare sectors. The state reports each year’s attendance in the following year’s file, so its latest figures describe 2023-24. The state publishes no student counts for this measure, so these are comparisons of school rates, not the share of all students in a sector: the median school is the cleanest summary, and our separate average that weights each school by its 2024-25 enrollment shows the same pattern (26.8% charter and 35.7% district-run in 2023-24, against 19.8% and 24.1% in 2018-19). Both sectors have improved since 2021-22 (enrollment-weighted averages of 33.7% charter and 38.5% district-run that year). The schools contributing change a little from year to year; holding the set fixed to the 72 charters and 214 district-run schools with a value in every year gives 19.4% to 26.4% and 24.1% to 35.3%, the same picture. These are schools that can be matched to the current directory; schools that closed, or that changed operator or state code (two Renaissance charters that returned to the district in 2022, for example), are missing for the years they can’t be matched (§5). The sector gap is not a measure of what charter schools do. Most charters (63 of 81) enroll by citywide lottery, while the other 18 are mostly Renaissance charters — former district schools handed to charter operators that still serve neighborhood catchments; students who leave a charter mid-year may return to district-run schools; the state’s 90-day rule leaves out any enrollment spell shorter than 90 days, so the most mobile students are only partly represented; and the state lets each school system decide how partial-day absences count, which we have not verified is done the same way across sectors. None of these has been measured here. Contracted and alternative programs (19 schools) are outside both sectors. And the sectors differ in shape: 53 stand-alone high schools are district-run (48 of them with a state value in 2023-24) against 9 charter, and 31 charters serve high-school grades in all — those 9 plus 22 that combine high-school grades with younger grades, which the like-for-like comparison in Figure 9’s note leaves out. [Fig 9, Fig 10 · proof]

2. Figures

Figure 1. Chronic absenteeism across the district, 2020-21 to 2024-25

The solid cyan line pools student records across schools: the share that showed less than 90% attendance. The dashed line and the bands summarize the distribution of school-level rates: the dashed line is the typical (median) school, and the shaded bands show the range across individual schools (the darker band covers the middle half of schools, the lighter band all but the highest and lowest tenth). The hatched 2020-21 column is the pandemic year — instruction was mostly virtual, with hybrid in-person classes from March 2021, and presence was recorded under different rules — so we leave it out of the annual in-person recovery comparisons (the monthly figures in Figure 8 show it separately, and say so).

% of students attending less than 90% of school days0%10%20%30%40%50%60%70%excluded from trends †29.342.190th-percentile school 61.9%75th percentile 52.1%typical (median) school 39.0%district rate 37.7%25th percentile 27.3%10th-percentile school 17.1%2020-21n=2132021-22n=2142022-23n=2152023-24n=2162024-25n=216
Source: the School District of Philadelphia’s school-level attendance file (district-run schools only, including schools that have since closed; suppressed small-group values excluded). In 2024-25 the data covers 216 schools and 124,306 student records (a student enrolled at least 10 days at two schools counts at both). How this figure was made →

Figure 2. Chronic absenteeism is lowest in the late-elementary grades and highest in high school

The share of students in each grade who attended less than 90% of school days, district-wide, in 2021-22 (amber, dashed) and 2024-25 (cyan). Both years follow the same shape: elevated in kindergarten, falling to a low around grades 4–5, then a sharp jump at 9th grade and a climb through 12th. The gap between the two lines — the improvement since 2021-22 — is concentrated in kindergarten through 8th grade and nearly absent in high school.

0%10%20%30%40%50%60%2021-22 51.42024-25 49.3K123456789101112Grade
Grade-level figures aggregated from the same district attendance file. Kindergarten is the district’s grade “00”; the file has no pre-K rows. How this figure was made →

Figure 3. Elementary school chronic absenteeism has come down; high school is flat

The share of students who attended less than 90% of school days, by type of school. Each label shows the 2024-25 rate and, in parentheses, the 2021-22 rate. Elementary schools improved from 41.0% to 33.0% and K-8 schools from 41.7% to 35.6%; high schools stayed nearly flat (48.6% to 47.8%).

0%10%20%30%40%50%60%excluded from trends †Elementary schools 33.0% (was 41.0%)K-8 schools 35.6% (was 41.7%)Middle schools 29.5% (was 31.4%)Middle-high schools 18.6% (was 17.4%)High schools 47.8% (was 48.6%)2020-212021-222022-232023-242024-25
School types from the district’s master school list (elementary schools: 45, k-8 schools: 104, middle schools: 14, middle-high schools: 6, high schools: 47). There are only 6 middle-high schools, so read that line with caution. Schools that have since closed aren’t in the current list and are left out of this figure — see the note at the bottom of the page. How this figure was made →

Figure 4. Two measures of attendance, both improving since 2021-22

Two panels, each on its own scale, for the same schools. Left, in cyan: chronic absenteeism, which went from 42.0% of student records in 2021-22 to 37.7% in 2024-25. Right, in green: average daily attendance (the share of enrolled days students actually attended), which went from 87.7% to 89.2%. The two measures rank schools almost identically — schools with lower average daily attendance have more chronically absent students, almost without exception — but they count different things (days missed in total vs students past a line), so there is no fixed conversion between a change in one and a change in the other.

chronic absenteeism (share of student records below 90% attendance)30%35%40%45%42.0%39.0%38.1%37.7%2021-222022-232023-242024-25average daily attendance (school rates averaged by student count)84%86%88%90%92%87.7%88.7%88.8%89.2%2021-222022-232023-242024-25
Average daily attendance from the district’s yearly school-level file (all-students figures only). Both panels average school rates weighted by each school’s student count in the attendance file; the attendance panel is therefore not a district-wide ratio of days attended to days possible. Only schools with both measures in a year are compared, which is why this panel’s 2021-22 chronic-absenteeism figure (42.0%, 213 schools) differs slightly from Figure 1’s full-file figure (42.1%, 214 schools). The pandemic 2020-21 year is excluded. How this figure was made →

Figure 5. Chronic absenteeism by race/ethnicity and by gender

The share of each group’s student records, summed across reporting schools, that showed less than 90% attendance (solid lines: race/ethnicity; dashed lines: gender). The levels differ a lot — in 2024-25, 45.5% of Black students vs 15.3% of Asian students — but the trends are broadly similar: Black, Hispanic, White, multiracial students all peaked in 2021-22 and have improved slowly since, while the Asian series has changed little. Boys and girls are nearly identical.

0%10%20%30%40%50%60%excluded from trends †Black 45.5% (215 schools)Hispanic 41.8% (203 schools)White 23.6% (112 schools)Asian 15.3% (97 schools)Multi-racial/Other 35.0% (117 schools)Male 38.5% (171 schools)Female 38.2% (171 schools)2020-212021-222022-232023-242024-25
Each line covers only the schools that report that group (shown in parentheses) — the district withholds figures for small groups, so, for example, the White rate comes from the roughly half of schools with enough White students to report, which are not a random slice of the district. That’s why the takeaway above also compares Black and White students inside the same schools. Groups that are withheld almost everywhere (American Indian, Pacific Islander, non-binary) are omitted. The gender lines cover only schools reporting both genders — from 2021-22 the district withholds one of the two at some schools to protect the privacy of non-binary students, and leaving those schools in would distort the trend. That set of schools changes a little from year to year (157, 165, 165, 171 schools from 2021-22 on); holding it fixed at the 134 schools that qualify every year gives 38.5% of boys and 38.1% of girls in 2024-25 (the proof page has every year). How this figure was made →

Figure 6. How many schools sit at each level of chronic absenteeism — 2021-22 vs 2024-25

Schools counted by their chronic absenteeism rate, in ranges five points wide (30% to 35%, and so on): amber outline for 2021-22, solid cyan for 2024-25. If recovery were broad, the cyan bars would pile up well to the left of the amber ones. Instead the pile has shifted only slightly: 62 schools (28.7%) are still to the right of the red line, meaning most of their students missed more than 10% of school days.

01530number of schoolsright of this line, most of a school’s students were chronically absent2021-22 (214 schools)2024-25 (216 schools)0%10%20%30%40%50%60%70%80%90%100%a school’s chronic absenteeism rate (% of its students attending less than 90% of days)
Same schools and definitions as Figure 1. Each school counts once regardless of size. The same counts are in the §3 table. How this figure was made →

Figure 7. A school's rate one year closely predicts its rate the next

Each dot is one school: how far right it sits is its 2023-24 chronic absenteeism rate; how far up, its 2024-25 rate. Dots hugging the dashed diagonal are schools whose rate barely changed. Most schools sit close to the line: a school’s rate is strongly persistent from one year to the next, though a meaningful minority (52 of 216) moved by more than 5.

0%25%50%75%100%each dot is one school (216 schools)0%25%50%75%100%across: 2023-24 rate · up: 2024-25 rate · dashed line = no change
The median absolute school-level change between the two years was 2.3 on the 0-to-100 scale; 13.0% of schools improved by more than 5 and 11.1% worsened by more than 5. Small schools swing the most: among schools with fewer than 300 students, the standard deviation of year-to-year changes is 2.4 times that at schools with 600 or more (the median move is 1.8 times as large); this describes how common changes of a given size are, not how much of any change is real. How this figure was made →

Figure 8. 2025-26 through March: the district month by month against the prior five years

For each month, the share of students who attended less than 90% of that month’s school days, district-wide — one line per school year, with 2025-26 in bold cyan (published data currently runs through March) and the mostly virtual 2020-21 year dashed. Most years share a seasonal shape — better autumns, a winter spike, some spring recovery, though not in every year — and 2025-26 traces both the lowest September–November average in the file and the highest December, January, and March.

0%10%20%30%40%50%60%2020-212021-222022-232023-242024-252025-26SepOctNovDecJanFebMarAprMayJun
Source: the district’s monthly attendance file (source registry). These within-month shares are not comparable to the full-year rates in Figures 1–7: a student can dip below 90% in January yet finish the year above it, and the monthly student counts (about 111,000–113,000, students enrolled at least 10 days in the month) are smaller than the roughly 124,000 student records in a full year. A month’s figure also moves with its number of school days: two absences keep a student at 90% in a 20-day month but not in a shorter one. Lines end at each year’s latest published month — the district’s file reports no June value for three of the five completed years — so don’t compare where lines end; compare the same month across years, or the September–March average in the takeaway (an average of monthly shares, not a year-to-date rate). The district has published no school-level 2025-26 attendance yet; its data page lists the next annual update for spring 2027 and the next monthly update for August 2026 (as of our 7 September 2026 check, the May 2026 monthly file was still the latest we could retrieve). Its daily dashboard shows only the current year to the public. How this figure was made →

Figure 9. District-run vs charter schools on the state's measure: average of school rates, 2017-18 to 2023-24

For each school, the share of its students attending less than 90% of school days, as published by the Pennsylvania Department of Education for every public school (its “Regular Attendance” indicator, subtracted from 100); each line is the average of those school rates, weighting each school by its 2024-25 enrollment. It is not the share of all students in the sector. Cyan: district-run schools; orange: charter schools. Years are the years students were in school; the state reports each in the following year’s file, so the newest point is 2023-24. The two hatched years are the pandemic: 2019-20 ended in buildings closed from March, and 2020-21 was mostly virtual — both are shown as isolated dots and excluded from any trend. Left of them, two pre-pandemic years; right of them, the in-person recovery.

average of school rates: % of each school’s students below 90% attendance (state measure), weighted by 2024-25 enrollment0%10%20%30%40%50%60%pandemic years †24.2%18.3%District-run schools 35.7%Charter schools 26.8%2017-182018-192019-202020-212021-222022-232023-24attendance years (the state reports each year’s attendance in the following year’s file)
Source: Future Ready PA Index datafiles for 2018-19 through 2024-25, each carrying the previous year’s attendance (the state calls it a lagging indicator). Only students enrolled at least 90 school days count, so this series leaves out more of the most mobile students than the district’s file does. The state publishes no student counts for this measure, so lines weight each school by its 2024-25 enrollment in every year — an average of school rates, not the share of a sector’s students. The median school runs 38.5% (district-run) and 27.0% (charter) in 2023-24, against 25.0% and 21.1% in 2018-19; the proof page shows weighted, mean, and median for every year. The number of contributing schools changes by year (215 district-run and 76 charter in 2018-19; 219 and 78 in 2023-24); on the fixed set of 214 district-run and 72 charter schools with a value in every year, the weighted averages run 24.1% to 35.3% and 19.4% to 26.4%. Like-for-like by school type in 2023-24: elementary schools 32.4% district-run (45 schools) vs 29.2% charter (13); K-8 schools 33.7% district-run (104 schools) vs 26.5% charter (30); high schools 44.6% district-run (48 schools) vs 37.5% charter (9). This series is not interchangeable with Figures 1–8: for the same district-run schools and the same year, the state’s figure typically shows slightly fewer students below 90% than the district’s file, in every year checked (§5), so no figure mixes the two. The state sets the 90% threshold and the 90-day minimum but lets each school system decide how partial days count, and we have not verified that district and charter schools code attendance the same way. The series covers schools that can be matched to the 2024-25 directory through their current state codes: schools that have since closed are absent from every year, and a school that changed operator or state code (John B. Stetson and Olney, Renaissance charters until 2022 and district-run since, carry charter codes in the 2018-19 workbook that the current crosswalk cannot join) is missing for the years before the change. Sector and school-type labels are today’s, carried backward. How this figure was made →

Figure 10. Each group's chronic absenteeism against its own schools' overall rate, by sector, 2023-24

For each group, the bar runs from the schools’ overall rate to the group’s rate at those same schools (state measure); the label gives both numbers. A bar to the right means the group attended less than 90% of days more often than its schoolmates as a whole. This includes two breakdowns the district’s own file cannot support — students in special education and English learners — for both sectors.

District-run schoolsCharter schools-15-10-50+5+10+15average of the group’s school rates minus the average school-wide rate at the same schools, on the 0–100 scale (right = the group is below 90% attendance more often)Students in special education43.7% vs 38.4% school-wide (215 schools)32.5% vs 29.0% school-wide (78 schools)English learners28.4% vs 36.8% school-wide (131 schools)14.4% vs 24.5% school-wide (38 schools)Black students42.0% vs 38.8% school-wide (217 schools)30.0% vs 29.1% school-wide (77 schools)White students26.5% vs 29.3% school-wide (97 schools)25.5% vs 25.1% school-wide (26 schools)
Each bar covers only schools that report both the group and the school-wide figure (counts in the labels); the state withholds small groups, so the English-learner and White-student bars cover fewer schools. The English-learner bar covers only schools with enough English learners to report, and the district’s English learners are disproportionately Hispanic and Asian; since those groups have lower rates than Black students here, the bar may say as much about who English learners are as about English-learner status — the data can’t separate the two. Economically disadvantaged students are left off: the state defines the group only in general terms (each district chooses its poverty indicators), and the district records most of its schools as exactly 100% economically disadvantaged, so the comparison can’t be interpreted. Both ends of each bar are unweighted averages of the reporting schools’ rates, not shares of all students in the group, and different bars cover different sets of schools, so bar lengths are not a standardized comparison between sectors. The school-wide benchmark includes the group itself. Within an individual school that pulls the comparison toward zero; because group shares and gap directions vary across schools, we cannot say how the average displayed bar compares with an average group-versus-everyone-else gap, and the state does not publish the group shares needed to compute one. Diagnostic only, not charted: among reporting district-run schools, the unweighted mean of the economically disadvantaged group's rate was 41.2%, against a 38.8% mean school-wide rate; the group's locally defined composition limits interpretation. How this figure was made →

3. Chronic absenteeism by school characteristics

For each characteristic below, the district’s schools are split into thirds — the 72 schools with the lowest share, the middle 72, and the highest 72 — and each third’s chronic absenteeism rate is the share of its student records (summed across its schools; a student counts at each school where enrolled 10 or more days) that showed less than 90% attendance in 2024-25. One characteristic we can’t use: family income. The district records 188 of its 216 schools as exactly 100% economically disadvantaged, so that measure can’t tell schools apart; the district’s file does not document how the figure is derived.

Share of students in special education

SchoolsThat share isChronic absenteeism
Lowest third2.3–16.1%27.9%
Middle third16.3–24.1%39.1%
Highest third24.2–48.3%54.3%

Share of White students

SchoolsThat share isChronic absenteeism
Lowest third0.0–1.3%50.9%
Middle third1.4–11.4%44.5%
Highest third11.5–75.2%26.6%

Share of English learners

SchoolsThat share isChronic absenteeism
Lowest third0.0–3.8%37.6%
Middle third3.9–19.4%39.2%
Highest third19.8–70.9%37.1%

Number of schools at each level of chronic absenteeism

Rate2021-22 schools2024-25 schools
0–5%32
5–10%34
10–15%109
15–20%911
20–25%1717
25–30%1025
30–35%1823
35–40%2219
40–45%2022
45–50%1922
50–55%1518
55–60%2617
60–65%1314
65–70%159
70%+144

How these tables were made →

These are descriptive groupings, not explanations. In particular, school type is tangled up with all of them — high schools have both the highest absenteeism and different student populations than elementary schools — so none of these tables says what causes what.

4. What this data can and can’t show

  • No pre-pandemic baseline in the district’s own file. The district’s school-level data starts in 2020-21, the pandemic year, so the earliest usable point is 2021-22 — which was also the worst year — and every “improvement” in the annual recovery comparisons in Figures 1–7 is measured from that peak; Figure 8 separately compares matching months and seasonal windows across years. Pre-pandemic context comes from two other places: the district’s June 2023 research report, which covers 2017-18 through 2021-22 district-wide, and the state’s measure (Figure 9), which reaches back to 2017-18 for the schools, including charters, that can be matched to the current directory and have a value that year, on its own definition. An archived district file tracks a related measure (share of students attending 95% of days) back to 2013-14 and could add more in a future revision.
  • Charter schools only on the state’s measure. The district’s attendance file covers its own schools — no charter schools, cyber charters, or alternative programs. The state’s Future Ready index covers every public school, and Figures 9–10 use it for the sector comparison — but on its own terms: for the same schools and year the two publishers’ numbers differ slightly, in the same direction in every year checked (§5), so no figure on this page mixes them. The state also reports a year later, so its newest figures describe 2023-24, and its figures are comparisons of school rates, not shares of all students in a sector.
  • Income, English-learner, and special-education breakdowns only on the state’s measure, and only as school averages. The district’s file doesn’t carry attendance cut by economic disadvantage, English-learner status, or special education. The state’s file does (Figure 10), but on its own measure, for 2023-24, as averages over the schools that report each group, and its economically disadvantaged group is defined only in general terms (each district chooses which poverty indicators to use) — so the income gap, the sharpest finding in other cities, still can’t be measured cleanly for Philadelphia.
  • Philadelphia publishes monthly data. The district publishes district-wide attendance by month, running into 2025-26 — that’s where Figure 8 comes from. Its daily attendance dashboard, though, shows the public only the current school year (we have not asked the district whether prior years are retained internally), so a school-by-school daily record would have to be captured during the school year.

5. How we checked these numbers

The Philadelphia figures on this page are generated by a single script from the publishers’ files into a committed data packet (the New York figures come from that city’s separate analysis), and two checks follow. Inside the script, the district-wide series is recomputed from the exact published student counts and compared with the version built from the published percentages: 15 comparisons (the rate, the school count, and the student count for each year), all 15 within tolerance (the largest rate difference was 0.0003, against a tolerance of 0.01). Separately, a second program written in a different language re-reads every attendance cell from the publishers’ files and recomputes a specified list of the packet’s values — the series behind each figure and the fields the wording is composed from; its results are in the status strip at the top and in the QA report, which also lists the inputs and comparisons it does not check. The checks also compare which schools appear in the district’s file against which appear in our database — that comparison caught 2 school-years missing from our database (a school that has since closed), which this page’s figures now include.

Two publishers, two numbers. For the 216 district-run schools that appear in both the district’s file and the state’s, we compared the two 90%-attendance figures for the same year, 2023-24 (the state’s comes from its 2024-25 file, because the state reports each year’s attendance a year later). They track each other closely school by school: 27.8% of schools agree within 1 on the 0-to-100 scale, 97.2% within 5, and 0 differ by more than 10. At the typical school the state’s figure sits 1.7 below the district’s (fewer students counted below 90%), though individual schools fall on both sides. One plausible reason is that the state counts only students enrolled at least 90 days while the district counts students enrolled at least 10; we have not measured how much of the difference that explains, and differences in how the two count partial days are another candidate. The same comparison for every overlapping year from 2020-21 on gives a median difference of similar size and the same sign each time; the large break an earlier version of this page reported disappears once the years are aligned. That removes the evidence for the alleged break; it does not audit every local attendance policy, and the check covers district-run schools only. (An earlier version of this page matched the state’s file years to the district’s attendance years — different school years — and wrongly reported a much larger gap in 2020-21 and 2021-22 and a change in the state’s rules; that finding is withdrawn, and the correction is logged on the methodology page.) The page still treats them as two measures: Figures 1–8 use the district’s file; Figures 9–10 use the state’s. Full check: cross-publisher attendance report.

In the district’s file but not our database

YearSchoolStudentsChronic absenteeism
2020-21Austin Meehan School (school code 8140)73324.4%
2021-22Austin Meehan School (school code 8140)41449.8%

The figures on this page keep these schools in. Their effect on the district-wide rate is tiny and goes both ways: including them changes the rate by -0.029 in 2020-21 and +0.025 in 2021-22 — so this is a matter of completeness, not of the district looking better or worse.

How the checks work → · Every served number on this site has its own trace: proof trees

All 15 checks — full table
CheckOur databaseDistrict's fileDifferenceMatch
common_weighted_2020-2129.365729.36570
common_n_schools_2020-212122120
common_n_students_2020-211228951228950
common_weighted_2021-2242.044642.0448-0.0002
common_n_schools_2021-222132130
common_n_students_2021-221258301258300
common_weighted_2022-2339.018839.01880
common_n_schools_2022-232152150
common_n_students_2022-231244351244350
common_weighted_2023-2438.125938.12580
common_n_schools_2023-242162160
common_n_students_2023-241240341240340
common_weighted_2024-2537.735437.73510.0003
common_n_schools_2024-252162160
common_n_students_2024-251243061243060

The data file behind this page: philly-absenteeism-descriptives.json (generated 2026-09-08 16:11 UTC) · the script that generates it: philly-absenteeism-descriptives.ts · every source file, with provenance: sources.yaml

Definitions and limitations: /philly/methodology/metrics/chronic-absenteeism

Technical details: evidence identifiers

Packet generated 2026-09-08 16:11:58 UTC, identifier ec4df569edbc; QA report identifier 18f401b4af45. Each identifier is the first 12 hex characters of SHA-256 over JSON.stringify(<parsed JSON object>) — no indentation, no trailing newline; a Markdown report shares its JSON twin's identifier. The evidence links on this page carry them. A raw download whose identifier no longer matches the version the site serves is refused with an explanation; the formatted source viewer instead shows the current document with a notice that a different version was requested. Older versions are not archived on the site.