Disappointing development…
From: American Community Survey Data Users Group <noreply(a)prb.org>
Sent: Friday, September 12, 2025 10:43 AM
To: Rob Schiffer <rob.schiffer(a)futureplan.us>
Subject: Update on the ACS Online Community
[cid:ACS+New+Logo+2023_5F00_for+emails-png_2D00_150x0-png@prb.org]
Update from American Community Survey Data Users Group
Dear Online Community Members,
Thank you for your participation in the American Community Survey (ACS) Data Users Group Online Community. Since its inception in 2013, the community has grown to over 7,000 members, sharing messages, materials, and announcements related to the ACS. Unfortunately, the U.S. Census Bureau was not able to renew the contract with the Population Reference Bureau (PRB) to maintain the site, and the online community will sunset on September 30, 2025. We hope you will consider continuing your engagement on PRB's Federal Data Forum Online Community<https://federaldataforum.prb.org/home/memberhome>. You can also stay connected to the Census Bureau by subscribing to ACS email updates<https://public.govdelivery.com/accounts/USCENSUS/signup/12426> or contacting the ACS<https://www.census.gov/programs-surveys/acs/contact.html>.
Thank you,
Donna M. Daily
Chief, American Community Survey Office
U.S. Census Bureau
Diana Elliott, Ph.D.
Senior Vice President, Programs
Population Reference Bureau
You were sent this email because an administrator sent it to all users in the Everyone role on American Community Survey Data Users Group.
I cross-posted a similar message to the TMIP listserv.
The US transit-to-work share increased from 3.5 percent in 2023 to 3.7 percent in 2024. The US (usually) worked-at-home share decreased from 13.8 percent in 2023 to 13.3 percent in 2024. These are statistically significant changes, but not the “wow” changes we’ve seen between 2019 and 2023.
Attached is a screenshot of my table showing USA totals for 2019 to 2024. Note that I’ve included the 2020 “experimental weights” ACS results, derived from 2020-X PUMS data (from the iPUMS site.) (Other here includes walk plus bicycle plus other, because the 2020-X PUMS didn’t have a breakout for walk or bicycle.)
I used the R package “tidycensus” to retrieve 2006-2024 data at the national, state, large county and large place levels. Eventually I’ll mend together the 1960-2000 data (extracted from iPUMS) with the 2006-2024 ACS data.

