Car Dependent Cities: Check Transit Data Before You Move

A second car that sits in the driveway five days a week still costs thousands of dollars a year, and in a moving budget that is the transit question that matters: at this address, how many cars does the household actually need? Zero, one, or two. The mistake is expensive in both directions. Buy the second car when the address did not need it and you pay insurance and depreciation on something you barely drive. Skip it when the address did need it and every errand becomes a negotiation.

A stop near the front door does not settle it. The bus there might come every twelve minutes from 5 a.m. to midnight, or six times a day and not at all on Sunday. On a map the two look identical. The difference is written down in a public file that the agency's own trip planner reads every day.

Three public sources answer the question between them, and none of them requires a visit. The Census Bureau's American Community Survey tells you how the people already living there manage. The agency's GTFS schedule file tells you what service actually runs past the door. AAA's annual cost study puts a dollar figure on the answer.

The national baseline, so a local number means something

A tract's numbers are only useful against something. Here is the United States as a whole in the 2024 ACS 1-year file, the newest year published (the Census API still returned a 404 for the 2025 1-year file on 25 October 2026).

Table B25044, Tenure by Vehicles Available (universe: occupied housing units, 132,737,146 of them):

Vehicles at home All households Owners Renters
None 8.5% 3.3% 18.3%
One 33.2% 26.1% 46.5%
Two 36.3% 41.7% 26.0%
Three or more 22.0% 28.8% 9.2%

Renters make up 74.5% of the households that have no vehicle at all: 8,431,169 renter households against 2,879,504 owner households. That split is the first thing to keep in your head when you read a local tract. A neighborhood full of apartments will show more car-free households than a neighborhood of detached houses even if the bus service is identical, simply because of who rents.

Table B08301, Means of Transportation to Work (universe: workers 16 years and over, 165,360,450 of them):

How they usually got to work Workers Share of all workers Share of those who left home
Car, truck, or van 129,643,168 78.4% 90.4%
of which drove alone 114,469,546 69.2% 79.9%
Public transportation 6,097,425 3.7% 4.3%
Walked 4,048,560 2.4% 2.8%
Bicycle 803,184 0.5% 0.6%
Worked from home 22,026,371 13.3% n/a

The last column drops the 22 million people who worked from home, because a neighborhood with a high remote-work share will otherwise look less car-dependent than it is. Of the people who actually left the house to get to work, nine in ten went by car.

Inside public transportation, the national split was 2,771,518 by bus, 2,411,200 by subway or elevated rail, 677,146 by long-distance train or commuter rail, 167,493 by light rail, streetcar or trolley, and 70,068 by ferry. That matters for reading a local number: a 10% transit share in a tract served only by buses is a much stronger signal about bus service than the same 10% in a tract with a rail station, where most of it may be commuter rail into one downtown.

Pulling the two tables for the tract around the address

Both tables are on data.census.gov. The direct table paths are data.census.gov/table/ACSDT5Y2024.B25044 and data.census.gov/table/ACSDT5Y2024.B08301; add the geography through the filter panel.

Use the census tract, not the city. A city-wide vehicle figure averages the dense core with the edge subdivisions, and the address sits in one of them, not in the average. If you have not found the tract number for an address before, the geocoder step is laid out in the Census tables guide, along with how to read the margin of error, which at tract level is often wide enough to swallow the difference you are looking at.

Use the 5-year file (2020 to 2024) for a tract. The Census Bureau publishes 1-year estimates only for areas of 65,000 people or more, and 5-year estimates for all areas (Census guidance on choosing estimates). Tracts are far below that threshold, so the 5-year file is the only one that exists for them.

The 5-year window comes with a catch that is specific to this topic. It starts in January 2020. Comparing the national figures in the two files shows the effect:

National figure 2024 1-year 2020–2024 5-year
Worked from home, share of all workers 13.3% 15.1%
Public transportation, share of all workers 3.7% 3.2%
Households with no vehicle 8.5% 8.4%

The 5-year file carries more home-working and less transit commuting than 2024 alone did, because it averages in the earlier years of the window, which on these national figures had more home-working and less transit commuting than 2024. A tract's transit commuting share in the 5-year file is therefore likely to understate current transit use somewhat. The household vehicle figures barely moved between the two files, which is one more reason to lean on B25044 rather than B08301 for this decision.

