# Better Buses STL — what the schedule data says, and what a redesign would cost

*An independent analysis of public data. Not affiliated with or endorsed by Metro / Bi-State Development.*

## The short version

Metro St. Louis runs 58 weekday bus routes. Pull the agency's own published schedule feed and a few patterns jump out that you can fix without buying a single bus. Twenty-one of those 58 routes come no more than once an hour at midday, which is the same as no bus for anyone with a life to plan around. The stops sit about 200 meters apart on the busiest lines, close enough that the bus spends a quarter of its day braking and pulling back into traffic. And a handful of routes run a lot of service through very little demand while the genuinely busy corridors get an hourly bus.

None of that requires new money to fix. It requires moving the money that's already there. This writeup lays out three things in order: what the data measures, how much a stop-balancing fix is worth, and what a cost-neutral route redesign would look like once you check it against where people actually live and work.

One caveat sits over all of it. A schedule feed tells you where buses go and when. It says nothing about how many people are on them. So every demand figure here is a model built from public census and traffic data, and every dollar figure is a model with its assumptions in the open. The real ridership counts exist inside Metro and a public-records request would get them. They would sharpen this, and in a couple of places they would probably overturn it.

## The network today

From the GTFS feed, a representative weekday:

- **58 bus routes**, **40,423 revenue-miles** and **2,345 revenue-hours** of scheduled service.
- From the National Transit Database (FY2024): the bus mode carries about **40,365 riders on an average weekday**, costs **$161 million a year** to run, which is **$186 per revenue-hour** fully loaded and **$12.64 per boarding**. The busiest route is #70 Grand, around 80,000 riders a month.

## The fix that pays for itself: fewer stops

This is the lever the data supports without a single rider count. Across the system, **876 of about 3,060 stops** sit within 250 meters of the stop before them and aren't scheduled timing points. That's a little under a third of all stops, existing mostly because the previous stop is a block away.

Every stop a bus serves costs time: brake, kneel, wait, merge back into traffic. Agencies that have widened their stops toward the standard quarter-mile spacing got measurably faster buses with few complaints, because the stops they pulled were the redundant ones. Modeling the same change here, with the conservative end anchored to TriMet in Portland's *measured* result of a 5.7 percent runtime cut:

| Assumption | sec/stop | runtime cut | hours/year | value/year |
|---|---|---|---|---|
| Conservative (TriMet-measured) | 8 | −5.7% | 48,800 | **$5.7M** |
| Mid | 12 | −8.5% | 73,200 | $8.5M |
| Aggressive | 20 | −14.1% | 122,000 | $14.2M |

Hours are the runtime cut applied to Metro's 863,096 annual revenue-hours, valued at the **marginal** cost of running a bus, about $116 an hour once you exclude fuel. The honest read is the low row or a touch below it, because the model assumes every trip serves every removable stop and in practice the quiet ones get skipped. That gap is exactly what Metro's boarding counts would close.

Worth saying plainly: this barely touches fuel. The buses cover the same miles, just with fewer stops, so the diesel saving is a rounding error against the labor saving. The carbon win lives elsewhere, in getting more people onto each bus.

## Where the riders are, estimated from public data

Metro doesn't publish ridership by route, so I built a proxy from data that is public: census population, jobs, and low-wage workers (who ride transit at far higher rates) within 600 meters of each corridor, from the Census Bureau and the LEHD jobs dataset. It estimates demand *potential*, not boardings, and it validates against where Metro actually runs service, with a correlation of 0.52.

It has one known blind spot, and naming it matters. It under-ranks #70 Grand, the busiest route, because Grand's ridership comes from frequent service and transit-dependent neighborhoods more than from raw corridor headcount. So read the index as corridor intensity, not a turnstile count.

I also folded in **St. Louis County's published traffic counts** as a second opinion. They correlate only weakly with the census demand, about 0.26, which is the expected tell that car traffic and bus ridership are different things: a busy arterial can be busy precisely because nobody there takes the bus. Where the traffic layer earns its keep is the cut list. The over-served routes flagged for trimming run thin by road traffic and by census demand alike, which makes that call sturdier. The layer is county-only, so the city and the Illinois side have no counts at all.

Two patterns fall out. Busy corridors stuck at hourly service (Sarah, Dr. ML King, Delmar, all scoring 95-plus but coming once an hour). And thin corridors carrying heavy service (Lindbergh at 90 revenue-hours a day, the Illinois Main Street route at 103, both with low demand by every measure).

## A proposed network, checked against who it would strand

The redesign follows one rule: make the busy hourly corridors frequent, pay for it with the hours freed from trimming low-demand sprawl, and leave the lifeline coverage alone. Twenty-six candidate changes came out of the demand model. Every one was then put past an independent reviewer whose only job was to find the riders it would strand.

