Sixteen five-year windows, 2005–2009 to 2020–2024 · U.S. Census Bureau
Every other dataset on this site is an administrative count: a district reported a number, and the number is the number. This one is a survey. It samples households, so every figure it publishes is an estimate wearing a margin of error. That difference is not a footnote — it changes what you are allowed to say. This page is the manual.
The Census Bureau surveys about 3.5 million addresses a year, continuously. The decennial census counts everyone every ten years and asks very little; the ACS asks a great deal — income, education, school enrollment, race, commute, housing — of a sample, all the time.
For places as small as a New Jersey township or school district, a single year of that sample is too thin to say anything. So the Bureau pools sixty months of responses into a “5-year estimate.” That pooling is the whole bargain, and it costs two things. A figure labelled 2024 actually describes 2020 through 2024, so it lags. And two consecutive 5-year files share four of their five years, so they are not independent readings of the same place.
The tables this site reads:
| Table | What it holds |
|---|---|
B01001 + B/H/I | Population by sex and age, with race iterations for Black alone, White alone not Hispanic, and Hispanic |
B02001, B02009, B03002 | Race alone; race alone or in combination; Hispanic origin by race |
B09001 | Population under 18 by age |
B14002 | School enrollment by level, public against private |
B14007 + B/G/H/I | Residents enrolled by single grade, with race iterations including Two or More Races |
Every ACS estimate ships with a 90% margin of error. Reporting the estimate without it is not a simplification, it is a different and false claim. At the scale this site works — one district, one racial group — the margin is often as large as the finding somebody wants to draw.
A real example. In South Orange–Maplewood, the 2020–2024 estimate of Black residents aged 5 to 17 is 1,758 ± 406. The true value is very likely somewhere between about 1,350 and 2,160. That single range spans the entire question of whether there are more Black children living in those towns than the district enrolls.
A useful companion measure is the coefficient of variation: the standard error as a percentage of the estimate. (The standard error is the margin divided by 1.645.) Under about 15% is conventionally treated as reliable; 15–30% as use-with-caution; above 30% as unreliable. Race-iteration estimates at municipal scale routinely land in the first two bands and sometimes the third.
Sixteen 5-year windows sounds like sixteen observations. It is not. Only four of them — 2005–2009, 2010–2014, 2015–2019 and 2020–2024 — share no survey year with each other. Every other window overlaps its neighbours by four years out of five.
Draw a trend line through all sixteen and you have counted some households five times. A year-over-year “change” between adjacent windows is mostly the same sample being re-read. Where this site charts the full series it marks the four independent windows differently from the twelve overlapping ones, so a reader can see which points are actually separate evidence.
This is the most consequential thing on the page, and the easiest to miss.
An ACS race category is a householder's self-identification, written on a survey form, about everyone in the household. An NJDOE race category is what a school registrar recorded when a family enrolled a child, often years earlier, under a different set of options. These are not the same instrument pointed at the same thing.
How different? In South Orange–Maplewood's current window, ACS reports about 1,395 multiracial resident students enrolled in grades K–12. The district's own records show 644 Two-or-More students. Roughly a factor of two, in a place where both numbers are describing largely the same children.
Beginning with the 2020 survey year, the Census Bureau rebuilt how it captures and codes race. Write-in capture went from 30 characters to 200. Instead of collapsing multiple write-in responses into two codes, the Bureau now assigns up to six. The effect is systematic: more people end up coded as Two or More Races, and fewer in a single race category.
The Bureau's own instruction is that “any data comparisons to prior race estimates should be made with caution, taking into account the improvements we have made to the race question and the ways we code what people tell us.”
Because a 5-year window pools five survey years, the change does not land on one line — it smears:
| Vintages | Relationship to the change |
|---|---|
| 2009 → 2019 | Entirely before the change |
| 2020, 2021, 2022, 2023 | Mixtures of old and new coding |
| 2024 | Entirely after the change |
This is the same kind of break NJDOE created in 2006-07 when it first published a Two-or-More category, and it pushes the same direction. A single-race series drawn straight through 2020 is measuring the instrument as much as the population. The measure that survives the seam is alone or in combination (B02009, or Black plus Two-or-More on the enrolled tables), and that is the one to carry across it.
The 2020 Post-Enumeration Survey — the Bureau's own audit of the decennial count — measured a statistically significant 3.30% net undercount of the Black or African American population, against a net overcount of the non-Hispanic White population. The ACS is a different instrument, but it is weighted to population controls that descend from the decennial. Differential coverage by race is a measured property of the federal statistical system, not a suspicion about it.
Separately: COVID-19 disrupted 2020 collection badly enough that the Bureau released the 2020 one-year estimates only as an experimental product, and revised its weighting methodology before judging the 2016–2020 five-year file fit for release. Survey year 2020 sits inside five of the sixteen windows here, and published margins visibly widen across that span.
None of this makes the ACS unusable. It makes it a survey, with known and documented properties. The honest response is to print the margin and to say which direction the known biases run — not to treat an estimate as a count, and not to throw the estimate away.
A tempting subtraction: take ACS residents enrolled in grades K–12, subtract the students the district enrolls, and call the remainder private-school students. Do not.
That remainder holds, undivided: private and parochial school, charter school, out-of-district special-education placement, county vocational school, survey non-response and sampling error — and homeschooling, which New Jersey requires nobody to register or report. That last component is structurally unobservable, not merely unmeasured, and a surface should say so rather than folding it silently into “private.”
One more wrinkle in the same area: B14002 asks only whether a child attends public or private school, so a charter family answers public — while NJDOE counts that same student outside the resident district. The two files disagree about where one child sits. Counting charter as public is arguably right (a charter family has not opted out of public education), but it has to be stated.
The Bureau publishes ACS at seven summary levels this site retains: state (040), county (050), county subdivision (060), tract (140), and school district — elementary (950), secondary (960) and unified (970).
Tracts are deliberately excluded from the long series. Tract boundaries are redrawn at each decennial, so a sixteen-vintage tract series would be three different geographies wearing one name.
ACS school-district geographies are Census statistical identities, not NJDOE operating-district codes. The join runs through the NCES LEAID and is parsed from an identifier, never matched on a name — ACS 3415330 → CCD 3415330 → NJDOE 13-4900. The bridge editions reach back to 2014-15, so joined measures run ten vintages while pure-ACS measures run all sixteen. A row before that has no bridge, and must say so rather than resolve through a later edition.
This site reads an exact offline pin of an Aquifer release, resolved through the dataset's own pointer. Release acs-5year-nj-series-2009-2024-v1 was verified identical to the publisher's flat files everywhere the two overlap.
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.
U.S. Census Bureau · source confidence A · updated 2026-08-12 · 10 known issues (3 core)
The pitfall: This is a survey, not a count: every estimate carries a 90% margin of error that at municipal scale by race routinely runs 15-25% of the estimate itself, and the Bureau rebuilt its race coding beginning with the 2020 survey year.
Type: definitional — applies to tables: source_values · columns: variable_id
How to spot it: For the South Orange-Maplewood geography in the 2020-2024 window, ACS table B14007G reports 1,395 +/- 272 multiracial resident students enrolled K-12 while NJDOE's fall enrollment records 644 Two-or-More students in the district for the matching school year. The single-race iterations disagree in the opposite direction. No reconciliation exists because the two instruments ask different people a different question at a different time.
The misread: Computing a participation rate as NJDOE-race-count divided by ACS-race-count and presenting it as the share of a racial group attending public school. Presenting the difference between an ACS race estimate and an NJDOE race count as students who went somewhere. Combining the Black and Two-or-More categories on both sides makes the sides more comparable than the single-race lines are — it does not make them identical, and the report says so beside the chart.
Full entry, with the story and the numbers, in the served ergo doc.
Type: definitional — applies to tables: source_values · columns: variable_id, acs_vintage
How to spot it: The publisher's own user note 2021-03 states the change and instructs that 'any data comparisons to prior race estimates should be made with caution.' A five-year vintage labelled 2024 covers survey years 2020-2024 and is entirely post-change; vintage 2019 covers 2015-2019 and is entirely pre-change; vintages 2020 through 2023 are mixtures. In the SOMSD geography the alone-or-in-combination minus alone gap for the Black population grows from 306 in the 2009 vintage to 1,558 in the 2024 vintage, with the steepest movement across the change.
The misread: Reading a fall in a single-race estimate across 2020 as a fall in that population. Drawing one line through all sixteen vintages of a race-iteration table. The build carries both the alone and the alone-or-in-combination form for exactly this reason, and the report draws the seam on the chart rather than describing it in distant methodology text.
Full entry, with the story and the numbers, in the served ergo doc.
Type: uncertainty — applies to tables: vintages, source_values · columns: acs_vintage, shared_years_with_previous
How to spot it: The release's own metadata carries the rule: 'Consecutive five-year vintages share four survey years. Only 2009, 2014, 2019 and 2024 are mutually non-overlapping.' The vintages table records shared_years_with_previous per row.
The misread: Fitting a trend across all sixteen windows, or reporting a vintage-over-vintage change as a change. The build tests differences only across the four independent windows and marks the other twelve on the chart with hollow dots so a reader can see which points are independent.
Full entry, with the story and the numbers, in the served ergo doc.
Type: uncertainty — applies to tables: source_values · columns: estimate_numeric, moe_numeric
How to spot it: Black residents aged 5-17 in the South Orange-Maplewood geography, 2020-2024: 1,758 +/- 406, a coefficient of variation of 14%. Hispanic residents enrolled K-12 the same window: 1,193 +/- 309, CV 15.7%, which the Bureau's conventional bands put in 'use with caution'. The build computes a CV and a reliability band for every estimate it emits.
The misread: Comparing two estimates by eye, or reporting a difference that does not exceed the margin of the difference (the root-sum-square of the two margins). Presenting an estimate without its margin. Every published difference on a consuming surface must state whether it clears its margin, and several visually obvious ones do not.
Full entry, with the story and the numbers, in the served ergo doc.
Type: definitional — applies to tables: source_values · columns: variable_id
How to spot it: For SOMSD in 2020-2024 the gap on the combined Black-and-multiracial category is 961 +/- 490 students, while B14002 sizes the entire private and parochial sector serving both towns, all races, at 774 +/- 156. The two numbers are not the same quantity and the larger cannot be attributed to the smaller.
The misread: Reporting the residual as private-school enrollment, or as families leaving the district. New Jersey requires no homeschool registration or reporting, so one component of this residual is structurally unobservable rather than merely unmeasured — a surface must say so rather than folding it silently into 'private'.
Full entry, with the story and the numbers, in the served ergo doc.
Type: definitional — applies to tables: source_values · columns: variable_id
How to spot it: B14002 offers respondents public and private only; there is no charter response option in the instrument.
The misread: Treating the ACS private share as the whole of non-district enrollment. It is not — a charter family sits on the public side of B14002 and outside the district's own count at the same time. This is arguably the right reading (a charter family has not opted out of public education) but it must be stated, because the two files disagree about the same student.
Full entry, with the story and the numbers, in the served ergo doc.
Type: coverage — applies to tables: absent_tables · columns: acs_vintage, table_id, reason
How to spot it: The release carries an absent_tables register: B14007 and its B/G/H/I iterations are recorded as 'not-published-in-vintage' for 2009, 2010 and 2011, sourced to each vintage's own published variables.json rather than inferred from a missing row.
The misread: Rendering an absent table as a zero, or silently starting a chart at 2012 without saying why the earlier windows are missing. Absence and exemption must not look the same.
Full entry, with the story and the numbers, in the served ergo doc.
Type: coverage — applies to tables: source_values · columns: acs_vintage, moe_numeric
How to spot it: The Bureau's March 2022 statement on the revised 5-year estimation methodology, and its instruction to use caution when comparing 2016-2020 estimates to earlier ACS data. Survey year 2020 falls inside vintages 2020, 2021, 2022, 2023 and 2024 — five of the sixteen windows here. Published margins widen visibly across the same span: the Black-alone population estimate for SOMSD carries +/-845 in the 2019 vintage and +/-1,425 in 2024.
The misread: Treating the widening of margins after 2019 as a change in the population rather than a change in what the survey could collect. Reading any single post-2020 vintage as equivalent in quality to a pre-2020 one.
Full entry, with the story and the numbers, in the served ergo doc.
Type: coverage — applies to tables: source_values · columns: variable_id
How to spot it: Census Bureau press release CB22-CN.02, March 2022, reporting 2020 PES coverage results by race and Hispanic origin. ACS is a different instrument from the decennial census but is weighted to population controls descending from it.
The misread: Presenting an ACS race estimate as an unbiased count, or attributing the whole of an apparent decline in a minority population to demography when part of the measured level is coverage. The direction of the bias is known; its size at a two-township scale is not published and must not be invented.
Full entry, with the story and the numbers, in the served ergo doc.
Type: definitional — applies to tables: source_values · columns: variable_id
How to spot it: Federal Register 2024-06469, effective 28 March 2024 for new record-keeping and reporting requirements. The Department of Education maintains its own SPD 15 implementation notice, so the NJDOE side of this site's race joins will move too.
The misread: Extending any race series across the adoption year without a seam once the revised categories reach these files. Planning a surface that assumes today's seven NJDOE race categories and six ACS iterations are permanent.
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.