What the definitions quietly include

The ACS subject definitions for 2024 (PDF) contain several details that change how the numbers read.

"Vehicles available" counts passenger cars, vans, and pickup or panel trucks of one-ton capacity or less, kept at home and available to household members. Leased or rented vehicles held for a month or more count. Company cars count if they are kept at home and used for non-business purposes. Motorcycles and other recreational vehicles do not count, and neither do vehicles that are dismantled or immobile. So a "one vehicle" household may be a household with one car plus a motorcycle, and a "no vehicle" household may own a car that does not run.

The commuting question records the mode used on the greatest number of days in the reference week, and if someone used more than one mode in a single trip, the one used for the longest distance. A person who drives three miles to a park-and-ride lot and then takes a train twenty miles is a rail commuter in this table. In an outer suburb with a commuter rail station, a respectable transit share can therefore sit on top of near-total car ownership.

"Drove alone" includes people who were driven to work by someone who then drove back home or went somewhere other than work. And the definitions warn that some areas show subway riders where no subway exists, because people were working away from their usual workplace that week, or because they drove to the fringe of a metro and rode rail the rest of the way. Tiny transit shares in rural tracts are often this, not a bus route.

For a remote worker, the household table matters more

B08301 is about trips to work. If you work from home, you do not take one. Your car question is about the supermarket, the pharmacy, a child's school, a clinic, an airport. The commuting table does not ask about any of those.

B25044 gets closer, because it describes how households living in that tract have actually arranged their lives, for all purposes. If 30% of renter households in a tract keep no vehicle against 18.3% nationally, a lot of people there are managing errands without one. If the figure is 4%, almost nobody is, whatever the listing says about walkability.

Then the income check. Not owning a car is not always a choice. The BTS summary of the BLS Consumer Expenditure Survey notes that only a small percentage of households in the highest income quintile have no vehicle, compared with households in the lowest, and that the lowest quintile spent an average of $5,105 on transportation in 2024, or 30.6% of before-tax income. A high car-free share in a low-income tract can mean good transit, or it can mean people who cannot afford a car and are spending long hours on bad transit. The ACS cannot tell those apart. The bus schedule can.

Reading the schedule file instead of the route map

A route map shows lines. It does not show how often anything moves along them, and frequency is what decides whether a route can replace a car. That information is in the agency's GTFS feed.

GTFS, the General Transit Feed Specification, is the standard format agencies use to publish their schedules, stops and fares so that trip-planning software can read them (gtfs.org). A feed is a zip file of plain-text tables. You can usually find the download link on the agency's "developers" or "open data" page. If you cannot, Transitland catalogs feeds from agencies across the US, keeps a versioned archive of every feed it fetches, and its map emphasizes routes with more frequent service. The website is free to browse. Its downloadable stop-and-route datasets, which cover 600,000+ US stops, are listed as free for non-commercial use; its APIs need a key (terms as listed on 25 October 2026).

Five files in the feed matter for this check, all defined in the GTFS Schedule reference:

File What it gives you
stops.txt Every stop, with its stop_id and location. Find the one nearest the address.
routes.txt Each route, with route_type: 0 is tram, streetcar or light rail; 1 subway or metro; 2 rail; 3 bus; 4 ferry.
trips.txt Each scheduled trip, tying a route_id to a service_id.
stop_times.txt The arrival and departure time of every trip at every stop. This is the file you count.
calendar.txt / calendar_dates.txt Which days each service_id runs, and the dated exceptions such as holidays.

Times after midnight are the first thing that throws off a count: they are written as values greater than 24:00:00, so a 12:40 a.m. bus appears as 24:40:00 and belongs to the previous service day. And some agencies publish frequency-based service in a sixth file, frequencies.txt, where a trip is given a headway_secs value (the seconds between departures) for a start and end time rather than a list of individual departures. If that file exists in the feed, the departures it describes will not all be listed in stop_times.txt; read the headway directly instead.

Counting departures at one stop

