# QA — Philadelphia chronic absenteeism: served attendance cells and specified packet comparisons

Packet generated: 2026-09-08T16:11:58.541Z


## Verdict: **PASS**

| Section | Result |
|---|---|
| A. District file → database (attendance_rate_above_90, every year × subgroup, values + denominators; average_daily_attendance) | PASS |
| B. State files → database (attendance_persistence_rate, attendance years 2017-18..2023-24 from the 2018-19..2024-25 workbooks, every subgroup) | PASS |
| C. Completeness (every source cell served, directory schools) | PASS |
| D. Packet recomputation (990 specified comparisons, numeric and year-label, recomputed independently in Python) | PASS (0 mismatches) |

## A. District file base case

```json
{
  "attendance_rate_above_90": {
    "name": "attendance_rate_above_90 (all years \u00d7 all subgroups)",
    "source_only_examples": [
      [
        "8140",
        "2020-21",
        "ALL"
      ],
      [
        "8140",
        "2020-21",
        "AMER_INDIAN_AK_NATIVE"
      ],
      [
        "8140",
        "2020-21",
        "ASIAN"
      ],
      [
        "8140",
        "2020-21",
        "BLACK"
      ],
      [
        "8140",
        "2020-21",
        "FEMALE"
      ],
      [
        "8140",
        "2020-21",
        "HISPANIC"
      ],
      [
        "8140",
        "2020-21",
        "MALE"
      ],
      [
        "8140",
        "2020-21",
        "TWO_OR_MORE_RACES"
      ],
      [
        "8140",
        "2020-21",
        "WHITE"
      ],
      [
        "8140",
        "2021-22",
        "ALL"
      ],
      [
        "8140",
        "2021-22",
        "AMER_INDIAN_AK_NATIVE"
      ],
      [
        "8140",
        "2021-22",
        "ASIAN"
      ]
    ],
    "served_only_examples": [],
    "source_cells": 9613,
    "served_cells": 9595,
    "common_cells": 9595,
    "value_mismatches": 0,
    "denominator_comparisons": 9595,
    "denominator_mismatches": 0,
    "suppression_mismatches": 0,
    "served_only": 0,
    "source_only_directory_schools": 0,
    "source_only_non_directory_schools": 18,
    "status": "PASS",
    "examples": []
  },
  "average_daily_attendance": {
    "name": "average_daily_attendance (all years)",
    "source_only_examples": [
      [
        "8140",
        "2020-21",
        "ALL"
      ],
      [
        "8140",
        "2021-22",
        "ALL"
      ]
    ],
    "served_only_examples": [],
    "source_cells": 1074,
    "served_cells": 1072,
    "common_cells": 1072,
    "value_mismatches": 0,
    "denominator_comparisons": 0,
    "denominator_mismatches": 0,
    "suppression_mismatches": 0,
    "served_only": 0,
    "source_only_directory_schools": 0,
    "source_only_non_directory_schools": 2,
    "status": "PASS",
    "examples": []
  }
}
```

## B. State files base case

```json
{
  "attendance_persistence_rate": {
    "name": "attendance_persistence_rate (attendance years 2017-18..2023-24 from workbooks 2018-19..2024-25 \u00d7 all subgroups)",
    "source_only_examples": [],
    "served_only_examples": [],
    "source_cells": 23924,
    "served_cells": 23924,
    "common_cells": 23924,
    "value_mismatches": 0,
    "denominator_comparisons": 0,
    "denominator_mismatches": 0,
    "suppression_mismatches": 0,
    "served_only": 0,
    "source_only_directory_schools": 0,
    "source_only_non_directory_schools": 0,
    "status": "PASS",
    "examples": []
  }
}
```

## Not checked by this program

- Enrollment weights (2024-25 enrollment per school) and directory classifications (sector, school type, admission type, Renaissance flag) are read from the served database, not re-derived from the district's enrollment and Master School List files.

- The New York City comparison on the analysis page is taken from that city's own analysis packet, which carries its own unverified warning; it is not checked here.

- The district's June 2023 attendance report figures in meta.external_context are hand-transcribed and not recomputed.

- Rendered prose, chart annotations, and accessibility text are not tested by this program. The packet fields the page composes universal statements from (monthly_records incl. window selectors, per_grade_shape, subgroup_peak_year, stability counts and ratios, Black–White fixed-panel level pairs) ARE directly compared above; the prose that uses them is not.

- The cross-publisher check covers district-run schools in attendance years 2020-21 through 2023-24 only; charter rows and the two pre-pandemic years are not cross-checked against any second publisher.

- Per-grade student counts (n_students) and the composition thirds' share boundaries are not separately compared.


## C. Completeness by year

| metric | year | source cells | served | source-only (directory) | source-only (closed/non-directory) | served-only |
|---|---|---:|---:|---:|---:|---:|
| attendance_rate_above_90 | 2020-21 | 1852 | 1843 | 0 | 9 | 0 |
| attendance_rate_above_90 | 2021-22 | 1931 | 1922 | 0 | 9 | 0 |
| attendance_rate_above_90 | 2022-23 | 1937 | 1937 | 0 | 0 | 0 |
| attendance_rate_above_90 | 2023-24 | 1946 | 1946 | 0 | 0 | 0 |
| attendance_rate_above_90 | 2024-25 | 1947 | 1947 | 0 | 0 | 0 |
| average_daily_attendance | 2020-21 | 213 | 212 | 0 | 1 | 0 |
| average_daily_attendance | 2021-22 | 214 | 213 | 0 | 1 | 0 |
| average_daily_attendance | 2022-23 | 215 | 215 | 0 | 0 | 0 |
| average_daily_attendance | 2023-24 | 216 | 216 | 0 | 0 | 0 |
| average_daily_attendance | 2024-25 | 216 | 216 | 0 | 0 | 0 |
| attendance_persistence_rate | 2017-18 | 3212 | 3212 | 0 | 0 | 0 |
| attendance_persistence_rate | 2018-19 | 3234 | 3234 | 0 | 0 | 0 |
| attendance_persistence_rate | 2019-20 | 3234 | 3234 | 0 | 0 | 0 |
| attendance_persistence_rate | 2020-21 | 3528 | 3528 | 0 | 0 | 0 |
| attendance_persistence_rate | 2021-22 | 3564 | 3564 | 0 | 0 | 0 |
| attendance_persistence_rate | 2022-23 | 3576 | 3576 | 0 | 0 | 0 |
| attendance_persistence_rate | 2023-24 | 3576 | 3576 | 0 | 0 | 0 |

## D. Packet recomputation

990 specified comparisons (numeric values and year-label strings, listed in this script) recomputed from the source files and database; 0 differ beyond tolerance (rates ±0.0051 at 4dp, correlations ±0.0006, counts and labels exact).


## Non-numeric token census

District yearly file (District sector), by column:

- % with 90%+ Attendance (Yearly): {'s': 2945}

- # with 90%+ Attendance (Yearly): {'s': 2945}

- Total Students (Yearly): (none)


State workbooks (matched-school attendance cells):

- 2021-22: {'IS': 1360, '<blank>': 294}

- 2022-23: {'IS': 1399}

- 2023-24: {'IS': 1382}

- 2024-25: {'IS': 1357}

- 2018-19: {'IS': 1339}

- 2019-20: {'IS': 1345}

- 2020-21: {'Insufficient Sample': 1366}


Unexpected tokens (not a documented suppression code): none
