2024–25 measurement · workbooks published April 2, 2026
Once a year New Jersey publishes the arithmetic behind how it rates a school: the indicator results, the weight each one carries at that particular school, the points it earned, and where the total lands against similar schools. Two spreadsheets hold all of it. This page is the manual for reading them — and for the one thing they are most often mistaken for, which is a grade.
The federal Every Student Succeeds Act (ESSA) requires every state to build an annual, published measure of each school from a fixed set of indicators, and to use it to identify the schools that need support. New Jersey does that in two standalone Excel workbooks, posted to the department's accountability page alongside a technical guide:
| Workbook | What it holds | Rows |
|---|---|---|
| Comprehensive Support and Improvement | Every indicator NJDOE calculated for a school — the result, the 0–100 indicator score, the weight, and the weighted points — plus the summative score and the column labelled Summative Determination. | 2,356 schools |
| Targeted Support and Improvement | A per-school summary of which student groups carry an annual targeted-support flag for the following school year, as both a written list and a row of Yes/No columns. | 2,358 schools |
These are calculation workbooks, not a report card. The measurement year is 2024–25; the files were published April 2, 2026 and the technical guide is dated May 2026. The narrower accountability tabs inside the School Performance Reports are a presentation of the same policy, not the source of it, and we don't use them to patch these files.
We show this data on every school profile whose exact county/district/school code appears in the Comprehensive workbook — 2,351 school pages — in the section How the state scores this school, and in the school table on district budget reports. Two of the 2,358 Targeted schools appear in no Comprehensive row and so have no calculation to show.
The column called “Summative Determination” is a percentile. It is not a determination of anything.
Each scored school gets a summative score out of 100 — the sum of its weighted indicator points. Statewide those scores run from 0.79 to 99.0. NJDOE then ranks that score against other schools of the same configuration and publishes the percentile in a column named Summative Determination. We label it what it is: a within-configuration publisher percentile.
Three consequences follow, and all three get read wrong:
| It is… | It is not… |
|---|---|
| A place in a line-up of schools NJDOE grouped the same way | A grade, a rating, or a mark out of 100 |
| A ranking that necessarily spreads schools from 0 to 100 — somebody is always last | A measure that could show every school improving at once |
| Relative to a group that changes as schools open, close, and change grade span | Comparable year to year, or across configurations |
The configuration is the grade span NJDOE assigned the school for the year. There are three, and each is ranked separately:
| Configuration | Schools with a score | Ranked against |
|---|---|---|
| Elementary | 1,659 | Other Elementary schools only |
| High | 363 | Other High schools only |
| Mixed | 59 | Other Mixed schools only |
So a 60th-percentile elementary school and a 60th-percentile high school are not on the same scale, and neither can be compared with the other. Title I and non-Title I schools are pooled together inside a configuration: 1,703 of the 2,356 schools carry a Title I flag and 653 do not, and the ranking does not separate them.
Ten indicators appear in the workbook. Which of them apply, and how much each is worth, is set by New Jersey's ESSA plan — a policy choice about what to count, not a measurement of school quality.
| Indicator | Measures | Applies to | Weight range |
|---|---|---|---|
| ELA proficiency | Students who met or exceeded expectations on the state ELA test | All three configurations | 10–24.79% |
| Math proficiency | Students who met or exceeded expectations on the state math test | All three | 10–24.79% |
| ELA growth | Median student growth percentile in ELA | Elementary, Mixed | 12.5–28% |
| Math growth | Median student growth percentile in math | Elementary, Mixed | 12.5–28% |
| Four-year graduation rate | Graduating within four years of entering ninth grade | High, Mixed | 12.5–35.42% |
| Five-year graduation rate | Graduating within five years | High, Mixed | 6.25–15.74% |
| Six-year graduation rate | Graduating within six years | High, Mixed | 6.25–15.74% |
| Progress toward English proficiency | NJDOE's Progress Toward ELP rate, for English learners | All three, where reported | 20% |
| Students not chronically absent | 100 minus the chronic-absenteeism rate (see below) | All three | 10–15% |
| High school persistence | NJDOE's published persistence rate | High, Mixed | 0% |
Two of those rows deserve to be read twice.
The weights always add to 100 at that school. When an indicator drops out — because it doesn't apply to the configuration, or because there was no publishable result — the remaining weights are scaled up to fill the gap. Among the 2,081 scored schools there are 20 distinct sets of weighted indicators. ELA proficiency alone carries eleven different weights across the state: 17.5% at 1,098 schools, 15% at 914, and nine other values elsewhere.
The weights and points round, and they do not reconcile exactly. Summing the ten weighted values and subtracting the summative score gives exactly zero at 1,068 schools, ±0.01 at 958, and ±0.02 at 55; the weights themselves sum to 100.01 at four schools and 99.99 at one. That residual is the publisher's rounding, not an error, and renormalising it would replace a published number with a computed one. Our build accepts these as tolerances and fails closed outside them.
413 schools have a published persistence result and 410 of them carry a weight — and all 410 of those weights are exactly zero. There is not a single non-zero high-school-persistence weight in the file. The indicator is real, calculated, and published, and it contributes nothing to any score in this edition. We keep the row on the profile — it is part of what NJDOE published about the school — greyed out, off the chart, and labelled as adding nothing.
An indicator score is not built from the school-wide number. NJDOE standardises the result for each student group large enough to report and combines those. Below the state's minimum group size, nothing is reported at all — and an indicator with no result carries no weight. The other indicators are then rescaled to add to 100 without it.
That is why a small school and a large one down the road can be scored on different sets of indicators, and why the small school's remaining indicators each count for more. The most common case by far is Progress toward English proficiency: 1,125 schools have no publishable result for it, and their other indicators absorb its 20 points.
We say the two differently on the profile. A suppressed indicator gets the minimum-group-size sentence and the note that its weight was redistributed. An indicator outside the configuration gets “not part of the calculation for a school NJDOE groups as Elementary,” with no suggestion that anything was withheld.
The workbook's absenteeism measure is the share of students who were not chronically absent. Higher is better. Read it the other way and it inverts.
The canonical metric identifier reads chronic-absenteeism, but the source column header is Non-Chronic Absenteeism Rate — that is, 100 minus the chronic rate — and the indicator's polarity is higher-is-better, as it must be for the arithmetic to work.
The trap is specific and it is on the same page: Columbia High School's workbook value is 87, meaning 87% of its students were not chronically absent. Its chronic absenteeism module, a few sections up the same profile, reports 13%. Those are the same fact. Print the 87 under the label “chronic absenteeism” and the school appears to have an absenteeism crisis instead of a normal year.
We label the row Students not chronically absent and state the arithmetic in the row's own description. We never call the number chronic absenteeism.
The second workbook answers a different question: which student groups at a school triggered an annual targeted-support flag. The flags in this edition apply to 2026–27, a year after the data that produced them.
Fifteen schools carry a Yes in the any-student-group column. Across the ten named groups, nine flags are for students with disabilities, four for Hispanic students, and four for multilingual learners; the other seven groups have none.
The workbook records the same answer twice — as a written, semicolon-delimited list of groups, and as a row of per-group Yes/No columns — and at three schools those two fields disagree:
| School | The inconsistency |
|---|---|
| Trenton, school 250 | The list names four groups; the Yes columns flag only three, leaving Economically Disadvantaged unflagged. |
| Prospect Park, school 010 | The list names Economically Disadvantaged and the any-group column reads Yes, but every named-group flag is blank. |
| Penns Grove–Carneys Point, school 080 | Same shape: a named group in the list, Yes in the any-group column, and no named-group flag set. |
We do not repair these. Both fields are shown exactly as published, with both workbook row locators, and a sentence saying the two do not agree. The School Performance Reports carry a differing status for each of the three, and we do not use it to overwrite the calculation file — a defect that is silently patched is a defect nobody can find again.
Comprehensive and targeted identification happens on a triennial cycle. 2024–25 was not an identification year, so nothing in this edition says a school is or is not identified for comprehensive (CSI) or additional targeted (ATSI) support. NJDOE's own documents disagree about when the surrounding identification points fall — the technical guide says January 2024 and January 2027, the landing page says fall 2023 and fall 2026 — and we preserve that conflict rather than picking a month.
Only this edition is published here, and it should not be extended backwards or forwards. Between identification cycles the indicator set changes, the weights change, and the ranking group changes as schools open, close, and shift grade span. A school whose percentile moves from one cycle to the next may not have changed at all — the line-up it was ranked in did.
Two hundred and seventy-five schools — 264 Elementary and 11 High — carry the methodology literal “N/A - Not an Identification Year”. They have no summative score, no percentile, and no weights, but all 275 still publish a non-chronic absenteeism rate and 118 publish an ELA proficiency rate. Both misreads are available: dropping their published results as “no data,” or reading those results as though they had been scored and ranked. We render the module for these schools with the publisher's literal quoted, the results shown, and an explicit statement that none of them was scored or ranked.
We join the workbook to our districts on the exact zero-padded NJDOE district code, never on names. Of the 587 district budget reports the build writes, 558 match and render the school table; the other 29 — mostly county special-services districts and educational-services commissions — omit it rather than guess at a name match.
The workbooks arrive as an exact, verified offline pin from our upstream data warehouse; this repository downloads and parses nothing. The build checks the full artifact — every source row and typed value, the metric definitions, the value states, the flag groups, and all three publisher defects — before it writes anything, then projects the fields our pages need into four tables in the same SQLite warehouse as the enrollment and report-card data, joined on NJDOE county / district / school codes.
| Table | From | Holds | Rows |
|---|---|---|---|
accountability_school_summative | Comprehensive workbook | Every metric on every school row: results, indicator scores, weights, weighted values, score, percentile, configuration, methodology, and the value state of each cell | 110,732 |
accountability_school_tsi_flag | Targeted workbook | Per-school, per-group Yes/No targeted-support flags | 23,580 |
accountability_school_tsi_list | Targeted workbook | The publisher's written group list, kept separate from the flags so the three disagreements stay visible | 2,358 |
accountability_publisher_defect | Targeted workbook | The three cross-column inconsistencies, with their exact row locators | 3 |
The Comprehensive worksheet is projected whole — all 47 of its metrics — rather than as a chosen subset, so no editorial decision sits between the workbook and what we can show. Three acceptance rules protect the claims the profile makes out loud: that a school's weights sum to 100, that its weighted values sum to its score, and that no high-school persistence weight is ever non-zero. Each is a bound rather than an equality, because the publisher rounds, and each fails the build rather than repairing a value.
Source data: New Jersey Department of Education, 2024–25 ESSA Accountability Calculation Workbooks (nj.gov/education/title1/accountability), published April 2, 2026.
Every dataset behind this site keeps a structured registry of its known issues — the format breaks, suppression rules, entry errors, and definitional traps we hit while building on it — so that the next person (or agent) who works with this data doesn't rediscover them the hard way. Each issue has a stable id, a machine-readable scope (which years, columns, and tables it touches), and an effect: breaks stops a pipeline, corrupts silently wrongs the numbers, misleads invites a wrong reading of right numbers, context is background you must hold to use the data responsibly. Issues marked ★ are core: read them before any use of this data. The registry is maintained in the ergo format and served in machine-readable form alongside this page — links at the end of this section.
NJ Department of Education · source confidence A · updated 2026-07-30 · 6 known issues (2 core)
The pitfall: These are 2024-25 policy-defined school calculations and 2026-27 annual TSI flags, not site grades or current CSI/ATSI status.
Type: definitional — applies to tables: accountability_school_summative · columns: numeric_value · rows: metric_id = 'accountability.chronic-absenteeism.actual-performance'
How to spot it: The source header is 'Non-Chronic Absenteeism Rate' while the canonical metric id is accountability.chronic-absenteeism.actual-performance; the release metadata carries chronic_absenteeism_actual_polarity = non-chronic-rate-higher-is-better and the metric's polarity is higher-is-better.
The misread: Plotting the column as a chronic-absenteeism rate. Columbia High School's 87 means 87% of students were NOT chronically absent; read as chronic absenteeism it inverts the school's own absenteeism module, which reports 13%.
Full entry, with the story and the numbers, in the served ergo doc.
Type: measurement — applies to tables: accountability_school_summative · rows: metric_id LIKE '%.weight-percent'
How to spot it: Among the 2,081 scored schools there are 20 distinct sets of weighted indicators. ELA Proficiency carries 11 distinct weights (17.5% at 1,098 schools, 15% at 914, and nine other values); ELA Growth carries nine; Chronic Absenteeism is 15% at the 1,125 schools with no Progress Toward ELP weight and 10% at the 956 with one.
The misread: Reading a weight as a statewide policy constant, comparing two schools' weighted values without their weights, or ranking schools on one indicator's points.
Full entry, with the story and the numbers, in the served ergo doc.
Type: measurement — applies to tables: accountability_school_summative · rows: metric_id LIKE '%.weight-percent' OR metric_id LIKE '%.weighted-value'
How to spot it: Summing the ten weighted-value metrics per school and subtracting the summative score gives 0.00 for 1,068 schools, ±0.01 for 958 and ±0.02 for 55. Summing the ten weight metrics gives exactly 100 for 2,076 schools, 100.01 for four and 99.99 for one.
The misread: Renormalising the weights to 100 or back-solving a weighted value from the score. Both silently overwrite a published number with a computed one, and neither residual is an error to repair.
Full entry, with the story and the numbers, in the served ergo doc.
Type: suppression — applies to tables: accountability_school_summative · columns: value_state, numeric_value
How to spot it: In the Summative worksheet 2,334 blank measure cells are typed 'suppressed' and 44,473 'structural-absence'. Both are the same empty spreadsheet cell; only the release's value_state separates them. 2,250 of the suppressed cells are Progress Toward ELP at 1,125 schools.
The misread: Treating every blank as 'not applicable' and hiding a suppression, or treating every blank as a suppression and telling an elementary-school reader their graduation rate was withheld.
Full entry, with the story and the numbers, in the served ergo doc.
Type: policy — applies to tables: accountability_school_summative · rows: metric_id IN ('accountability.hs-persistence.weight-percent','accountability.hs-persistence.weighted-value')
How to spot it: 413 schools have an HS Persistence indicator score and 410 carry a weight; every one of those 410 weights is exactly 0, typed exact-reconciliation-zero, and every weighted value is 0. There are no non-zero HS Persistence weights in the file.
The misread: Counting HS Persistence among the indicators that produced a high school's score, or reading a strong persistence rate as points the school earned.
Full entry, with the story and the numbers, in the served ergo doc.
Type: coverage — applies to tables: accountability_school_summative · rows: methodology = 'N/A - Not an Identification Year'
How to spot it: 275 of 2,356 Summative rows have a structural-absence summative score and the methodology literal 'N/A - Not an Identification Year' (264 Elementary, 11 High). All 275 carry a reported non-chronic absenteeism rate and 118 a reported ELA proficiency rate; every weight and weighted value on those rows is blank.
The misread: Reading the methodology literal as 'no data for this school' and dropping its published indicator results, or reading its unweighted indicator results as if they had been scored and ranked.
Full entry, with the story and the numbers, in the served ergo doc.
Machine-readable: this page as an ergo doc · all datasets (index.json) · format: ergo · implementation: source repo
The text on this page was generated by Claude Opus 5, working as part of a stack of tools created by Lyra Forge.