Three levers, one fleet
The Allen Bill (B26-0684) would admit robotaxis to Washington, D.C. on three main conditions: operators must serve every ward at comparable wait times (wait-time parity), each operator may field only a limited number of vehicles (a vehicle cap), and every mile driven owes the city a fee (a VMT fee), on top of the District’s existing 6% per-trip ride-hail tax. Each mechanism answers a real concern, and each is defensible on its own. The difficulty is that all three act on the same moving parts — one fleet, one fare, one pool of riders — so each lever changes what the others can deliver.
This page explains each mechanism, then shows three places their goals collide. Every number is computed live by the same model that powers the sandbox — an illustrative Tier 1 model of directional logic, not a forecast (see the methodology, Section 5).
1 Wait-time parity
A service mandate, not a fee. Operators must position their vehicles so that riders east of the Anacostia River wait roughly as long as riders anywhere else. It is a rule about where the fleet must be, enforced regardless of whether those trips are profitable.
Left to profit, operators concentrate vehicles where demand is dense and trips are cheap to serve — Downtown, Dupont, Capitol Hill — and thin out in Wards 7 and 8, which have lower demand density and higher per-trip cost. That is the coverage pattern D.C. saw with human-driven ride-hail. Parity exists to prevent it: its goal is spatial equity. The closest real-world precedent is New York’s rule that 90% of wheelchair-accessible-vehicle requests be met within 15 minutes.
Parity is not free. Repositioning empty vehicles into low-demand wards adds about $1.20 of cost per trip, and the model assumes operators recover roughly 70% of that (≈$0.85) through higher fares on every ride, citywide. Deadheading also cuts fleet-wide productivity by about 18%. The key limitation: parity redistributes vehicles; it does not add any.
2 Vehicle caps
A hard ceiling on how many AVs each licensed operator may deploy. For scale: 400 vehicles is about 0.07% of the ~588,000 vehicles present in the District at a weekday midday peak.
Limit the downside while the technology proves itself: congestion, curb crowding, and safety exposure all scale with fleet size, and a cap keeps the experiment small and reversible. New York’s 2018 freeze on ride-hail vehicle licenses is the most-cited precedent.
The cap is also a ceiling on service, and the arithmetic is unforgiving. In the model each AV can serve at most ~18 trips a day, so 400 vehicles top out near 7,200 trips — against a baseline demand of 50,000 trips a day. When the cap binds, there is excess demand in every ward, and wait times rise everywhere.
3 Per-mile (VMT) fees
A charge on every mile an AV drives. AVs are electric, so they pay no gasoline tax — the mechanism that funds road upkeep for ordinary cars. A vehicle-miles-traveled (VMT) fee is the closest equivalent way to make them contribute.
Two goals: make AVs pay their share of road costs, and raise revenue. A useful yardstick: a typical gasoline car contributes about $0.015 per mile through D.C.’s gas tax. The bill’s $0.15/mile is roughly 10× that — so it is best read as a revenue measure, not just parity with the gas tax.
Fees flow into fares (the model assumes full pass-through), and higher fares mean less ridership. Less obviously, the fee’s revenue depends on how many miles are actually driven — which is set by the vehicle cap, not by the fee rate. That dependency is the third collision below.
Where the goals collide
Each mechanism works as intended in isolation. Combined, they interact — sometimes against each other. Three interactions matter most.
Parity can only share what the cap allows to exist
Wait-time parity is a distribution rule; the vehicle cap is a quantity rule. Parity decides how the fleet is spread across wards — it has no power over how big the fleet is. So the mandate’s promise is only as good as the cap behind it. With 400 vehicles chasing tens of thousands of daily trips, parity spreads scarcity evenly: Ward 2 waits 34 min and Ward 8 still waits 54 min — nobody gets service worth using. Notice what parity did at this fleet size: it barely improved Ward 8 (vs. 56 min without the mandate) while pushing Ward 2 from 25 min to 34 min. Quadruple the fleet, and the same mandate delivers: Ward 8 waits fall to 14 min, within a few minutes of downtown.
| Scenario | Ward 2 wait | Ward 8 wait | Trips/day | Coverage |
|---|---|---|---|---|
| 400 AVs, parity onthe bill | 34 min | 54 min | 5,904 | 8% |
| 400 AVs, parity off | 25 min | 56 min | 7,200 | 13% |
| 1,600 AVs, parity on | 9 min | 14 min | 23,616 | 61% |
| 1,600 AVs, parity off | 6 min | 17 min | 28,800 | 65% |
The equity mandate pulls against equity
Parity’s costs don’t vanish — they surface in the fare, about $0.85 on every trip citywide. Stack the other fees on top and the fare climbs toward the point where lower-income riders stop being able to ride at all (the model prices that threshold near $25, versus $100 for high-income riders — so each added dollar of fare bites hardest at the bottom). Hold the fleet at 1,600 vehicles and raise only the fee stack: low-income access falls from 19% to 16% — a 17% drop — while high-income access barely moves at all. This is the tension documented by Gao & Li (2023): mandates and fees that improve spatial equity (which wards get served) can worsen social equity (who can afford to ride), because the same rule that spreads vehicles also raises fares.
| Scenario | Fare | Spatial equity | Low-income access | High-income access |
|---|---|---|---|---|
| 1,600 AVs, parity off, bill fees | $16.35 | 70/100 | 22% | 62% |
| 1,600 AVs, parity on, bill fees | $17.20 | 77/100 | 19% | 54% |
| 1,600 AVs, parity on, heavy fees | $18.65 | 75/100 | 16% | 54% |
The fee needs the trips the cap removes
VMT revenue is fee × miles driven, and miles driven are set by how many trips the capped fleet can serve. Under the bill’s 400-vehicle fleet, the entire fee package — VMT fee plus the 6% trip tax — raises about $2.9M a year. The identical fee schedule on a 4,800-vehicle fleet raises about $23.3M — roughly 8× more, at the same rates. And when the cap binds, the fee rate stops affecting service at all: at $0.00/mile the model serves 5,904 trips a day, and at $0.50/mile it serves 5,904 — the same number, because unmet demand simply absorbs the riders the fare scares off. A mayor who wants road-funding revenue from AVs is therefore choosing it mostly with the cap lever, not the fee lever.
| Scenario | Trips/day | Revenue/day | ≈ Revenue/year |
|---|---|---|---|
| Bill fees, 400 AVsthe bill | 5,904 | $7,970 | $2.9M |
| Same fees, 4,800 AVs (1,200 × 4 operators) | 47,336 | $63,904 | $23.3M |
The pattern
Parity chooses where service goes, the cap chooses how much service can exist, and fees choose who pays — but each lever leaks into the others’ territory. Parity raises fares; the cap shrinks both service and fee revenue; fees reach the very riders parity is meant to protect. None of this says any lever is wrong. It says the levers have to be set together, with the interactions in view. That is what the sandbox is for.