简答:AI 回答里的声量份额,就是你的品牌被点名的次数,除以回答里所有品牌被点名的次数之和;要在一组固定的买家问题上算,并且每个引擎分开算。想得到一个经得起追问的数字,靠的是六步:固定问题集、记录每个引擎怎么跑的、保存回答原文、把所有品牌都抽出来而不只是名单上的、逐个引擎计数,最后把分母和份额并排报出来。

这篇用一个小例子把六步走一遍。姊妹篇 AI 答案里的品牌份额讲的是另一面:别人交给你一个份额数字时,怎么读、怎么查。

步骤防住的错误1固定问题集并打上版本号品牌名带来的回声;分母在漂移2每轮记录引擎与是否联网检索把方法改动读成品牌进步3保存回答原文,也保存失败超时被算成「未提及」4抽出所有品牌,合并别名只认名单导致份额虚高5每个引擎分开计数一个哪个引擎都描述不了的平均数6在份额旁边写明分母看不出份额是在多大盘子里算的
图 1 测量 AI 声量份额的六个步骤,以及每一步防住的错误。每一步都在保护下一步。来源:本文的测量规则。

顺序之所以要紧,是因为每一步都在保护下一步。问题集在漂移,计数做得再仔细也救不回来;没存回答原文,计数做得再仔细也没法核对。时间紧的话,宁可少问几道题,也别省掉任何一步。

第一步:测声量份额之前,先把问题集固定下来

这件事里的每一个百分比,分母都是问题集。问题集在两轮之间变了,数字就会变,哪怕你的可见度其实纹丝未动。三条规矩让问题集保持诚实:

  • 题面里不出现品牌名,你的和竞品的都不行。你问助手「某某公司靠不靠谱」,它当然会点那家公司的名。这测不出品牌会不会自己浮现出来。
  • 写成带处境的完整句子。带预算、限制条件或使用场景的问题,点名的品牌集合和光秃秃的品类词完全不同,而买家本来就是用句子在问。
  • 每道题都标上意图,这样「调研类问题里份额高、购买类问题里份额低」这种情况才能被看见,而不是被平均掉。

把问题集冻结,并给它一个版本号。怎么写一组这样的问题,见搭建提示词集。

第二步:记下每个引擎是怎么跑的

每一轮都要记录:问了哪些引擎、是否开启了联网检索。这些是量尺的一部分,不是细节。有一次开启检索,某个站点从 3% 跳到 13%,而站点本身什么都没做;要是画成趋势,就等于把一次测量方式的改动,当成品牌自己的进步报了出去。

检索还决定了引擎看得到什么。开启检索后,回答能不能用上你的页面,取决于引擎的搜索代理和用户触发的代理抓不抓得到:ChatGPT 对应 OAI-SearchBot 和 ChatGPT-User,见 OpenAI 的爬虫文档;Perplexity 对应 PerplexityBot 和 Perplexity-User,见 Perplexity 的爬虫说明。如果份额下滑恰好和一次 robots.txt 或 CDN 改动同时发生,那是访问问题,不是口碑问题。

并不是每个引擎都能这样核对。xAI 没有公开文档化的爬虫 User-Agent,所以 Grok 的访问情况没法按名字确认;把它作为已知缺口写进这一轮的记录里,而不是默认「应该没问题」。每一轮的市场和语言也要记下来:同一个问题换一个地区问,就是另一个问题,回答里点名的品牌也会是另一批。

第三步:保存回答原文,也保存失败

每条回答都要存全文,连同引擎、问题、日期和被引用的 URL。没有原始回答,你就分不清是计数出了 bug 还是真的变了,而这两种情况你迟早都会碰到。

失败也要存。模型超时或请求失败时,正反两面都没有产生证据。这一格应记为「未测量」,而不是「未提及」,并且把尝试数和完成数并排报告。把失败当成 0,会把份额往下拽,让一个正常的月份看起来像在下滑。两者的区别见术语表里的未测量不等于零。

第四步:把每个品牌都抽出来,并合并别名

回答里点到的每个品牌都要抽出来,而不只是你竞品名单上的那几家。如果对自家品牌宽松匹配、对竞品只认一份固定名单,名单外的品牌就全部掉出分母,你的份额从结构上就被抬高了。竞品名单的用处是在报告里高亮几行,而不是决定谁算数。

然后,在计数之前把同一品牌的不同写法合并成一个实体:大小写、标点、公司后缀,以及用产品线名代替公司名。把竞品拆成几行,会低估它、抬高你;把自己拆开,则会低估自己。同一套规则、同一遍扫描,用在每一个品牌上。具体规则见竞品集设计。

