Research

What AI assistants name when a buyer asks about SaaS spend

On 30 October 2026 we wrote forty questions a small-company finance lead would actually type into an assistant: how to find unused subscriptions, how to audit spend before a renewal, which tool reads invoices out of a mailbox. Then we asked four models the same forty questions through one endpoint and kept every answer verbatim. This page counts what came back — which product names appeared, how often, and in whose answers.

Questions
40
Models
4
Answers kept
151
Names counted
24

How the run worked

  1. The forty questions were written before the first call and have not been edited since. They live in the same repository as the page generator, as a plain JSON file.
  2. Every call went through one OpenAI-compatible endpoint at temperature 0.2, with no tools and no web browsing. The answers come from what each model already knew, which is the condition a buyer meets when they type the question into a plain chat box.
  3. Each call is one JSON line: model, question, HTTP status, latency, token usage and the answer text. A retry appends a line. Nothing is overwritten, so a failed call cannot quietly replace a good answer.
  4. Counting is a case-insensitive whole-word match against a fixed list of product names written before the run. A name counts once per answer, however many times the model repeats it.

Every name the models used

Answers counted: 151 of 160 attempts, across 4 models and 40 questions. Share is that name's answers divided by 151 — the same denominator for every row, so two rows can be compared directly.

The 9 attempts that produced no usable text are in the denominator and nowhere else: 7 stopped at the token ceiling while the model was still reasoning, 2 were refused by a rate limit. Neither was retried into the count.

ProductKindAnswersShareglm-4.5glm-4.7glm-5.1glm-5.3
SlackNamed as a subscription7449%1821269
OktaNamed as a subscription6543%20161514
VendrSpend management6442%18121915
ZyloSpend management6342%9142020
RampSpend management6342%14171715
MicrosoftNamed as a subscription6040%14142210
ToriiSpend management5738%13121220
CledaraSpend management5536%17121313
ProductivSpend management5234%10141414
BrexSpend management5234%12151312
JiraNamed as a subscription3121%91192
BetterCloudSpend management2718%78120
NotionNamed as a subscription2315%5873
NetSuiteSpend management2013%5564
AirbaseSpend management1913%5446
ExpensifySpend management1812%6372
TropicSpend management1611%8332
FlexeraSpend management1611%2554
ServiceNowSpend management128%1524
SAPSpend management107%2242
Google SheetsNamed as a subscription107%3232
Snow SoftwareSpend management96%2322
SastrifySpend management85%0008
TrelicaSpend management85%2330

“Spend management” means the product sells software that finds or controls SaaS spend, including procurement platforms, corporate cards with spend controls and ERP suites that carry the same question. “Named as a subscription” means the model reached for it as an example of something a company pays for month after month. That second group is not competition; it is what the assistant puts in front of the reader while answering.

What these counts can and cannot tell you

Where SaaSClerk lands

Zero of 151 answers named SaaSClerk. We sell the thing these questions describe, and no model brought us up once. That is the result we are least happy about, and the reason this page exists. Discovery for this category now happens inside assistants, so being absent from that surface is a distribution problem more than a ranking one — and a distribution problem is the kind you can measure, publish and work on.

If you want the other side of the same question for your own site, the free AEO scanner reports whether an assistant can read it at all: crawler rules in robots.txt, llms.txt, sitemap, structured data, heading structure, and one live model asked about the brand.

Reproduce it

Three Node scripts in the project repository produce this page: ai_citation_run.cjs calls the endpoint and appends rows, ai_citation_analyze.cjs de-duplicates retries and counts names, ai_citation_publish.cjs writes the JSON this page imports. No figure above is typed by hand; every one is read from that file at build time. Average answer length in this run: 4664 characters.

Get the list for your own company

Scan one mailbox free at saasclerk.app. Twelve months of billing email in, one subscription inventory out, with the renewal dates that are actually coming.