NJ School Data
← Data library
Data explainer

NCES school lunch and membership

Eleven school years, 2014–15 through 2024–25 · National Center for Education Statistics

This is the federal school-level lunch record: free/reduced-price lunch totals from the NCES 033 file, joined only within the same year and school to the 052 membership denominator. It is separate from New Jersey’s Fall Enrollment fields, and its boundaries stay visible on every school profile.

The current universe does not line up. In 2024–25 the New Jersey lunch file contains 2,461 schools and membership contains 2,552. Ninety-one membership schools have no lunch row. They are retained as exclusions, never treated as zero.

Two source shapes

The first two editions are wide files with one row per school. Beginning in 2016–17, the files become long records with one row per data group and category. The consumer reads those source shapes separately and marks the divider in the profile table.

The New Jersey universe by year

YearLunchMembershipIn bothMembership only
2014–152,5712,5712,5710
2015–162,5692,5692,5690
2016–172,5712,5712,5710
2017–182,5732,5732,5730
2018–192,5662,5732,5667
2019–202,5532,5532,5530
2020–212,5582,5652,5587
2021–222,5502,5582,5508
2022–232,5112,5482,51137
2023–242,4532,5522,45399
2024–252,4612,5522,46191

Blank is not zero

NCES distinguishes suppressed, not reported, not applicable, unresolved, and absent-from-file values. The site carries those states through to words in the table. A percentage appears only when lunch and membership are both numeric and reported for the same school-year.

Direct certification is unavailable here

The two wide editions do not contain a direct-certification field. The nine long editions contain the row, but New Jersey never supplies a numeric value: rows are not reported or, in three editions, suppressed. This source cannot decompose New Jersey’s lunch total into direct certification and household applications.

Publisher status and precision

NCES companion workbooks mark editions through 2022–23 provisional and the two newest editions final. NCES also perturbs lunch counts for disclosure protection, so a printed school number is a federal, disclosure-protected count—not an exact local administrative tally.

The issue registry

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.

National Center for Education Statistics · 2014-15 → 2024-25 (11 school years) · source confidence A · updated 2026-08-29 · 6 known issues (2 core)

The pitfall: The lunch and membership files stop covering the same schools: in 2024-25 the New Jersey lunch file has 2,461 schools and membership has 2,552, so a rate may be computed only after a same-school, same-year join that reports the 91 exclusions.

format-regime-changes-at-2016-17 [corrupts · mitigated] The source changes from one wide school row to long category rows at 2016-17

Type: format — applies to years: 2014-2015, 2015-2016, 2016-2017 · tables: nces_school_lunch_history

How to spot it: The 2015-16 lunch file stores TOTFRL, FRELCH, and REDLCH as columns on one school row. The 2016-17 file stores five rows per school keyed by data group, lunch program, and total indicator.

The misread: Appending the raw rows into one series, which changes the grain, key, and meaning of a blank at the boundary.

Instead: Keep the source formats separate during extraction and expose data_format on every projected row and in the reader-facing table.

Full entry, with the story and the numbers, in the served ergo doc.

lunch-and-membership-cover-different-universes [corrupts · mitigated] The lunch and membership files diverge, reaching 91 membership-only New Jersey schools in 2024-25

Type: universe — applies to the whole dataset

How to spot it: New Jersey distinct schools by file: 2,453 lunch against 2,552 membership in 2023-24, and 2,461 against 2,552 in 2024-25.

The misread: Dividing a lunch numerator over all membership schools, which silently treats schools absent from the numerator file as zero.

Instead: Join by NCESSCH within a school year, calculate only for schools in both files, retain the exceptions, and print the excluded count beside the series.

Full entry, with the story and the numbers, in the served ergo doc.

blank-and-zero-are-different-facts [corrupts · mitigated] Wide negative codes and long blank counts carry typed reasons that must never become zero

Type: suppression — applies to the whole dataset

How to spot it: Wide editions use -1, -2, and -9; long editions pair a blank STUDENT_COUNT with DMS_FLAG values including Not reported and Suppressed.

The misread: Replacing every absent count with zero, which makes a withheld or uncollected value look like no students.

Instead: Carry the source value state, display it literally, and calculate a rate only from two reported numeric cells.

Full entry, with the story and the numbers, in the served ergo doc.

new-jersey-direct-certification-is-not-collected [corrupts · open] NCES publishes no numeric direct-certification count for a New Jersey school in any held edition

Type: coverage — applies to the whole dataset

How to spot it: The two wide editions have no direct-certification field. Every New Jersey direct-certification row in the nine long editions is Not reported or Suppressed; zero rows are numeric.

The misread: Summing the empty rows and reporting that New Jersey directly certified no students.

Instead: Say the value is not collected in this source. A New Jersey direct-certification series requires a different state source.

Full entry, with the story and the numbers, in the served ergo doc.

publisher-status-requires-the-companion-workbook [misleads · mitigated] Nine editions are provisional even though the file API version label looks like a final edition's

Type: revision — applies to the whole dataset

How to spot it: The companion Introduction sheets say Provisional through 2022-23 and Final for 2023-24 and 2024-25; the API label cannot distinguish them.

The misread: Calling every released file final because its API version is above zero.

Instead: Use the companion workbook status and print it with each edition.

Full entry, with the story and the numbers, in the served ergo doc.

lunch-counts-are-perturbed [context · monitor] NCES perturbs school lunch counts for disclosure protection

Type: uncertainty — applies to the whole dataset

How to spot it: NCES documentation identifies National School Lunch Program eligibility counts as subject to perturbation.

The misread: Treating a printed school count as an exact administrative tally or using a tiny difference as evidence of change.

Instead: Describe the values as NCES-reported, disclosure-protected counts and avoid precision claims the source cannot support.

Full entry, with the story and the numbers, in the served ergo doc.

Changelog

  • — Pinned the eleven-edition Aquifer release, added an isolated consumer family, retained both publisher universes, and exposed the source-format and publisher-status boundaries on school profiles.

Source: NCES Common Core of Data files. This site consumes an exact offline Aquifer release; manifest and artifact hashes are recorded in the machine-readable issue registry below.