For a small feed, a spreadsheet works: open stop_times.txt, filter stop_id to your stop, then look up each trip_id in trips.txt to get its service_id, and check that service against calendar.txt. For a large agency, stop_times.txt can run to millions of rows, and a short script is easier. This one counts departures by hour at one stop on one date:

import csv, collections, os

STOP = "1234"        # stop_id from stops.txt
DATE = "20261104"    # a normal Wednesday, YYYYMMDD
DAY = "wednesday"

def rows(name):
    if not os.path.exists(name):              # calendar.txt is optional
        return []
    return csv.DictReader(open(name, encoding="utf-8-sig"))

trips = {r["trip_id"]: r["service_id"] for r in rows("trips.txt")}
running = {r["service_id"] for r in rows("calendar.txt")
           if r[DAY] == "1" and r["start_date"] <= DATE <= r["end_date"]}
for r in rows("calendar_dates.txt"):          # dated exceptions
    if r["date"] == DATE:
        (running.add if r["exception_type"] == "1" else running.discard)(r["service_id"])

by_hour = collections.Counter()
for r in rows("stop_times.txt"):
    if r["stop_id"] == STOP and trips.get(r["trip_id"]) in running and r["departure_time"]:
        by_hour[int(r["departure_time"].split(":")[0])] += 1

for h in sorted(by_hour):
    print(f"{h:02d}:00  {by_hour[h]}")

Change DATE and DAY to a Saturday and a Sunday and run it again. Some feeds have no calendar.txt and list every service date in calendar_dates.txt instead (the reference allows either); the script handles that case: a missing file is treated as empty, and the exceptions loop adds the services that run on that date. The date filter matters because many agencies publish next season's schedule in the same feed, and counting both would double the service. Departure times are only required at the first and last stop of each trip and at timepoints, so a few rows may be blank; the script skips them, and an hour that looks thin can be checked against the agency's printed timetable.

What to read off the counts

Departures per hour convert directly to a wait: 4 an hour is a bus every 15 minutes on average, 2 is every 30, 1 is every hour. Add up the routes if two stops near the address serve the same destination.

Then look at four windows, not one:

  • Weekday 7 to 9 a.m. Usually the best service of the day. Good here proves little on its own.
  • Weekday after 9 p.m. The last departure is often what decides whether an evening out needs a car.
  • Saturday midday. This is errand time, the one that matters most to a remote worker.
  • Sunday. Some routes do not run. The script prints nothing at all.

None of these come with an official pass mark. A sensible personal rule is to write down, before you count, what you would need for each window, then compare. A household that only wants to avoid a second car can accept far thinner service than one hoping to go car-free entirely.

Transitland's archive helps with one more question: whether that service is new, stable, or shrinking. Comparing the current feed with a version from a year or two earlier shows whether the route you are counting on has lost trips, which is easier to learn now than after signing a lease.

Putting a price on the second car

The point of the counting is a dollar figure. AAA's Your Driving Costs 2026, released 15 September 2026, puts the average cost of owning and operating a new vehicle at $12,863 a year, or $1,071.92 a month, at 15,000 miles a year. AAA notes that methodology changes make that figure not directly comparable with its 2025 estimate of $11,577, so do not read the gap as a one-year price rise.

The 2026 brochure splits the cost in a way that is exactly what a second-car decision needs: what you pay for owning it, and what you pay for driving it.

Weighted average, new vehicle Amount
Full-coverage insurance $2,098 a year
License, registration, taxes $802 a year
Depreciation (at 15,000 miles a year) $4,422 a year
Finance charges $1,184 a year
Ownership cost $8,506 a year ($23.31 a day)
Fuel 17.32¢ a mile
Maintenance, repair, tires 11.73¢ a mile
Operating cost 29.04¢ a mile

A second car is usually the one driven less, and that is where the split bites. At 10,000 miles a year, AAA's total for the weighted average is $10,992. Of that, $2,904 is operating cost. The rest is ownership, reduced by only $419 of depreciation for the lower mileage. Driving the second car far less shrinks the per-mile part, but most of the bill is the part that arrives whether the car moves or not.

