Check the Denominator

A number reached me four times on Tuesday, from four directions, each time a little more confident than the last.
Meta's Muse agent would need 1.58 million CPUs to serve 100 million users.
By the fourth pass it had lost the conditional, the source and the sensitivity analysis. It was a fact now. A fact about how much silicon agentic AI eats.
So I opened a calculator, because that takes ninety seconds and it has saved me from being publicly wrong more times than any other habit I have.
Where the spec actually came from
Start at the bottom of the chain, because the bottom of the chain is the whole story.
Meta has not published a per-user sizing figure for Muse. What Meta published is an architecture: each user gets a dedicated virtual machine that holds both the agent and their data. Dedicated VM, yes. Two vCPUs and eight gigabytes of RAM, no — that is not from Meta.
It is from a reporter who asked their own Muse agent what it was running on, and wrote down what it said.
Two vCPUs. 7.7 GB of RAM. A 100 GB home volume with 1.7 GB used. No GPU. And a specific processor by model number: an AMD EPYC 9D25.
That is `nproc` and `free -h`, read out loud by a language model describing the inside of its own guest. The piece that published it said so plainly and attached a disclaimer: "These are one agent's measurements of its own machine. Meta publishes none of it, none of it is a commitment, and your account may differ."
7.7 gigabytes, incidentally, is what an 8 GB VM reports after the kernel takes its cut. Which tells you the provisioned figure is probably right, and tells you precisely nothing about what the host underneath has actually reserved.
Hold onto the part where the agent named the chip. We come back to it.
The arithmetic is not correct
The version everybody repeated goes: 100,000,000 users × 2 vCPUs = 200,000,000 vCPUs, divided by 126 cores per socket = 1,587,301 sockets.
Three things are wrong before you get anywhere near the assumption people are actually arguing about.
One. A vCPU is not a core. On every major cloud, one vCPU is one SMT thread. A 128-core EPYC presents 256 of them. If you are dividing vCPUs by something, you divide by threads per socket — and the socket count halves before you have done anything clever.
Two. There is no 126-core EPYC. Not in Bergamo, which tops out at 128 cores and 256 threads. Not in Turin, which is also 128. Turin Dense is 192. The Venice Dense parts are 256. Nobody has ever shipped 126. The divisor of the entire calculation is not a product you can buy — and the original source named the actual part in the actual machine. Somebody threw away a real model number and substituted an imaginary one, then divided to six significant figures.
Three. A provisioned vCPU is not reserved silicon. It is a scheduling entitlement. Hypervisors overcommit, because overcommit is the entire commercial logic of selling virtual machines, and a fleet of mostly-idle two-vCPU boxes is the single most overcommittable workload anyone has ever built.
Run it again on a part that exists. 200 million threads on a 128-core Bergamo, at 256 threads a socket, is 781,250. On a 256-core Venice Dense part it is 390,625.
Somewhere between two and four times too large, purely from unit confusion and picking a chip out of the air. Nobody caught it because everybody was looking at the number on the left.
Three resources, three denominators
Now the assumption everybody is arguing about, which is also being argued about wrongly.
It gets stated as "this assumes 100% concurrency." That is not quite it, and the sloppiness matters, because the three numbers in that spec do not scale with the same thing.
CPU scales with concurrency. An idle VM burns approximately nothing.
RAM scales with residency, not concurrency. If those boxes stay resident instead of being hibernated to disk and restored on demand, you are holding the memory whether the user is there or not. That is an engineering choice Meta has not disclosed, and it is a far more interesting question than the CPU one.
Storage scales with registered users. Full stop. 100 GB a head across 100 million accounts is 10 exabytes, and no concurrency argument touches a byte of it, because the disk is still there while you sleep.
So the honest version: the CPU figure is inflated several times over, the RAM figure depends on a hibernation policy nobody outside Meta knows, and the storage figure is the only one in the set that survives at full size — and it is the one nobody bothered to repeat.
I am not going to hand you a universal concurrency constant, because there isn't one and anybody who quotes you one is doing the thing this article is about. Peak concurrent sessions as a share of monthly actives lands in the low single digits of a percent for most session-based consumer products I have sized. As a share of daily actives it is routinely ten to thirty percent. For a product where one invocation runs for twenty minutes it goes higher still. Different numbers, different denominators, and quoting one without saying which is how you end up in an article like this one.
Who actually got this right
Here is where I have to be careful, because the easy version of this piece finds whoever is at the bottom of the chain and makes an example of them, and the easy version would be wrong.
The tweet that started it said: every Muse user is supposed to get their own cloud PC, 2 vCPUs, 8GB RAM, 100GB disk — if Meta actually leaves those boxes on, user growth turns into a chip and memory problem.
Read it again. There is no 1.58 million in it. There is a spec, a conditional, and a named mechanism. That is the same structure I am about to praise Jamie Dimon for. By my own standard, the guy at the bottom did it right, and I am not going to pretend otherwise because it would make my three-way symmetry neater.
The 1.58 million was computed downstream, by a trade site, from that spec. And even that piece kept "under ideal conditions" in its own headline and ran both a 10% concurrency case and a 50% case in the body. It showed its work. It also divided by a CPU that does not exist, printed 100 petabytes of RAM in the body against 800 in its own headline, and called the chip an "AMD Ryzen EPYC" — and I will take all three of those. But it did not hide anything.
(On "Ryzen EPYC": that is a copyedit miss, and I want to be honest about how weak a tell it is. Ryzen is the client brand and EPYC is the server brand, but AMD does ship EPYC 4004 and 4005 parts in Socket AM5 — the same socket as a desktop Ryzen, same two memory channels. If you want to be pedantic at me about those two words appearing together, you have a case. The 126 is the real tell. Brand names are style. A divisor that doesn't exist is arithmetic.)
The damage happened after all of that, in the retelling, where the conditional and the sensitivity cases and the attribution all fell off and the biggest number in the article became the only number in the article.
There is no villain in that. It is transmission loss, and it is the most boring and most expensive failure mode in this business. I have watched a number lose its footnotes crossing four slides inside one company. This one lost them crossing an industry in about seventy-two hours, and the first link in the chain was a language model doing introspection.
The check nobody ran
Here is the thirty-second version of capacity planning that would have stopped this at the door, and it is not arithmetic. It is physics and a purchase order.
Take the claim at face value: 1.58 million sockets. High-core-count EPYC parts draw somewhere between 360 and 500 watts; call it 400. That is roughly 635 megawatts of CPU package power alone. Processors are somewhere near half of system draw in a CPU-heavy box, so call it 1.3 gigawatts of IT load, and at a realistic PUE, something near 1.5 gigawatts at the meter.
Every one of those assumptions is arguable and I am showing you all of them so you can re-run it with your own.
One and a half gigawatts is not a data centre. It is a fleet. It is on the order of two percent of ERCOT's all-time peak demand — for one feature, of one app, at a user count that has not been reached. And the cheque is worse than the power: at even $8,000 a socket you are at $12.7 billion in processors, before boards, before 800 petabytes of DRAM, before buildings.
That is the check. Does this fit inside the physical world, and could the company write the cheque? When the answer is no twice, you go back and find the unit error. There was one. It was the vCPU.
A number that size crossing my desk with no power figure and no bill of materials attached, I would not have argued with. I would have sent it back.
The second number: a measurement that was never taken
Meanwhile, in Texas.
On September 21st the governor directed the TCEQ to stop issuing environmental permits for data centres pending audits by ERCOT and the Texas Water Development Board, and told every other state agency that no regulatory approvals for data centres move forward either. No fixed end date. It runs until the audits are done.
A note on what that actually freezes, because I have seen it described backwards twice this week. TCEQ issues air permits — New Source Review and standard permits — plus industrial wastewater and stormwater. If you are building behind the meter, bringing your own on-site gas generation so you never touch the ERCOT interconnection queue, you have not routed around this order. You have walked into the middle of it, because on-site combustion is exactly the thing TCEQ permits. Behind the meter is a way around grid interconnection review. It is not a way around air permitting. Two agencies, two questions, and the order in front of us is the second one.
The part I cannot stop thinking about is what came before it.
Texas has been asking data centres how much water they use, and mostly not being told.
There were two surveys. The voluntary one, run by the PUC with the water board, came back with responses from 28 companies covering 92 facilities — against a denominator the agency could not produce when legislators asked for it. Staff said out loud what everyone already knew: there is no incentive for operators to send the information in.
The water board's survey is the mandatory one, and it went the other way. It has expanded from 22 data centres in 2023 to 341. A third responded in 2024. Seventeen percent responded in 2025. The penalty for ignoring a mandatory state survey is a Class C misdemeanour with a maximum fine of five hundred dollars.
Five hundred dollars, for a facility with a billion dollars of transformers in the yard, is not a penalty. It is a subscription fee.
That is the number I would put on the slide. Not the voluntary one — the voluntary one has no denominator, and putting a bare "28" next to a percent sign is how this whole article started. Seventeen percent compliance with a mandatory survey, against a five-hundred-dollar fine, in the state with the largest concentration of this build-out in the country.
The industry's stated reason is confidentiality — that operators have to protect proprietary and competitive information and that the agencies should aggregate and anonymise. That is a real argument and I am not going to strawman it.
I also do not think it is the whole story, and I am labelling that as speculation, which is the entire point of this piece. I have been on the receiving end of that email. It lands in a shared inbox. It goes to someone in facilities who does not have the number either, because the meter is on the landlord's side and the cooling contract is with a third party and the real figure lives in a PDF from 2023 that nobody can find. Then it goes to legal, and legal has a perfectly good confidentiality answer ready, and that answer is cheaper than the measurement.
Both things are true at once. Some of them are protecting a number. Some of them do not have one. A five-hundred-dollar cap means nobody ever has to find out which.
The third number: a forecast that admits it is one
Jamie Dimon, at JPMorgan's India conference on Monday and reported by CNBC: hyperscaler spending could reach a trillion dollars in 2027. His reference points were roughly $300 billion last year and about $700 billion this year. On the macro effect he said, and this one is verbatim: "That's like 1% increase to GDP each year." He allowed it may add a little to inflation, and that AI could eventually run the other way and be deflationary.
I have much less complaint about this one, and I want to be precise about the much less.
He gave a baseline. He gave a rate of change. He named mechanisms in both directions and put the forecast in the conditional. That is what a number looks like when the person saying it is willing to be graded on it later.
The 1% is softer than it sounds. One percent of which GDP, and one percent of the level or of the growth? If it is US GDP, a $300 billion increase in annual capex is indeed around one percent — but that is a contribution to growth in a single year, not a permanent step, and a meaningful share of it is imported equipment, which does not land in domestic GDP the way the sentence implies. Directionally fine, with a denominator you have to reconstruct yourself.
Which is the mildest possible case of the same disease. It is still the disease. I am including it because a piece that hands one of its three subjects a clean bill of health is not an audit. It is a preference.
The rule
One rule, and it is embarrassingly simple.
When a number arrives without its denominator, go and find the denominator before you repeat it.
1.58 million per what? Per a hundred million always-resident VMs, divided by a processor that is not for sale, in units that were never cores.
Water usage across what population? Across 341 mandatory surveys, of which 17% came back, against a five-hundred-dollar fine.
A trillion dollars under what condition? Under a conditional — and one percent of a GDP nobody specified.
None of this was clever. It was reading the sources, which took an afternoon, and checking whether the divisor was a product you could buy, which took ninety seconds and is the step everybody skipped.
I am not smarter than the people who passed these along. I am just the guy who has been humiliated in a meeting by a number he did not check, which is a very effective teacher and an expensive one.
Somewhere there is a bar with genuinely terrible lighting and a man shouting at a television about a manager who used eight pitchers in one game. He is not checking anything. He is having a much better evening.
Terminal's still open.