Some AI spending is audited, dated and free to download. The rest is not published at all. Almost every confusing figure in this area comes from mixing the two, or from mixing four different quantities that all get called “spending”.
Two categories of company, two epistemic worlds
Publicly listed companies — Microsoft, Alphabet, Amazon, Meta, NVIDIA, Oracle, and the listed Chinese platforms — file audited financial statements on a fixed schedule with securities regulators. Their spending is a matter of public record, in specific line items, with a specific meaning defined by accounting standards.
Private labs — OpenAI, Anthropic, xAI, Mistral, and most of the rest — file nothing comparable. What circulates about their spending comes from reporting based on documents shown to journalists, from statements by executives, and from inference. Some of it is probably accurate. None of it is verifiable, and none of it should be quoted with the same confidence as a filing.
The single most useful discipline in this area is to keep those two categories apart in every sentence you write. “Microsoft’s 10-Q reports capital expenditure of X for the quarter” and “OpenAI is reported to spend Y” are different kinds of claim.
The line items that carry the number
| Line item | Description |
|---|---|
| capital expenditure | In the cash flow statement, as 'purchases of property and equipment'. Cash spent on data centres, servers and land. The headline AI-buildout number, and the most-quoted one. |
| finance leases | A separate line, often material. Companies that lease rather than buy capacity report it here, so 'capex including finance leases' and 'capex' differ — sometimes by a lot. Check which any quoted figure used. |
| research and development | In the income statement. Includes salaries and model training costs expensed rather than capitalised. Not AI-specific for any of these companies, so it bounds rather than measures. |
| purchase obligations | In the notes to the accounts, usually under commitments and contingencies. Contracted future spending, including multi-year compute contracts. The most under-read line in the whole filing and often the most informative about the future. |
| segment revenue | For sellers rather than buyers. NVIDIA's Data Center segment and the cloud segments of the hyperscalers are the demand-side mirror of everyone else's capex. |
| useful lives | In the significant accounting policies note. How many years servers are depreciated over. Changing it changes reported profit without changing any cash — see below. |
Getting the numbers programmatically
The US Securities and Exchange Commission publishes every filing free, and exposes the tagged financial data as JSON. You do not need a data vendor for any of this.
# Every filing for one company, by its Central Index Key (CIK):
# https://www.sec.gov/cgi-bin/browse-edgar?action=getcompany&CIK=0000789019
# Full-text search across filings (find the phrase, then read the filing):
# https://efts.sec.gov/LATEST/search-index?q=%22artificial+intelligence%22
# The XBRL API returns one tagged concept across every period a company
# has filed it. This is the capital expenditure line:
curl -s -H 'User-Agent: my-analysis/1.0 (mailto:[email protected])' \
'https://data.sec.gov/api/xbrl/companyconcept/CIK0000789019/us-gaap/PaymentsToAcquirePropertyPlantAndEquipment.json'
# Useful us-gaap concept tags for this question:
# PaymentsToAcquirePropertyPlantAndEquipment capex, cash flow statement
# ResearchAndDevelopmentExpense R&D, income statement
# PropertyPlantAndEquipmentNet the accumulated asset base
# DepreciationDepletionAndAmortization the charge flowing back out
# A User-Agent header with a contact address is required by the SEC;
# requests without one are refused.
Two practical notes. Company facts are reported on the company’s fiscal calendar, not the calendar year, so aligning several companies requires mapping fiscal quarters before any comparison. And the tagged values include both quarterly and cumulative year-to-date figures for the same concept, distinguished by the period start and end dates in each record — adding them naively double-counts, which is the most common error in home-made analyses of this data.
Four quantities reported as one
Headlines about AI spending conflate these constantly. They are related and they are not the same, and the differences between them are large.
| Quantity | Description |
|---|---|
| cash spent | Money that left the bank in the period. The capex line. Backward-looking and audited. |
| committed | Contracted future spending, in the purchase obligations note. Real, but spread over years and sometimes cancellable. A multi-year commitment reported as an annual figure overstates by the number of years. |
| announced | A press release about an intention. Not audited, not contracted, and frequently re-announced — the same money can appear in three headlines a year apart. Announced investment totals are the least reliable figures in this area. |
| expensed | What hits the income statement this period. Capitalised hardware is expensed over years through depreciation, so cash spent and cost recognised diverge sharply during a buildout. |
Converting a multi-year announcement to an annual run rate:
annual_run_rate = announced_total / years_stated
A "$50 billion over five years" announcement:
50 / 5 = $10 billion per year
Compared against a company already spending $40 billion a year in
capex, that announcement is a 25% increase, not a new $50 billion.
Half the confusion in this area is this single division not being done.
The accounting choice that moves profit
One disclosure in the accounting-policy note deserves more attention than it gets: the useful life assigned to server hardware. It is disclosed, it is a judgement, and it changes reported profit by billions without changing a single dollar of cash.
annual_depreciation = asset_cost / useful_life_years
$40 billion of servers:
over 4 years: 40 / 4 = $10.0 billion per year of depreciation
over 5 years: 40 / 5 = $ 8.0 billion per year
over 6 years: 40 / 6 = $ 6.7 billion per year
Extending the assumed life from four years to six raises reported
operating profit by $3.3 billion a year, with no change to the cash
spent or the hardware bought.
Whether it is justified is an empirical question about how long AI
accelerators stay economically useful — which, given how quickly each
generation is superseded, is a question worth asking of any company
that extends its assumption during a buildout.
This is the kind of figure that is both fully disclosed and almost never quoted, which makes it far more useful than another announcement-derived number. The broader economics are in AI capital expenditure and inference margins.
What is genuinely unknowable
- Private lab operating costs. No filings exist. Revenue, gross margin, training spend and headcount cost for the private labs are not public, and figures attributed to them come from documents shown to reporters under confidentiality.
- The cost of any individual training run. No company discloses it. It can be bounded from the compute estimate multiplied by a rental rate, and that bound is wide because negotiated rates for large committed capacity bear little relation to public hourly pricing.
- How much of a hyperscaler’s capex is AI. Capex is not segmented that way. A company can say on a call that most of it is AI-related, and that statement is management commentary rather than an audited disclosure.
- Circular arrangements. Where a supplier invests in a customer who then buys from the supplier, the same money can appear as investment and as revenue. The related-party and revenue-recognition notes are where any of this becomes visible, and it usually becomes visible slowly.
- Whether any of it is profitable. Segment reporting is not granular enough to isolate the economics of model serving at any of these companies. Anyone who tells you the margin on inference at a named provider is estimating — see AI unit economics for how such an estimate is built and what it rests on.
Filings arrive quarterly and the figures in them change every quarter by large amounts during a buildout. Always cite the specific filing, the period and the line item, and pull the current value from EDGAR rather than repeating one from an article.
Top comments (0)