别每一轮都手工合并别名,维护一张映射表:每种写法一行,指向它所属的实体,在任何计数之前统一套用,并且和方法的其他部分一起打版本。出现新写法时加一行,过去的结果也会随之改变,所以映射表一改,就要重述历史。那些边界情况,比如子品牌算不算母品牌,也在这张表里一次定下来,而不是每份报告各判各的。

第五步:声量份额一次只算一个引擎

计算本身很短:

声量份额(品牌, 引擎) =
    该引擎已完成回答中,该品牌被点名的次数
  / 该引擎已完成回答中,所有品牌被点名的次数之和

点名一次 = 某品牌出现在一条回答里,每条回答最多记一次
已完成   = 请求拿到了回答;失败的那一格剔除,而不是记成零

下面是某一个引擎上、五道问题的小例子:

问题被点名的品牌点名次数
Q1品牌 X、品牌 Y、你3
Q2品牌 X、品牌 Y2
Q3谁都没点0
Q4品牌 X、品牌 Z、你3
Q5请求超时未测量

五道题里完成了四道,一共 8 次品牌点名。你被点了 2 次,份额就是八分之二,也就是四分之一;品牌 X 占八分之三。你的提及率,即点到你的回答占已完成回答的比例,是四分之二。Q3 谁都没点,值得在报告里单列一行:那是一块空地,不是一次失利。Q5 从分子和分母里都剔除,作为缺口报告。

再看常见的错法。如果你的判定程序只认识品牌 X 和品牌 Y,品牌 Z 就会掉出去,总数降到 7,你的份额变成七分之二,而什么都没有变。声量份额虚高的全部机制就在这里:输出里看不出任何异样。

一个引擎、四条已完成回答,每个方块代表一次点名本文的示意算例,不是实测数据所有被点名的品牌都计数你品牌 X品牌 Y品牌 Z你的份额:8 次里 2 次判定程序只认识 X 和 Y你品牌 X品牌 YZ 被漏掉你的份额:7 次里 2 次两行之间,回答本身没有任何变化,变的只是分母。
图 2 把第五步的算例画成每次点名一个方块。判定程序漏掉一个品牌,分母就变小,你的份额随之升高,而回答本身一个字都没变。来源:示意算例,不是实测数据。

每个引擎都这样算一遍,然后分开报告。在我们自己的基准里,一个模型每条回答平均点名 3.5 个提供方,另一个只有 2.1 个;两者的平均值,哪个都描述不了。

第六步:把分母和 AI 声量份额并排报出来

没有上下文的份额没有意义。每一个数字旁边都要写明:

  1. 问题集及其版本号,以及时间范围。
  2. 用了哪些引擎、是否开启检索。
  3. 尝试与完成的回答数。
  4. 被点名的不同品牌总数。117 家里的 1% 和 5 家里的 1%,是完全不同的处境。
  5. 你在所有被点名品牌中的名次,而不只是在你挑的竞品里的名次。
  6. 有多少道不同的问题点到了你。在好几道题里各出现一次,比在一道题里反复出现更扎实。

如果一轮下来完成的回答太少,就不要报份额。几条回答算出来的百分比,下一轮就会大幅摆动,而读的人会把这种摆动当成新闻。

声量份额[引擎]:[份额]每个引擎一块1问题集、版本号与时间范围2用了哪些引擎、是否开启检索3尝试与完成的回答数4被点名的不同品牌总数5你在全部品牌中的名次6点到你的不同问题数
图 3 一个引擎的报告块:份额放在中间,旁边始终写明六项上下文。来源:第六步的报告规则。

一个实用的版式是每个引擎一块:份额用大字,六项上下文用小字围在旁边。只扫一眼大数字的读者,也能看到它来自多少条回答、是在多少个品牌当中算出来的。声量份额和引用数据也要分成两块放:你的页面可能是某条回答的引用来源,而那条回答推荐的却是竞品,把两者合在一起,报告就被美化了。

每条规矩为什么存在

上面每一步,都对应我们自己犯过的一个错。不对称的竞品判定曾让一个品牌显示声量份额 31%、排名第二;对称地重测之后,是 0% 和倒数第一。一组由 LLM 生成的问题集里,15 道题有 13 道带品牌名,分数显示 13%,而诚实的数值是零。这两个错误,在最终数字里都看不出来。

另外,即使什么都没变,回答在轮次之间也会波动。只有在同一口径版本下、连续两轮都出现的变化才当真;怎么设置,见衡量随时间的变化。如果不想自己搭这套流程,InsightWonder 的竞品情报默认就按这些规矩来算。

资料来源