blog

September 11, 2026

AI read 5,517 pages about cash forecasting. It cited 745.

I tediously ran 160 fresh ChatGPT sessions on cash flow forecasting software to capture not just the answers but the full sources panel behind each one.

The gap between those two layers is where almost every “we don’t show up in AI” conversation is actually happening.

I looked at one surface. Buyers still arrive through search, peer referral, analyst shortlists and RFPs. None of that stopped. What changed is that one surface now assembles a shortlist before any vendor knows an evaluation started. That surface can be measured, so I measured it.

ChatGPT read 5,517 pages to answer four questions about cash flow forecasting software. It footnoted 745 of them. The median answer read 26 pages and cited 5, so the layer you can inspect is about a seventh of the layer that decided the outcome and if your read on AI visibility comes from checking which answers link to you, that seventh is all you have ever seen.

13.5% of what gets read got a footnote.

A ChatGPT answer recommending five cash flow forecasting platforms, with the sources panel open beside it listing 78 pages.

How it was measured

160 runs. Four prompts at 40 runs each, every run a fresh temporary chat with memory off, free tier, reasoning toggles at default, from an IP in Málaga. Prompts were rotated P1 → P2 → P3 → P4 rather than run in blocks, so prompt is not confounded with time of day.

The artifact that makes this dataset unusual is ChatGPT’s View sources panel. It lists every retrieved page in displayed order, footnoted or not.

Two prompts ask the category question. Two describe a treasury team in trouble. The two are never pooled with each other, a rule I fixed in writing before analysis rather than after seeing which grouping flattered a conclusion.

The three layers

LayerWhat it isTotal across 160 runsMedian per runMeanRange
RetrievedEvery page in the sources panel5,5172634.58–116
CitedAttached to a numbered footnote74554.72–8
NamedPresented to the buyer as an option95465.82–10

Of the 954 shortlist slots, 936 name a single product. The other 18 are cells naming two or three products at once or naming none — five of those offered “build it yourself in Excel + Power BI”, which appeared as a shortlist row in 6 of 160 runs.

Retrieval is prompt-dependent and the medians differed: P1 63, P2 25, P3 24, P4 22. One average across all four would hide that.

Four failures wearing one sentence

“We don’t show up in AI” is not one problem. Four different things can happen to a vendor in this funnel and they call for opposite work.

Never retrieved. Your pages are not in the panel at all. This dataset can only show what was retrieved, so I cannot give you a count of the vendors who never got read. That is a real hole in the method rather than a rhetorical one. But having spent a lot of time in the space, I noticed some surprising omissions.

Retrieved, never cited. The page was read. The answer credited something else. 4,772 of the 5,517 retrieved pages end here, along with 86 distinct domains that were retrieved and never cited once.

Cited, not named. Your content built the answer that recommends somebody else.

Named without your content. 35% of namings happened in runs where the named vendor had not one page in the panel. GTreasury in 60 of its 71 namings, TIS 34 of 37, ION Treasury 14 of 14.

I am not going to rank those by severity. Which one you are in is an empirical question about your own domain rather than a matter of judgment, which is the entire argument of this series.

Coupa, read 59 times and quoted zero

I found it very interesting that coupa.com supplied 59 retrieved pages across 8 runs and was cited zero times. It is the largest read-and-never-cited vendor domain in the dataset.

I don’t think this actually matters to Coupa as they were still named in 5 of those 8 runs. Across all 160 runs it was named 25 times without a single citation to a page of its own. Two separate things are happening to one vendor at the same time: the product enters answers while the pages do not.

For scale, the other end. kyriba.com supplied 1,287 pages and earned 167 citations, present in 137 runs with its product named in 136 of them.

Bar chart of pages retrieved against pages cited. coupa.com: 59 retrieved, 0 cited, present in 8 runs. kyriba.com: 1,287 retrieved, 167 cited, present in 137 runs.

What it means for your positioning

You cannot write a message for a stage you have not identified.

A vendor that never appears in the panel has a discovery problem. A vendor read 59 times and cited zero times has a page that is being evaluated and found wanting, which is a positioning problem.

The message is fixed while the market’s language moves around it, so the first job is finding out which stage the gap opens at. A content budget aimed at the wrong stage produces pages that are read and ignored, which looks like healthy activity on every dashboard you own.

The five-minute version

If you want your own number before you finish reading, it takes one run.

Open a temporary chat. Ask the question your buyers actually ask. Not your category name, the sentence they would type. Read the answer, then open View sources.

Count four things. How many pages are in the panel. How many of those are yours. How many footnotes are in the answer. How many of those are yours.

What I’d test next if this were my product: pull the list of my pages that actually appear in the panel, then compare it to the five pages I’d have chosen to be judged on. In this dataset those two lists were rarely the same. The gap between them is a positioning brief.

The limit

The sources panel is what ChatGPT chose to display, not a verified retrieval log. I captured page titles rather than page bodies. I might explore the actual content of these sources at a later stage. One platform from one vantage point: ChatGPT free tier, default reasoning, from Málaga. Nothing here transfers to another assistant without running it there.