Ask the Census Bureau how many people live in Allegheny County and you will get an answer. Ask again somewhere else on the Bureau’s own website and you may get a different one. Both will be official, both current, and neither wrong.
That sounds like an error, and it is not. The Bureau runs three population programs, not one. Each answers a slightly different version of the question, each publishes on its own schedule, and each leaves its older answers in print. So the population of a county is not a number you look up. It is a shelf of numbers, and the skill is knowing which one to take down.
This brief opens the whole shelf for one county. How many official answers does the Census Bureau currently have in print for the population of Allegheny County, Pennsylvania? How far apart are they? And how do you name the one you used, so that somebody else can find it?
The test is to collect every population figure the Bureau currently publishes for one county and lay them side by side. Allegheny County, the county around Pittsburgh, is the example, and nothing about it is special. Every figure is as the Bureau published it on its own download server, www2.census.gov, in August 2026, and every one is current: nothing here has been withdrawn.
The figures come from the Bureau’s three population programs. The decennial census counts. Every household in the country is asked, once a decade, and the answer is a head count for one day: for this county, 1,250,578 on 1 April 2020, from the 2020 redistricting file. How the counting works is the decennial chapter’s subject.
The American Community Survey asks a sample of about 3.5 million addresses a year and publishes estimates rather than counts. Its one-year and five-year releases for 2021 through 2024 are all here. The Population Estimates Program calculates. It carries the last count forward with births, deaths and moves, and its county files for each yearly release from 2021 through 2025 — the Bureau calls each release a vintage — are here too, with the newest answer at 1,225,035.
Only this source can answer this question, because the question is about the source itself: what the Bureau has in print, under which labels, describing which dates. What a census can and cannot do introduces the agency and why it runs three instruments at once. This brief holds their outputs for a single county side by side, which none of the Bureau’s own pages ever does.
The shelf itself is catalog.csv: one row per published
figure for Allegheny County, each one the county’s own row from one of
the three programs’ current files. Each row names its
program, its product (the exact release, down
to the table name), and what it counts — everybody, or only
adults. The refers_to column holds the date or period the
figure describes, refers_mid repeats that date as a decimal
year so a chart can plot it, and population holds the
figure itself.
One construction decision matters more than the rest. The 2020 census
publishes its county numbers in a redistricting file holding four
tables, named P1 through P4, and the four tables hold two populations
rather than four. P1 and P2 both total everybody, 1,250,578 people, and
differ only in how they break the total apart. P3 and P4 do the same job
for the population 18 and over, which is 1,020,183, or 81.6% of the
whole. The catalog keeps that adult count as a row of its own, flagged
in counts, because the two numbers serve different jobs.
Apportioning seats in Congress uses everybody, while drawing districts
of equal voting strength often uses adults, and nothing in the file’s
name tells you that.
Four smaller tables carry the rest of the evidence.
pep_revisions.csv and pep_same_date.csv follow
the calculated estimates as later releases revise them, with columns
vintage, refers_to and
population. route_overlap.csv compares the
survey’s county totals with the estimates across the whole country, in
columns window, compared_with,
counties and exact_matches.
routes.csv and api_vintages.csv describe the
three addresses the Bureau serves everything from and what each one
carries. The only cleaning was matching the files up by the county’s
FIPS code, the five-digit federal ID number that every product uses for
the same county, so that a row from the census, a row from the survey
and a row from the estimates could be recognised as the same place.
Every number below is computed from these tables as the page is
built.
Before you read on, commit to two numbers. The Bureau currently has several separate figures in print for the population of this one county. How many do you think there are, and how far apart are the highest and the lowest? Write both down.
A county’s population is a denominator — the bottom number of a fraction, the thing you divide by. Funding formulas, disease rates, crime rates and claims about representation all divide by it. Two people can divide by different official populations and honestly reach different conclusions, and the shelf below is where that starts.
Here is every answer currently in print. Every row is a figure the Census Bureau publishes today for one county.
| Program | Product | Counts | Refers to | Population |
|---|---|---|---|---|
| Population Estimates | vintage 2025 base | everybody | 1 April 2020 | 1,250,581 |
| Decennial census | 2020 P.L. 94-171, table P1 | everybody | 1 April 2020 | 1,250,578 |
| American Community Survey | five-year 2017-2021, table B01003 | everybody | 2017-2021 average | 1,246,116 |
| American Community Survey | five-year 2018-2022, table B01003 | everybody | 2018-2022 average | 1,245,310 |
| American Community Survey | five-year 2019-2023, table B01003 | everybody | 2019-2023 average | 1,240,476 |
| American Community Survey | five-year 2020-2024, table B01003 | everybody | 2020-2024 average | 1,238,177 |
| American Community Survey | one-year 2021, table B01003 | everybody | 2021 average | 1,238,090 |
| Population Estimates | vintage 2021 | everybody | 1 July 2021 | 1,238,090 |
| American Community Survey | one-year 2022, table B01003 | everybody | 2022 average | 1,233,253 |
| Population Estimates | vintage 2022 | everybody | 1 July 2022 | 1,233,253 |
| American Community Survey | one-year 2024, table B01003 | everybody | 2024 average | 1,231,814 |
| Population Estimates | vintage 2024 | everybody | 1 July 2024 | 1,231,814 |
| Population Estimates | vintage 2024 | everybody | 1 July 2023 | 1,230,138 |
| Population Estimates | vintage 2025 | everybody | 1 July 2023 | 1,228,911 |
| Population Estimates | vintage 2025 | everybody | 1 July 2025 | 1,225,035 |
| American Community Survey | one-year 2023, table B01003 | everybody | 2023 average | 1,224,825 |
| Population Estimates | vintage 2023 | everybody | 1 July 2023 | 1,224,825 |
| Decennial census | 2010 P.L. 94-171, table P1 | everybody | 1 April 2010 | 1,223,348 |
| Decennial census | 2020 P.L. 94-171, table P3 | 18 and over | 1 April 2020 | 1,020,183 |
19 published figures, 18 of which count everybody. Among those 18, the highest is 1,250,581 and the lowest is 1,223,348. The gap between them is 27,233 people, or 2.18% of the county.
Read the picture rather than the numbers. The figures do not scatter at random. They fall in step with the date each one describes, because the county has been losing people. The correlation between date and value — a number between -1 and 1 that says how closely two things move together — is -0.89, where -1 would be a perfect straight line down and 0 would be no pattern at all. The spread is mostly not disagreement. It is time.
That is the first practical rule. When two Census figures differ, ask what date each refers to before asking which is right.
The calculation has a second habit, and it catches people who have already learned the first rule. Every year the estimates program republishes its whole series, revised, back to the last census. The label on each release is called a vintage — the year the Bureau did the arithmetic, not the year the number describes.
So a single date has been published over and over, with a different answer each time.
| Refers to (1 July) | Times published | Lowest | Highest | Spread |
|---|---|---|---|---|
| 2020 | 5 | 1,248,717 | 1,249,671 | 954 |
| 2021 | 5 | 1,238,090 | 1,245,445 | 7,355 |
| 2022 | 4 | 1,232,605 | 1,233,821 | 1,216 |
| 2023 | 3 | 1,224,825 | 1,230,138 | 5,313 |
| 2024 | 2 | 1,227,174 | 1,231,814 | 4,640 |
| 2025 | 1 | 1,225,035 | 1,225,035 | 0 |
1 July 2021 has been published 5 times, and the published value moves 7,355 people across those releases. That date is fixed. The population on it is fixed. Only the Bureau’s estimate of it has changed, as later information arrived.
Allegheny County is not unusual in this. Taking the reference date that moved most, and asking the same question of every county in the country: 0 of 3,135 counties kept the same published value across every vintage. The middle county moved by 0.27%, and 255 counties moved by more than one per cent.
The practical rule follows. Cite the vintage, not just the year. “The 2021 population estimate” names five different numbers.
Look back at the catalog and something odd is sitting in it. The one-year survey estimate for 2024 and the vintage 2024 calculation are both 1,231,814. That is not a coincidence, and it is not rounding.
| Survey window | Compared with | Counties | Identical |
|---|---|---|---|
| one-year 2021 | estimates vintage 2021, 1 July 2021 | 830 | 829 |
| one-year 2022 | estimates vintage 2022, 1 July 2022 | 837 | 836 |
| one-year 2023 | estimates vintage 2023, 1 July 2023 | 843 | 842 |
| one-year 2024 | estimates vintage 2024, 1 July 2024 | 850 | 849 |
| five-year 2020-2024 | estimates vintage 2025, 1 July 2021 | 3,144 | 7 |
| five-year 2020-2024 | estimates vintage 2025, 1 July 2022 | 3,144 | 17 |
| five-year 2020-2024 | estimates vintage 2025, 1 July 2023 | 3,144 | 9 |
| five-year 2020-2024 | estimates vintage 2025, 1 July 2024 | 3,144 | 4 |
| five-year 2020-2024 | estimates vintage 2025, 1 July 2025 | 3,144 | 5 |
The one-year survey figure for a county’s total population is the calculated estimate for that year. Not close to it. The same number, in 3,356 of 3,360 comparisons across four years of files. The Bureau forces its survey totals to agree with the estimates before publishing them,1 so asking the survey for a county’s population returns the calculation wearing a survey’s label.
One county in the whole country is an exception. The two figures for Maui County, Hawaii differ in every year tested, by at most 61 people. Why that county and no other is not something the files say.
The five-year figure behaves differently, and the contrast is what makes the result above worth trusting. It matches no published estimate for any year: the best any single year manages is 17 counties out of 3,144. Five years of answers get pooled, so the total is tied to five years of estimates at once and lands on none of them.
This matters when you are tempted to average. Two sources that agree feel like confirmation. Here, one of them is the other, and averaging them counts a single number twice.
The same shelf exists for every county. Taking the current figures from all three programs, county by county:
Read those numbers with the first rule in mind. Much of that spread is real population change between the dates the figures refer to, not disagreement about a shared moment. That is the point rather than a caveat. A figure with no date attached is not a population, and the country’s counties will not let you pretend otherwise.
Three addresses serve all of this, and they do not carry the same things.
| Address | Hands you | You need | Carries | Best for |
|---|---|---|---|---|
| data.census.gov | one table at a time, drawn in a browser | nothing | a search over the published tables; it cannot be scripted | looking one number up, once, by hand |
| api.census.gov | the cells you name, as JSON | a free key, for data, since 2026 | 1,798 datasets; county estimates stop at vintage 2021 | a few named numbers inside a program |
| www2.census.gov | the published file, whole | nothing | the files themselves, county estimates through vintage 2025 | a whole product, or a vintage the other two have dropped |
The second of those, the API — an address a program can ask for a table at, instead of a person clicking through a website — publishes an index of its own holdings at https://api.census.gov/data.json, and that index is public and needs no key. It is the honest way to ask a route what it carries, and it also shows what a route is missing.
| Product | Path | Vintages | Earliest | Latest |
|---|---|---|---|---|
| Decennial redistricting file | dec/pl | 3 | 2000 | 2020 |
| Survey, five-year | acs/acs5 | 16 | 2009 | 2024 |
| Survey, one-year | acs/acs1 | 19 | 2005 | 2024 |
| Population estimates | pep/population | 6 | 2015 | 2021 |
County population estimates stop at vintage 2021 there. The 4 newer vintages exist, and they are the ones in the tables above, but they are published as files and not through the API. A program that reaches for the newest estimates by that route will quietly get an old one.
Two more gaps are worth knowing about before you go looking. There is no 2020 one-year survey. Response rates during the pandemic were too low for the Bureau to publish the standard series, so it did not.2 The address for that file answers 404 — the web’s code for “no such page” — the year is missing from the index as well, and a gap in a series is not always somebody’s mistake.
And the one-year survey does not cover most counties. It publishes 861 county rows against the five-year file’s 3,222, so 2,361 counties appear in one and not the other. A sample thin enough to cover a small county reliably does not exist in a single year.
Everything above collapses into one habit. Name the product, the vintage and the date before you name the number.
“Allegheny County has about 1.23 million people” is not checkable. 7 rows of the catalog round to that figure. They refer to 6 different periods and hold 5 distinct values, and 2 of those values each appear twice. A reader cannot get back to what you used.
These are checkable:
Each one names a file somebody else can open. That is the whole difference, and it is what lets a reader check a rate rather than take it on faith. The same discipline applies to boundaries, which have vintages too; the geography chapter works through what a moved county line does to a map.
It does not say which figure is right. The question has no answer in that form. A count on one day, a five-year average and a calculation for last July are three different quantities. Which you want follows from what you are asking, and nothing in the data can choose for you.
It does not explain how the calculation is made. That the published value for a fixed date moves across vintages is shown here. Why it moves is not. Which records arrived late, and which assumption was revised, is the subject of the estimates chapter.
It follows one table. Total population is a single table out of thousands the Bureau publishes. Income, age, language and the rest each have their own products and their own vintages, and the same discipline applies to all of them.
The shelf will have changed by the time you read this. A new vintage arrives each spring and a new survey release each winter. The figures here are as the Bureau published them in August 2026. The pattern is durable; the particular numbers are not, and a rebuild that returns different values has not gone wrong.
Every question below can be answered by sorting or filtering the tables handed over under The data itself.
catalog.csv: sort the population column.
How far apart are the highest and lowest rows, and do their
counts and refers_to columns say they are even
measuring the same thing?pep_same_date.csv: the spread column says
how far each reference date’s published values range. Which date moved
most, and can any row in times_published tell you which
value is the population of that day?pep_revisions.csv: pick one refers_to year
and follow its population across the vintage
column. Do the revisions drift steadily in one direction, or wobble
around?routes.csv: compare the you_need and
carries columns. Write down a question you would actually
ask, then say which route you would take and what it would cost
you.api_vintages.csv: compare the latest
column across products. Which product’s newest holding lags furthest
behind what the download server carries?Two stretch extensions, beyond the spreadsheet:
Data
The data itself
Every figure above is drawn from these tables. They are plain CSV, they open in a spreadsheet, and they are yours to take further.
api_vintages.csv,
catalog.csv, decennial_pa.csv,
national_spread.csv,
pep_revision_national.csv,
pep_revisions.csv,
pep_same_date.csv,
route_overlap.csv,
routes.csv
Two more files here are not data about the subject at all – they are
how this chapter checked its own work: facts.csv, the individual
numbers the text above quotes, and checks.csv, the
arithmetic verified before anything was drawn.
I want to rebuild a public dataset from its original sources, without any starting files. Please do the following and show your work. THE SOURCE. The U.S. Census Bureau, which publishes more than one answer to the question "how many people live in this county?" The county followed throughout is Allegheny County, Pennsylvania, FIPS 42003. Everything below is free, needs no key, and lives on www2.census.gov. THE COUNT. The 2020 redistricting file for Pennsylvania: https://www2.census.gov/programs-surveys/decennial/2020/data/01-Redistricting_File--PL_94-171/Pennsylvania/pa2020.pl.zip Pipe-delimited, no headers. Counties are summary level 050 in the geographic header file, which joins the data segments on LOGRECNO. Segment 1 holds tables P1 and P2; segment 2 holds P3 and P4. In each segment the first table's first cell is field 6 and the second table's first cell is field 77. THE SURVEY. Table B01003 is total population. Download both windows for 2021 through 2024, eight files in all, from https://www2.census.gov/programs-surveys/acs/summary_file/YYYY/table-based-SF/data/ under 1YRData/acsdt1yYYYY-b01003.dat and 5YRData/acsdt5yYYYY-b01003.dat. Pipe-delimited with a header; a GEO_ID beginning 0500000US is a county. Try the 2020 one-year file too, and record what its address returns. THE CALCULATION. County population totals, one file per vintage, from https://www2.census.gov/programs-surveys/popest/datasets/ - 2020-YYYY/counties/totals/co-estYYYY-alldata.csv for YYYY 2021 through 2025 - 2010-2020/counties/totals/co-est2020.csv, which carries the 2010 census count Each vintage republishes every year back to 2020, so vintage 2025 contains POPESTIMATE2020 through POPESTIMATE2025. THE INDEX. https://api.census.gov/data.json is the programming interface describing its own holdings, keyless. Each record has a c_dataset path and a c_vintage year. WHAT TO BUILD. 1. A catalog: one row per published figure for Allegheny County, with the program, the product, what it counts, and the date or period it refers to. Keep the 18-and-over figure separate from the figures that count everybody. 2. For one fixed reference date, every vintage's estimate of it, so the revisions are visible side by side. 3. Two comparisons across all counties: the one-year survey total against the estimate for the same year, and the five-year survey total against every estimate year. 4. From the index, how many vintages of each product it carries and the newest vintage of county estimates it offers. CHECK YOUR WORK. The copies this book used were downloaded in August 2026. If your rebuild matches them, you should find: - Allegheny County counted 1,250,578 people in 2020, of whom 1,020,183 were 18 or over - 19 published figures in the catalog, 18 of them counting everybody, with 14 distinct values and a spread of 27,233 people - 1 July 2021 has been published 5 times, the values 7355 apart, and 0 of 3,135 counties kept one value across every vintage - the one-year survey total equals the estimate in 3,356 of 3,360 county comparisons, the exception being Maui County, Hawaii - the five-year total matches at best 17 of 3,144 counties for any single estimate year - the index lists 1,798 datasets and stops at vintage 2021 for county population estimates - the 2020 one-year file's address returns 404 A new vintage lands each spring and a new survey release each winter, so a rebuild done later will find more rows and different values. The pattern is the finding; the particular numbers are dated.
The Bureau describes the practice in its handbook Understanding and Using American Community Survey Data: What All Data Users Need to Know: https://www.census.gov/programs-surveys/acs/library/handbooks/general.html.↩︎
The Bureau’s announcement, and the experimental estimates it released instead: https://www.census.gov/newsroom/press-releases/2021/changes-2020-acs-1-year.html.↩︎