I’m very glad to have excellent “data reporters” at my local newspaper, the San Francisco Chronicle. Today’s front page news included a story on the decline of working at home; and a story on the increase in median household income.
Hope everyone is well!!
Chuck Purvis,
Hayward, California
###
The single-year, 2024 American Community Survey (ACS) data is scheduled for release this Thursday, September 11th. The “embargo period” for this data started this morning, meaning that your local newspaper / data reporter has access to this data right now. Expect some stories in your local media this coming Thursday morning.
My guess is that media will focus (this week) on issues like housing affordability, commuting to work, and health insurance coverage. My guess is that working-at-home will show a decline in number and share from previous years.
The single-year 2024 ACS data tables are to be released Thursday, September 11th, 2025.
The single-year 2024 ACS Public Use Microdata Sample (PUMS) are to be released Thursday, October 16, 2025.
The five-year 2020-2024 ACS data tables are scheduled for release on Thursday, December 11, 2025
And the five-year 2020-2024 ACS PUMS data are scheduled for release Thursday, January 22, 2026
https://www.census.gov/programs-surveys/acs/news/data-releases/2024/release…
2024 Data Release Schedule
census.gov
I’m cross-posting this to the TMIP and CTPP listservs. This is because the AASHTO will be suspending the CTPP listserv as of September 30, 2025. My thought is that the TMIP listserv will be a safe haven for MPO and State DOT practitioners interested in actual discussion of using census data in their transportation planning programs. If I’m wrong, let me know.
(The traffic on the CTPP listserv has been very light over the past several years, I reckon ranging from 0 to 3 posts per month.)
I will be interested in following the research of MPOs and State DOTs in integrating the newest set of PUMS data in their population microsimulation efforts.
I hope this is of interest.
Chuck Purvis,
Hayward, California
Dear Listserv members,
I am emailing to let you know that, effective September 30, 2025, this CTPP listserv will no longer be active. We will be transitioning to an email distribution list that will allow AASHTO to announce program updates and information to the user community.
All registered Listserv users will be added to this email distribution list. AASHTO will continue to send announcements, program updates, and information through this list. Users will be able to add themselves to the distribution list through a sign-up form on-our website (https://transportation.org/census-transportation-solutions/, "Sign Up for Updates").
We understand this may cause some inconvenience and appreciate your understanding as these changes are made. If you have any questions or concerns about this transition, please don't hesitate to contact me directly.
Thank you,
Julia Glickman
Program Manager for Transportation Data
AASHTO | American Association of State Highway and Transportation Officials
(202) 624-3556 | jglickman(a)aashto.org
Happy Labor Day!
I was wondering if the CTPP API could be used for CTPP data other than the most recent 2017-2021 release. The short answer is: yes.
It’s important to keep the CTPP Data Portal website open, to check the various tables for the various packages. Be careful, since table numbering is different with the four different packages.
The API works flawlessly for the year 2000 decennial census CTPP, and the three ACS-based packages: 2006-2010, 2012-2016 and 2017-2021.
I’ve included R scripts that pull the county-to-county by detailed means of transportation, for California, from the four packages.
https://github.com/chuckpurvis/r_scripts/blob/main/ctpp_multi_calif_b302103…
r_scripts/ctpp_multi_calif_b302103_county2county_1.R at main · chuckpurvis/r_scripts
github.comhttps://github.com/chuckpurvis/r_scripts/blob/main/ctpp_multi_calif_county2…
r_scripts/ctpp_multi_calif_county2county_cleanup.R at main · chuckpurvis/r_scripts
github.com
Another concern was how to extract data from more than one state. The modification to my California script was very simple. My example is the three state/district region of the District of Columbia, Maryland State and Virginia State.
# CTPP 2017-2021. Table B302103. Flow of Workers by Means of Transportation (18) by
# county-to-county flows within DC + MD + VA
query01 <- list('get'='group(B302103)',
'in'='state:11,24,51', # DC + MD + VA
'for'='county:*', # All DC + MD + VA Counties of RESIDENCE
'd-in'='state:11,24,51', # DC + MD + VA workplace
'd-for'='county:*', # All DC + MD + VA Counties of WORKPLACE
'size'=5000,'page'=1) # limit to the first 5,000 county-to-county records
x <- httr::GET(url21, add_headers('x-api-key' = api_key),query=query01) # httr function to call CTPP API
c <- rawToChar(x$content) # base R function to convert object to character....
r <- jsonlite::fromJSON(c) # jsonlite function to convert from JSON format to large list
dataframe_1721 <-r$data # convert from list to data frame.
https://github.com/chuckpurvis/r_scripts/blob/main/ctpp_multi_mwcog_county2…
r_scripts/ctpp_multi_mwcog_county2county_1.R at main · chuckpurvis/r_scripts
github.com
I hope this is of interest.
Chuck Purvis
Hayward, California
# # #
I’ve finished an analysis of the CTPP 2017-21 data for Table B202105 (workers at workplace by detailed means of transportation). This is for California counties, and California census tracts, summarized to the county-level. The purpose is to ascertain the level of missing data due to absence of secondary allocation (imputation) to the tract-level database.
To reiterate, “primary allocation” of missing values for workplace location is always produced (by the Census Bureau) to the county, place and MCD levels. “Secondary allocation” was used in previous CTPP products, but was discontinued in the 2012-2016 CTPP. Secondary allocation imputes workplace location down to the TAZ or census tract or block group levels. (There may be better ways of stating this. I’m using my human powered AI to construct these statements.)
Results for the San Francisco Bay Area are included in this inserted graphic:

Overall, at least in the Bay Area, the least amount of missing secondary allocation are for the bicycle-to-work and walk-to-work modes, at 9 to 11 percent missing values. The most (worst) secondary allocation is for 3-or-more person carpools, 2-person carpools, and other (3) (motorcycle + taxicab + other).
A possible explanation is that bicycle and walk commuters are more savvy and address-conscious than carpoolers?
As should be expected, workers working at home should never have workplace allocation issues, since the block-tract-place-county of workplace for at-home workers is identical to their home location. Only non-home workers should be factored up in Part 2 tables.
The weirdness in the work-at-home totals (593,489 from tract data; 593,510 from county summary level) is due to rounding issues at the tract vs county level. Moral of this story: don’t expect tract-level data from the CTPP to aggregate neatly up to the county level. It’s all due to rounding. But tract-level data from standard ACS five-year tables *should* aggregate neatly up to county level.
I’m thinking that the most needed set of “county correction factors” will be for part 3: factoring tract-to-tract commuters based on county-of-residence, county-of-work, and means of transportation.
Here is my fully fleshed R script to analyze Table B202105 from both tract summary level and county summary level file.
https://github.com/chuckpurvis/r_scripts/blob/main/ctpp1721_california_b202…
r_scripts/ctpp1721_california_b202105_1.R at main · chuckpurvis/r_scripts
github.com
I hope this is of use to the community!
Chuck Purvis
Hayward, CA
clpurvis(a)att.net <mailto:clpurvis@att.net>
I’m extremely grateful to Stacey Bricka of MacroSys and Shichen Feng of the Fresno COG to provide insights and help in curing my logjam/frustrations.
I’ve uploaded a 10 example R-script to pull data from the CTPP 2017-2021 data for Parts 1, 2, and 3 at various geographic levels.
Here it is:
https://github.com/chuckpurvis/r_scripts/blob/main/ctpp1721_examples_1.R
r_scripts/ctpp1721_examples_1.R at main · chuckpurvis/r_scripts
github.com
I recommend having the CTPP Data Portal open in a web browser to help assist in selecting tables and understanding geographic levels associated with any of the tables.
Most challenging was my attempt to pull tract-to-tract worker flow for my region. I think there is an upper limit on the number of records that can be pulled in the API, somewhere between 50,000 records and 5,000,000 records.
Next steps:
1. renaming variable names to be more mnemonic and memorable.
2. attaching GIS files using either tidycensus or the r package tigris.
3. mapping all of the cool patterns
4. summarizing tract-to-tract worker flows to county-to-county level, to ascertain data loss due to lack of secondary allocation.
5. There probably should NOT be any data loss in any place-to-county or county-to-place summary levels. Check this.
Hope this is of interest and use to the community.
cheers,
Chuck Purvis
Hayward, California
or contact me directly, at: clpurvis(a)att.net <mailto:clpurvis@att.net>
# # # # #
I’ve tested the new chatbot on the CTPP Data Portal, with generally positive results.
Questions I’ve asked include:
1. How can I modify the API scripts to work in the R statistical package?
2. How do I store my API key in an r statistical package environment variable?
The chatbot gave full and easy-to-implement code to store my personal CTPP API key. Good
Various versions of my request for API scripts in R package gave various results.
It was awkward to cut-and-paste my question and the answer I received from the AI chatbot.
Basically:
1. load the R libraries jsonlite and httr
library(jsonlite)
library(httr)
2. Save your API key in your R environment
# Edit your R profile
usethis::edit_r_profile()
Sys.setenv(CTPP_KEY = "mytopsecretapikeyxxxxxxx")
api_key <- Sys.getenv("CTPP_KEY”)
3. Define API Endpoint: Specify the URL of the API endpoint you want to access
url <- "https://ctppdata.transportation.org/api/data/2021”
4. **Set Headers**: Create a list of headers required for the API request, including the API key.
headers <- c(Accept = "application/json", "x-api-key" = api_key)
5. Prepare Parameters: Define the parameters needed for your API call.
# may include specifying the type of data you want (like geographic IDs)
params <- list(get = "b302100_e1,b302100_m1",geo = "C0300US06001,C0300US06005",
size = 10,page = 1)
6. Make the Request: Use the httr package send a GET request to the API.
response <- GET(url, add_headers(.headers = headers), query = params)
############################################################################
The code is failing around step 5: defining the tables and geography for the API data pull….
I really could use some human assistance to fix this R code. I heard there is a cabal of MPO data people who can code anything and everything in R or Python. Can somebody help me?
I’d like to develop examples, in R script, to retrieve data for various tables (Parts 1, 2 and 3) for various geographies (state, county, place, tract). Obviously I’ll share my R code in my bithub repository.
I just need a collaborator / hand-holder.
I received no feedback on my April 4, 2025 post to this CTPP listserv. My guess is that too few people have actually tried to use the API, or they’re too shy to provide feedback.
Hope to hear from you!
Chuck Purvis,
Hayward, California
PS, The single-year 2024 ACS data is scheduled for release in one month, on September 11, 2025. Should keep us busy for a few days. And the five-year, 2020-2024 ACS is scheduled for December 11, 2025.
###
Hello CTPP Listserv,
I'm excited to share that we have introduced a new feature to the CTPP Data Access site<https://ctppdata.transportation.org/#/index>. We’re excited to introduce the new CTPP Chatbot, a tool to help users navigate CTPP data more easily than ever. The chatbot can answer questions about content, methodology, and history — simply ask a question in your own words, and the chatbot will deliver precise answers in seconds. Thank you to our partners at Macrosys for their work on this tool!
We hope that the chatbot will streamline the user experience. It learns from your interactions and feedback, so it will continually improve to serve you better with every question you ask. You can find the chatbot icon in the bottom right-hand corner of the data site - https://ctppdata.transportation.org/#/index.
If you encounter any issues with the chatbot or other elements of the data access site, please fill out a help ticket, which can be found in the upper right-hand corner of the site.
Thank you,
Julia Glickman
Program Manager for Transportation Data
AASHTO | American Association of State Highway and Transportation Officials
(202) 624-3556 | jglickman(a)aashto.org