The cheapest category, the small sedan, comes to $7,727 a year at 10,000 miles ($5,298 of it ownership: AAA's $5,616 ownership line less $318 of depreciation for the lower mileage). A half-ton pickup at the same mileage comes to $14,152. AAA's lowest mileage column is 10,000, so for a car driven less than that, the 10,000-mile ownership figure is a ceiling rather than an exact number: depreciation keeps falling with fewer miles, while insurance and registration do not.

AAA prices new vehicles over five years and 75,000 miles, so its figures need adjusting before they go into a comparison. A paid-off used car has little or no finance charge and less depreciation, so its ownership cost will be lower, but insurance and registration stay, and those two lines alone are $2,900 a year in the weighted average. And insurance and registration vary by state and address, so swap AAA's averages for a real quote at the new garaging address. The seven-number move sheet has a vehicles line, and the adjusted figure worked out here is what goes in it.

What households actually spend is a different measure. The same BTS summary puts average household transportation spending at $13,318 in 2024. Rural households averaged $14,418, or 14.2% of before-tax income; urban households $13,057, or 12.4%. BTS attributes part of the rural gap to higher rates of vehicle ownership. Those are averages across all household types, not a measure of what you would save.

Turning three sources into one line on the sheet

For each candidate address, the check produces one row:

Field Source Example of what to record
Tract no-vehicle share, renters and owners B25044, 5-year, tract e.g. renters 22% ±6, owners 4% ±2
Tract one-vehicle share B25044, 5-year, tract the share, with its margin
Commuters not driving, excluding home workers B08301, 5-year, tract transit + walk + bike as a share of those who left home
Departures per hour at nearest stop GTFS stop_times.txt weekday 8 a.m., weekday 9 p.m., Saturday noon, Sunday noon
Cars the address needs your judgment from the four above 0, 1, or 2
Annual cost of the last car AAA ownership cost, adjusted with a real quote ownership + miles × per-mile rate

The useful readings are the disagreements. A tract with many car-free renters but a stop showing nothing after 7 p.m. and nothing on Sunday is probably a tract where people manage without cars because they have to. A tract where almost every household has two cars but the stop shows a bus every 15 minutes all weekend may simply be a tract of people who prefer to drive, and the service is still there for you.

What none of these sources show is whether you can safely walk to the stop: sidewalks, crossings, a winter of unplowed curb ramps, an arterial with no signal for half a mile. That is a scouting-trip check, and it is one of the few in this sequence a desk cannot settle. The commute measurement guide covers how to time the drive itself if the answer turns out to be one car after all.

Frequently asked questions

Which Census table tells me whether people in a neighborhood live without a car?

ACS table B25044, Tenure by Vehicles Available. It counts occupied housing units by the number of vehicles kept at home, split into owners and renters. Pull it for the census tract around the address, using the 5-year file, and compare the no-vehicle and one-vehicle shares against the national figures. Nationally in 2024, 8.5% of households had no vehicle: 3.3% of owners and 18.3% of renters.

Is a bus stop near the address enough to go without a car?

No. A stop tells you a route exists, not how often anything arrives at it. The agency's GTFS schedule file lists every scheduled departure at every stop. Count the departures at your nearest stop for a weekday morning, a weekday evening after 9 p.m., and a Saturday and Sunday. A route with good weekday rush-hour service and nothing on Sunday produces a very different life than the stop sign suggests.

How much does a second car cost per year?

AAA's Your Driving Costs 2026 puts the weighted average for a new vehicle at $12,863 a year at 15,000 miles, of which $8,506 is ownership cost (insurance, registration and taxes, depreciation, finance charges). Insurance, registration and finance charges stay the same however much you drive; depreciation does not, falling by $419 at 10,000 miles and rising by $484 at 20,000. A small sedan driven 10,000 miles a year comes to $7,727. Those are new-car figures; a used second car will differ, mostly in depreciation and finance.

Why does the Census commuting table matter less for remote workers?

B08301 asks how people usually got to work in the reference week. A remote worker's question is about groceries, school runs and doctor visits, which the table does not ask about. It still shows whether the neighborhood's workers can reach jobs without a car, but for your own decision the household vehicle table and the bus schedule carry more weight.