Base rates · September 2026

The AI power queue
is mostly vapour.

Every forecast of the AI buildout quotes the interconnection queue — 466 GW waiting in ERCOT, 699 GW in MISO — as though it were a pipeline. I pulled 10,996 requests with known outcomes from four grid operators. About one in five gets built. Above 1,000 MW, it is one in nineteen.

10,996
interconnection requests, four ISOs, with outcomes
17–21%
of resolved requests were built
5.3%
for requests of 1,000 MW or more
0
of it behind a login — the source URL is below

MISO, NYISO, CAISO and ISO-NE. PJM needs a free key; ERCOT blocks scripted access; SPP timed out.

Size is the whole story

Attrition is monotone above 100 MW, and the largest bucket is an order of magnitude worse than the smallest. Wilson 95% intervals, because several of these sit close to zero where the normal approximation misbehaves.

capacitynbuilt95% CI
under 20 MW1,02428.8%26.1–31.7
20–100 MW1,63919.0%17.2–21.0
100–300 MW1,65423.9%21.9–26.0
300–1,000 MW68012.6%10.4–15.4
1,000 MW and above1695.3%2.8–9.8
The AI datacenter story is entirely gigawatt-scale — the one size class that historically almost never completes.

By fuel, after normalising four different ISO vocabularies onto one set: gas 33.1%, solar 23.2%, wind 19.5%, storage 9.5%.

Why it is a range and not a number

Dividing built by built-plus-withdrawn over everything gives 14.2%. That is too low, and the reason matters: a request filed in 2024 has not had time to be built, so counting it now records censoring as failure.

Rates are therefore computed per queue-year cohort, and a cohort is only quoted once at least 90% of it has reached a terminal state. On that basis the answer is 21.4% across 5,436 requests.

That number is biased the other way. 1,354 resolved records carry no queue date and drop out of every cohort — and they are 1,351 withdrawals to 3 builds, mostly pre-2000 rows. Put all of them back and the rate is 17.2%.

So: 17.2% to 21.4%. Neither end is quoted on its own, because either one alone would be a choice about which bias to hide.

Two bugs I hit, in case you are doing this too

Mixed date formats silently destroyed 7,400 of 9,640 dates. The four ISOs write queue dates four ways — 2003-11-18 08:00:00, 1/14/2025, 2025-10-08T00:37:52+00:00, 2008-01-30. pandas.to_datetime infers one format from the first non-null value and coerces everything that disagrees to NaT. 84% of dates vanished, and the loss is indistinguishable from ordinary missingness. It surfaced only because the script cross-tabulates date-missingness against outcome before trusting any cohort.

Unnormalised fuel labels invented a finding. The first table read Solar 32.1% beside Photovoltaic 13.0%, and Wind 19.1% beside Wnd 26.9%. Same technologies, different ISO vocabularies — the gap was measuring which ISO the rows came from. Anyone reporting that split would have published an artifact.

What this does not show

Fuel and ISO are not independent, so the fuel numbers are not a controlled comparison. CAISO’s public queue report stops at March 2023. MISO’s queue only begins in 2015. “Completed” means an interconnection agreement completed, not that electrons flowed. And these are historical base rates — no model is fitted here and no forecast is offered.

Nor does it cover the two markets you most want: ERCOT publishes large load only in aggregate and blocks scripted access, and PJM sits behind a free API key.

Check it yourself

MISO serves its entire queue — 3,828 requests with status, county, capacity and dates — from one unauthenticated URL:

https://www.misoenergy.org/api/giqueue/getprojects

Count the withdrawals. It takes about a minute, and you do not have to take my word for any of the above.

Why believe these numbers

Because the last time I measured my own work, it failed. I built a signal product on public financial data, tested whether it predicted anything, and zero of fifty-one hypotheses survived Benjamini–Hochberg correction. I withdrew the product and published the null with its power calculation attached. A ranking I had been about to sell turned out to be 90% Unix timestamp.