ATL Spoke ridership¶
Atlanta Beltline autonomous shuttle pilot, operated by Beep. What happened in June and July 2026, and what it cost.
Version 2. The first version of this report costed the pilot against the $1.75 million state grant alone. Reporting from the AJC and others puts the project's total cost at $3 million, the balance being roughly $1.25 million from the Atlanta Beltline that may be partly in-kind rather than cash. This version shows both figures side by side throughout.
- July cost $191 per rider against the pilot's full $3 million budget, or $112 against the $1.75 million state grant alone. Even the lower figure is 7.6 times a MARTA bus ride; the higher one is about 13 times. This report shows both throughout.
- On the full budget, that figure swings from $144 to $239 depending on when the money was spent. Neither the timing of spending nor the makeup of the non-grant $1.25 million has been published.
- Ridership fell 12.8 percent in July, but it tracks the World Cup ending, not a cut in service. Demand away from the tournament grew 59 percent over the same two months.
Ridership spiked on World Cup Match Days, but declined in July¶
ATL Spoke carried 1,306 riders in July, down from 1,497 in June. The amount of service on offer did not shrink. The shuttle ran almost the same number of hours in both months, so this is not a story about the operator cutting back.
What changed was the World Cup. Atlanta hosted five matches at Mercedes-Benz Stadium in June and three in July, and ridership followed the tournament closely. Match days averaged 78 riders against 51 on other tournament days. The two busiest days of the whole record were not match days at all, but 13 and 14 June, the tournament's opening weekend.
In the eleven recorded days after the tournament ended, ridership settled at about 34 riders a day. That is higher than the 22 a day recorded before the tournament began. Some of that rise is ordinary growth in a service that had only just launched, so it should not all be read as an after-effect of the tournament.
One day, 26 July, has no reading in the source data. It is left out of every average here rather than counted as a zero.
The Beep bus service is extraordinarily expensive compared to other transportation modes¶
The pilot has a $3 million total budget. A $1.75 million grant from the Georgia Transportation Efficiency Authority covers about 58 percent of it; the Atlanta Beltline covers the rest. We treat the full $3 million as running cost, because the vehicles are leased and the only capital spending disclosed is on signs and similar small items. That works out at $250,000 a month.
A caveat on that $3 million. The Beltline's roughly $1.25 million share is never broken down publicly, and at least one account describes it as partly in-kind rather than cash, meaning staff time, existing infrastructure or similar contributions rather than a check written. The board also approved the budget roughly a year before service launched, so some of it may be pre-launch setup rather than monthly operating cost.
Because that split is unresolved, the tables and charts below carry both figures: one against the full $3 million, which is the project's understood total in news reporting including the AJC, which notes the state covered more than half the bill; and one against the $1.75 million state grant alone, which is the narrower, more conservative reading. The truth is likely somewhere between them. Every conclusion in this report holds under either.
Two other things we do not know. First, whether the money is spent evenly across the year. June and July are months one to three of the pilot, so if spending is front-loaded these months cost more than average, not less. Second, how many of the four shuttles actually run at once. We assume three, based on a 34-minute loop and a shuttle every 12 to 15 minutes.
| Measure | June ($3M) | July ($3M) | June (grant only) | July (grant only) |
|---|---|---|---|---|
| Riders | 1,497 | 1,306 | 1,497 | 1,306 |
| Hours the service was open | 330 | 328 | 330 | 328 |
| Shuttle hours provided (hours times vehicles) | 990 | 984 | 990 | 984 |
| Riders per shuttle hour | 1.51 | 1.33 | 1.51 | 1.33 |
| Cost per rider | $167.00 | $191.42 | $97.42 | $111.66 |
| Cost per hour the service was open | $757.58 | $762.20 | $441.92 | $444.61 |
| Cost per shuttle hour | $252.53 | $254.07 | $147.31 | $148.20 |
| Cost per passenger mile | $238.57 | $273.46 | $139.17 | $159.52 |
| If the money is spent | Shuttles | Cost per rider | Cost per hour open | Cost per shuttle hour |
|---|---|---|---|---|
| Evenly across the year (base case) | 3 | $191.42 | $762.20 | $254.07 |
| Evenly across the year (base case) | 4 | $191.42 | $762.20 | $190.55 |
| More heavily early, plus 25 percent | 3 | $239.28 | $952.74 | $317.58 |
| More heavily early, plus 25 percent | 4 | $239.28 | $952.74 | $238.19 |
| More heavily later, minus 25 percent | 3 | $143.57 | $571.65 | $190.55 |
| More heavily later, minus 25 percent | 4 | $143.57 | $571.65 | $142.91 |
What changes with the August extension¶
None of the numbers above cover August. On 19 August 2026, timed to the start of the fall semester, ATL Spoke added a stop at the Atlanta University Center, serving Clark Atlanta University, Morehouse College, Morehouse School of Medicine and Spelman College by way of a new leg north of I-20. The fleet, the noon to 10pm hours and the free fare did not change; Beltline officials describe it as a route extension, not a new service.
This should push cost per route-mile down almost by arithmetic. Our cost model holds monthly cost flat regardless of route length, so a longer route divides the same dollar figure across more miles. Cost per passenger mile should move the same way if the new stops lengthen the average trip, or if they draw more riders, since both put more passenger-miles under the same monthly cost. Neither is guaranteed. Ridership could fail to grow, or growth at AUC could be offset by a drop elsewhere on the route.
No published source gives the added route mileage, so we cannot size either effect yet. We plan to add August data once ABI publishes it, which will let this section move from expectation to measurement.
Cost per ride is highest among selected comparable transportation services and modalities¶
Beep's earlier Cobb County shuttle¶
Beep ran the Cumberland Hopper for the Cumberland CID in Cobb County between July 2023 and December 2024. Two routes linked Cobb Galleria to The Battery. Free to ride, with an attendant on board, carrying eight passengers at 10 to 15 mph. Like ATL Spoke it was built around events, in its case Atlanta Braves game nights rather than World Cup matches.
It carried more than 11,000 riders for about $530,000, which is roughly $48 a ride. ATL Spoke costs about 4.0 times that against its full $3 million budget, or about 2.3 times against the state grant alone.
The Hopper ran less service, mostly on event evenings, while ATL Spoke runs seven days a week for 10 to 16 hours. Per ride the Hopper is cheaper. Per hour of service available it may not be. Its service hours were never published.
Would it be cheaper to pay people to transport themselves instead of via the Beep bus? Most likely, yes.¶
The ATL Spoke figure is what the public pays to run the service. A taxi app fare is what the passenger pays, and excludes the driver's own costs. It also excludes guaranteed wheelchair access, free travel, and a fixed route. The two are not like-for-like prices.
July Ridership¶
June had 20 days inside the World Cup window and 10 outside it. July had 19 inside and 12 outside. So part of the change is that July had a different mix of days, and part is that the days themselves were quieter. Splitting those two apart gives the whole drop.
| Cause | Riders | What it means |
|---|---|---|
| July had fewer tournament days and more ordinary ones | -43 | An effect from the calendar alone |
| Tournament days themselves were quieter | -288 | Atlanta hosted three matches in July, not five |
| Ordinary days were busier than in June | +139 | This pushed the other way and cancelled out part of the fall |
| Total change | -191 | The three causes add up to the full drop |
After the tournament the service settled higher than it started.
There is no reliable weekday or weekend pattern in 62 days. Three of the eight World Cup match days fell on a Wednesday, which lifts the weekday average. And the one day with no reading, 26 July, is a Sunday. Once both are accounted for, weekends run very slightly above weekdays.
With eight or nine readings per weekday, a single missing day moves the answer. Treat day of week as unresolved.
Other Observations¶
1. The drop tracks the World Cup ending, not a cut in service. Ridership followed the tournament. A low base before it started, a jump from 11 June, then a fall as it wound down. Atlanta hosted five matches in June but only three in July. This is a pattern in 62 days of data, not a proven cause. See the limits at the end.
2. Away from the tournament, ridership grew 59 percent. Comparing only the days outside the tournament in each month, daily riders went from 21.5 to 34.2. The monthly total fell while this went up. Some of the rise is ordinary growth in a service that launched on 5 June, six days before the tournament started.
3. July carried fewer riders for the same amount of service. Longer match-day hours in June balanced out July having an extra day, so both months provided almost identical service. Riders per hour of shuttle time fell from 1.51 to 1.33.
4. Match days averaged well above other tournament days, and the gap is not just chance. 78 riders on an average match day against 51 on other tournament days. A statistical test on this comparison gives odds of about 1 in 700 that the gap is random, or about 1 in 50 once the day of the week is accounted for. They were not the busiest days outright, though. 13 June (102 riders) and 14 June (98) were higher than seven of the eight match days, and neither was a match day. Mercedes-Benz Stadium is not on this route, so match demand likely reaches the shuttle indirectly, through the rail line and through Lee+White as a destination.
5. The route was the same in both months, so a route change cannot explain the drop. Both months ran the two-mile Phase 1 loop as ABI Short. The extension to the Atlanta University Center opened in mid-August, after this data ends.
6. There is no reliable weekday or weekend pattern. An earlier version of this report claimed weekdays were busier. That does not hold up. Three of the eight match days fell on a Wednesday, and the one day with no reading is a Sunday. Correct for both and weekends run very slightly above weekdays. With 62 days of data this is unresolved.
7. Each July ride cost $191 against the full $3 million budget, or $112 against the state grant alone. Per rider, that is roughly 13 times a MARTA bus ride on the full budget and 7.6 times on the grant alone. Per passenger mile, a separate measure, it is 25 times and 14 times what Cobb County spends on its on-demand service. The gap between the two bases is the Atlanta Beltline's roughly $1.25 million share, which has never been broken down publicly.
8. Beep's earlier Cobb County shuttle cost about $48 a ride, well below ATL Spoke on either cost basis. The Cumberland Hopper was the same operator running a similar pilot. It ran less service, so the two are not directly comparable on cost per ride alone.
9. The main open question is when the pilot's money was actually spent, and what the non-grant share consists of. If more was spent early in the pilot, June and July cost more than the average month, not less. Monthly spend figures from Beep or ABI would settle it.
Caveats and considerations¶
Correlation is not causality. Regarding the ridership analysis, we observe patterns between the World Cup tournament and ridership and make assumptions that the World Cup is the prime driver of ridership, however, our analysis does not include rider surveys or other additional data that could provide a stronger causal link.
Several things were not measured. Weather, the school calendar, marketing, novelty wearing off, and other Beltline events are all unrecorded and none can be ruled out.
One day is missing and another looks like an outage. 26 July has no reading. 27 July records a single rider between days of 23 and 20.
Every cost figure is an estimate built on assumptions, not on reported cost or hours data. The $3 million total pilot budget is corroborated by three sources: the AJC, which reports the state covering "more than half the costs" ($1.75M of $3M is 58 percent, which checks out); a Civic Atlanta piece that states the figure directly; and BeepThroat, an open-records project, which cites a specific Beltline board document approving a $3 million budget in May 2025. No source we found breaks down what the non-grant ~$1.25 million actually consists of.
Data Sources¶
Ridership comes from two chart-only PDF reports, ABI Ridership Report June 2026.pdf and
ABI Ridership Report July 2026.pdf. Neither contains a table. We rebuilt every number from the
position of the chart points, then ran sixteen consistency checks. All sixteen pass. They
confirm the totals add up; they do not prove every value sits on the right date. analysis.ipynb
has the detail.
Service facts, funding and hours come from Atlanta Beltline and the launch briefing. The soft launch date comes from SaportaReport. Match dates come from WSB-TV.
Comparison figures come from MARTA's scorecard, GovTech and Cumberland CID for the Hopper, the Marietta Daily Journal for CobbLinc, and RideWise for taxi app fares.
Every assumption behind the cost figures is written down in src/service_parameters.py.
About this analysis¶
- This work is a side project, not an academic study. Via an Open Records Act request, I requested data from Atlanta Beltline, Inc., on ridership to see if the hype around these buses matched reality. From my review, I don't think it does.
- Methodology and source data is available at https://github.com/mikehikes/beep-analysis
- If you find something that seems off, feel free to email or create an issue in the repository.
- AI (Claude Code) was used to produce these workbooks and code, based on a methodology I provided to Claude. All code, implemented methods, and writing was reviewed and edited by me (human). Sorry, this would have taken too long and I didn't have the time to build this without that assistance!
- As with any analysis work, this work could contain errors and/or could be improved. Any feedback or corrections are appreciated.
-Michael (m@mikeh.dev)