The reviewer was ruthless, and right. It **killed seven of the 26 outright**. Lindbergh's proposed cut would have stranded the Lighthouse for the Blind and Mercy Hospital South. The Illinois Main Street cut would have severed Belleville neighborhoods and Sauget's industrial jobs. Earth City's would have left Lakefront Drive residents with no service that a connecting route actually reaches. The Belleville-College straightening would have dropped East High School and six neighborhoods. It also killed the upgrade of Route 1 Gold, not because Gold lacks demand, but because three north-side routes carry two to three times more transit-dependent riders and deserve the frequency first. That's an equity finding the raw numbers missed.

What survived, after the review softened most of the rest:

- **5 corridors made frequent** — Sarah, Dr. ML King, St. Louis Ave, Union, Midland.
- **2 straightened** and **13 consolidated**, trimming low-demand loops and tails while keeping every hospital, school and transfer center. The redrawn geometry removes **255 stops and 44.9 route-miles** of sprawl. Lindbergh keeps Mercy Hospital and Kirkwood but sheds its northern office-park arc; Bellefontaine sheds the Parker-Waterford out-and-back; the Illinois Main Street route keeps its Belleville core and drops the State Street return loop.
- **6 routes left exactly as they are**, including the ones the reviewer protected.

### What it costs, what it saves

| Line item | bus-hrs/weekday | per year |
|---|---|---|
| Make 5 corridors frequent | −222 | −$6.6M |
| Trim 13 over-served routes | +240 | +$7.1M |
| **Net** | **+17** | **≈ +$0.5M** |
| Fuel & carbon (net miles) | — | $40k, 155 t CO₂ |

The trims free slightly more service than the upgrades spend, so the redesign is **essentially cost-neutral** — a small net saving, or the difference reinvested into still more frequency. That's the same playbook St. Louis used in its 2019 Metro Reimagined redesign, and the one Houston used in 2015 to lift ridership 7.5 percent at no extra operating cost.

The rider benefit is the real payoff. The trimmed routes run **10 to 58 minutes faster per trip** with the deviations gone. And halving the wait on five busy corridors saves riders on those lines roughly **1,200 hours of waiting every weekday**, modeled against the demand proxy. Frequency is the thing riders actually feel.

## Who gets stranded, and what to do about it

A redesign that concentrates service buys frequency for a lot of people and takes a nearby stop away from some others. Counted honestly, at a quarter mile from every stop before and after the cuts: about **73,000 residents** along the upgraded corridors get a frequent bus, while roughly **26,000 lose their nearest stop entirely**, a little under 5 percent of everyone the system reaches, and about **2,800 of them are low-wage workers** who ride at the highest rates. That's around **1,900 bus trips a weekday** that need somewhere else to go.

Priced from real programs, the cheapest-to-richest ladder of backfill: a guaranteed-ride-home backstop covers the emergency for a few hundred thousand a year but not daily travel; a scooter subsidy handles the short last-mile hops for about **$200,000**; capped rideshare vouchers, the Pinellas Direct Connect model at a five-dollar cap, run about **$1.25 million**; and full on-demand microtransit, at $24 to $40 a trip against the eight dollars a bus costs, runs about **$7.5 million**. A **targeted mix** of vouchers, scooters and a ride-home backstop lands near **$1.2 million a year** and protects the people who ride the most.

Here's the catch the arithmetic forces into view. Carrying every stranded trip by van costs nearly the entire sum the trims free up. You cannot both replace the lost coverage with premium service and pour the savings into frequency; the money stretches one way. And a change this size isn't a free technical choice. Federal law requires Metro to run a **Title VI equity analysis** measuring the burden on low-income and minority riders and documenting the mitigation. Pricing the stranded here is that analysis started in the open, rather than discovered after the buses stop coming.

## What this is, and isn't

This is a data-grounded proposal built from public information, not an engineered service plan and not Metro's. The geometry is schematic. The demand is modeled. The savings are modeled, with every constant stated so you can change one and rerun the logic.

The single thing that would move it from a strong proposal to a real plan is the ridership data Metro already collects and keeps. Its automatic passenger counters log boardings by stop and route. A **Missouri Sunshine Law request to Bi-State Development** would obtain that table, replace the proxy with ground truth, and settle the handful of calls this analysis had to leave open. Until then, the honest posture is the one this whole study tries to hold: show the work, tag every number, and refuse to call coverage waste without knowing who rides it.

---

*Methods and sources: Metro St. Louis GTFS (developer feed); National Transit Database FY2024 (agency 70006); Census CenPop2020 and LEHD LODES8; St. Louis County traffic counts (ArcGIS). Stop-balancing evidence from TransitCenter and TriMet; frequency elasticity from TCRP Report 95; redesign precedent from Houston METRO 2015. Stranded/gained = census block groups within a quarter-mile bus walkshed, before vs after. Mitigation costs from Pinellas Direct Connect, LA Metro Micro, NTD demand-response, Lime STL, and the CMT St. Louis Guaranteed Ride Home program; equity obligation per FTA Title VI Circular 4702.1B.*
