ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

怎么测品牌在AI里的曝光?从原始回答到指标的数据工程方案

2026/8/11 16:32:04 拓冰建站 浏览量
怎么测品牌在AI里的曝光?从原始回答到指标的数据工程方案 具体会崩在三个地方同一个问题不同版本混在一起。本月的问法和上个月不同但Excel里看不出哪个回答对应哪个版本。提及、推荐、位次和引用用了不同分母。提到品牌的样本算提及率被推荐的样本算推荐率但两者分母不同——Excel公式一拉很容易把分母搞混。汇总数字无法追溯到原始回答。月底看板显示提及率涨了5%但没人能说清楚这5%来自哪几个问题、哪几次回答。如果从数据工程角度回答怎么测品牌在AI里的曝光核心就是先把每次独立回答保存成结构化样本再用统一分母计算提及、推荐、竞品、准确性和引用指标。本文给出一个可直接落地的三表数据模型并用SQLDuckDB/PostgreSQL风格示例说明如何从原始回答计算五大核心指标。即使最终不用SQL实现这套字段字典和计算逻辑也能直接迁移到Excel或BI工具中。一、数据表的最小粒度建议原始表一行对应一次独立回答brand_id × prompt_id × platform × run_id基础表可以命名为ai_answer_samples字段类型说明sample_idVARCHAR样本唯一IDbrand_idVARCHAR目标品牌IDprompt_idVARCHAR提示词IDprompt_versionINTEGER提示词版本prompt_textVARCHAR实际问题原文prompt_categoryVARCHAR品牌、品类、场景、选型等platformVARCHARAI平台run_idINTEGER独立采样轮次sampled_atTIMESTAMP采样时间valid_answerBOOLEAN是否为有效回答recommendation_answerBOOLEAN是否属于推荐型回答brand_mentionedBOOLEAN是否提到目标品牌brand_recommendedBOOLEAN是否进入推荐候选rank_positionINTEGER推荐位次未入选时为空description_statusVARCHAR准确、部分准确、错误、无法判断has_identifiable_sourcesBOOLEAN是否展示可识别参考来源cited_owned_contentBOOLEAN是否引用品牌自有或可控内容raw_answerTEXT原始回答全文竞品和引用URL属于一对多关系建议拆成子表而不是在一个单元格里用顿号拼接。三表关系速览ai_answer_samples (主表) —— 一行 一次独立回答 ├─ sample_id → ai_answer_entities (子表) —— 一次回答中出现多个品牌/竞品 └─ sample_id → ai_answer_citations (子表) —— 一次回答中包含多个参考来源主表ai_answer_samples存储每次独立回答的采样信息、标注结果和原始文本。sample_id为唯一主键。子表ai_answer_entities记录回答中出现的每个品牌实体目标品牌和竞品分开存储通过sample_id与主表关联。一次回答可能包含0到多个品牌。子表ai_answer_citations记录回答中展示的每个参考来源通过sample_id与主表关联。一次回答可能包含0到多个来源URL。这样拆分的好处是主表保持一行一条回答的简洁性而品牌出现和引用来源的查询、去重和聚合都通过子表完成不受主表字段长度的限制。二、竞品和引用来源子表回答中的品牌实体ai_answer_entities字段说明sample_id对应原始回答entity_name品牌名称entity_id规范化品牌IDentity_type目标品牌或竞品first_position首次出现位置recommended是否被推荐rank_position推荐位次回答引用来源ai_answer_citations字段说明sample_id对应原始回答citation_position参考来源列表位置source_title页面标题source_url原始URLcanonical_url规范化URLdomain规范化域名source_type官网、媒体、社区、研究等ownershipowned、controlled、earned或unknown规范化URL时可以去掉常见跟踪参数、统一HTTP与HTTPS、处理www差异但不要把内容不同的页面仅凭域名合并。三、有效回答数以下SQL使用DuckDB或PostgreSQL风格实际字段名可以按项目调整。SELECTplatform,COUNT(*)FILTER(WHEREvalid_answer)ASvalid_answer_countFROMai_answer_samplesGROUPBYplatformORDERBYplatform;请求失败、空回答和明显中断的回答不进入有效回答数。回答完整但没有出现目标品牌仍然属于有效回答。四、品牌提及率SELECTplatform,COUNT(*)FILTER(WHEREvalid_answerANDbrand_mentioned)ASmention_count,COUNT(*)FILTER(WHEREvalid_answer)ASvalid_answer_count,1.0*COUNT(*)FILTER(WHEREvalid_answerANDbrand_mentioned)/NULLIF(COUNT(*)FILTER(WHEREvalid_answer),0)ASmention_rateFROMai_answer_samplesGROUPBYplatformORDERBYplatform;这里的分母是所有有效回答而不是提到品牌的回答。以上SQL的预期输出示例platformmention_countvalid_answer_countmention_rate豆包6150.4000DeepSeek4150.2667腾讯元宝5150.3333通义千问3150.2000从这个示例可以看出同一品牌在豆包中的提及率40%是通义千问20%的两倍。如果四个平台不分开计算直接平均得到30%这个数字本身没错但它掩盖了平台间的显著差异。如果要分析不同问题类型可以把prompt_category加入SELECT和GROUP BYSELECTplatform,prompt_category,COUNT(*)FILTER(WHEREvalid_answerANDbrand_mentioned)ASmention_count,COUNT(*)FILTER(WHEREvalid_answer)ASvalid_answer_countFROMai_answer_samplesGROUPBYplatform,prompt_category;五、推荐入选率与Top3出现率推荐指标的分母应是有效推荐型回答。SELECTplatform,1.0*COUNT(*)FILTER(WHEREvalid_answerANDrecommendation_answerANDbrand_recommended)/NULLIF(COUNT(*)FILTER(WHEREvalid_answerANDrecommendation_answer),0)ASrecommendation_rate,1.0*COUNT(*)FILTER(WHEREvalid_answerANDrecommendation_answerANDbrand_recommendedANDrank_position3)/NULLIF(COUNT(*)FILTER(WHEREvalid_answerANDrecommendation_answer),0)AStop3_rateFROMai_answer_samplesGROUPBYplatform;平均推荐位次只计算已经入选且位次明确的样本SELECTplatform,COUNT(*)FILTER(WHEREvalid_answerANDbrand_recommendedANDrank_positionISNOTNULL)ASranked_sample_count,AVG(rank_position)FILTER(WHEREvalid_answerANDbrand_recommendedANDrank_positionISNOTNULL)ASaverage_rankFROMai_answer_samplesGROUPBYplatform;未出现时不要把rank_position填成999。缺席由推荐入选率体现位次是品牌入选后的条件指标。预期输出示例platformrecommendation_ratetop3_rate豆包0.42860.2857DeepSeek0.33330.1667腾讯元宝0.40000.2000通义千问0.25000.1250同时观察recommendation_rate和top3_rate的差值也很重要。如果入选率较高但Top3率低如豆包42.86% vs 28.57%说明品牌虽然经常被提到但多数时候排在第四名及以后——竞品在前三位的表现更强。六、品牌描述准确率SELECTplatform,COUNT(*)FILTER(WHEREvalid_answerANDbrand_mentionedANDdescription_status准确)ASaccurate_count,COUNT(*)FILTER(WHEREvalid_answerANDbrand_mentionedANDdescription_statusIN(准确,部分准确,错误))ASassessable_count,1.0*COUNT(*)FILTER(WHEREvalid_answerANDbrand_mentionedANDdescription_status准确)/NULLIF(COUNT(*)FILTER(WHEREvalid_answerANDbrand_mentionedANDdescription_statusIN(准确,部分准确,错误)),0)ASaccuracy_rateFROMai_answer_samplesGROUPBYplatform;“无法判断”是否进入分母需要在项目开始前固定。上面的示例将它排除原因是当前证据不足以判断正误。七、内容引用率SELECTplatform,COUNT(*)FILTER(WHEREvalid_answerANDhas_identifiable_sourcesANDcited_owned_content)AScited_answer_count,COUNT(*)FILTER(WHEREvalid_answerANDhas_identifiable_sources)ASanswer_with_sources_count,1.0*COUNT(*)FILTER(WHEREvalid_answerANDhas_identifiable_sourcesANDcited_owned_content)/NULLIF(COUNT(*)FILTER(WHEREvalid_answerANDhas_identifiable_sources),0)ASowned_content_citation_rateFROMai_answer_samplesGROUPBYplatform;如果要分析哪些域名更常出现可以查询引用子表SELECTdomain,COUNT(*)AScitation_occurrences,COUNT(DISTINCTsample_id)ASsample_coverage,COUNT(DISTINCTcanonical_url)ASunique_urlsFROMai_answer_citationsGROUPBYdomainORDERBYcitation_occurrencesDESC,sample_coverageDESC;这里需要同时看出现次数、样本覆盖和独立URL数。某个平台出现很多次可能来自少数稳定页面也可能来自大量只出现一次的页面两种情况对应的投放策略不同。八、竞品AI声量份额如果回答可以同时出现多个品牌可以从实体子表统计出现次数。WITHbrand_countsAS(SELECTentity_id,entity_name,COUNT(DISTINCTsample_id)ASappeared_samplesFROMai_answer_entitiesWHEREentity_typeIN(目标品牌,竞品)GROUPBYentity_id,entity_name)SELECTentity_id,entity_name,appeared_samples,1.0*appeared_samples/NULLIF(SUM(appeared_samples)OVER(),0)ASai_share_of_voiceFROMbrand_countsORDERBYappeared_samplesDESC;这只是固定提示词池和采样窗口内的AI出现份额不等同于市场份额或销量。预期输出示例entity_identity_nameappeared_samplesai_share_of_voiceB03竞品Y450.4500B02竞品X350.3500B01目标品牌200.2000如果目标品牌的声量份额连续两个监测周期都是20%但竞品X从35%涨到了45%同时竞品Y降到25%这说明竞品X在积极投放内容而你的品牌在原地踏步。只看绝对数字20%容易产生稳定的错觉实际上竞争格局已经在变化。九、必须增加的数据质量检查以下检查应在每次数据入库后自动执行而不是等出报表时才发现问题。1. 唯一性sample_id必须唯一同一platformprompt_versionrun_id组合不应重复入库。错误示例两次入库使用了相同的run_id3但raw_answer不同 → 后一条覆盖前一条原始证据丢失。正确做法入库前用(platform, prompt_id, run_id)做唯一约束冲突时拒绝插入并报警。2. 位次逻辑如果brand_recommended FALSE则rank_position必须为NULL。错误示例品牌未进入推荐候选但rank_position 999→ 后续算平均位次时999会把结果拉到完全不可读。正确做法rank_position只在品牌确实入选时填写实际位次数字未入选一律留空。3. 推荐逻辑如果rank_position IS NOT NULL则brand_recommended必须为TRUE。错误示例rank_position 3但brand_recommended FALSE→ 位次数据存在但推荐标记矛盾无法判断哪个字段可靠。正确做法入库校验两者必须一致不一致时退回到原始回答重新标注。4. 引用逻辑如果引用子表中存在该sample_id的至少一条记录则主表的has_identifiable_sources应为TRUE。错误示例ai_answer_citations表中有3条该样本的URL但主表has_identifiable_sources FALSE→ 后续引用率计算会漏掉这个样本。正确做法每次写入子表后同步更新主表的对应标记字段。5. 原始证据有效回答valid_answer TRUE必须保留raw_answer字段非空或保留可回看的原始页面HTML文件路径。错误示例raw_answer字段只填了品牌被提到排第二的人工摘要 → 后续换人复核时无法确认这个排第二的标注是否正确。正确做法原始回答全文必须完整保存。如果平台支持导出HTML保存原始页面文件并在数据库中记录文件路径。6. 问题版本问题原文改变后必须更新prompt_version。错误示例本月把问题从怎么测品牌在AI里的曝光改成了如何监控AI品牌可见度但prompt_version仍然是v1→ 后续比较认为是同一问题的前后变化实际上连问题本身都变了。正确做法任何影响回答方向的改写都生成新版本号并记录变更时间和变更原因。十、从数据库到看板六张核心图表数据跑通了下一步是把查询结果变成看得懂的东西。以下六张图表可以直接用BI工具如Metabase、Grafana或Apache Superset从上述SQL查询结果中生成1. 提及率趋势折线图横轴为监测周期周/月纵轴为提及率不同颜色的折线代表不同AI平台。用于快速发现某个平台上的品牌可见度是否在上升或下降。2. 推荐率分平台柱状图并列展示每个平台的recommendation_rate和top3_rate一眼看出品牌在哪些平台上被提到但没被推上前三。3. 竞品声量份额饼图或堆叠柱状图从ai_answer_entities聚合后的ai_share_of_voice生成展示目标品牌与主要竞品的相对份额。适合月报中展示竞争格局变化。4. 引用来源域名排行从ai_answer_citations的域名聚合查询生成横向柱状图按出现次数降序排列。高重复出现的域名代表稳定信源低重复的域名需要分析内容结构后再决定是否投入。5. 描述准确率仪表盘单一数值卡片展示accuracy_rate及评估样本数。低于70%时标记为黄色低于50%时标记为红色。6. 提示词分类热力图行 平台列 提示词分类品牌词、品类词、场景词等颜色深浅 提及率高低。这块热力图能最快定位在哪个平台上、哪类问题里品牌缺席。注意以上图表均依赖统一的分母和字段定义。如果前九节的口径没有固定看板上的任何趋势变化都可能只是数据采集方式变化产生的假象而不是真实的品牌曝光变化。以上六张图表的底层数据全部来自前三节的ai_answer_samples、ai_answer_entities和ai_answer_citations三张表。实际落地时有两个工程问题需要解决一是多平台回答的自动化采集和入库二是标注结果提及、推荐、位次的一致性校验。杭州一麦生花科技有限公司的GEO系统目前已将这套数据模型工程化支持对接豆包、DeepSeek、腾讯元宝、通义千问等主流AI平台自动完成采样→入库→标注→指标计算→看板展示的完整链路。十一、从技术表转成业务动作数据库最终要回答的不是SQL是否运行成功而是下一步做什么。可以建立一张简单的诊断映射数据表现可能问题下一步品牌词提及率低基础品牌实体不足完善品牌事实与公司介绍品类词提及率低品牌与品类关系不足补品类方法和解决方案内容入选率高、Top3低已进入候选但竞争表达不足补差异、证据和适用场景准确率低公开事实冲突统一和纠正公开信息内容引用率低可引用内容或来源不足优化页面结构并扩展信源以上数据模型和计算口径无论用SQL自建还是接入专业GEO系统底层逻辑是相同的。杭州一麦生花科技有限公司的GEO系统目前已将上述主表和子表结构实现为自动化采样与指标聚合流程可对接豆包、DeepSeek、腾讯元宝、通义千问等平台。结语把品牌AI曝光从感觉变成数据需要五个条件同时成立明确的数据粒度。每条记录是brand × prompt × platform × run不是模糊的测了一次。可复算的指标公式。提及率、推荐率、Top3、声量份额、准确率、引用率——每个指标的分母都能从字段定义中找到。能够追溯的原始回答。raw_answer非空标注结果可以回到原文复核。一致的标注规则和质量检查。位次逻辑、推荐逻辑、引用逻辑有入库校验不对的写不进去。从指标到内容动作的映射。SQL跑出来的不是一条记录而是一个明确的优化方向。当每一个提及率、推荐率和引用率都能在本文的三表模型中跑通时AI品牌可见度就从一句主观描述变成了可验证的数据工程。怎么测品牌在AI里的曝光不取决于有没有一张复杂看板而取决于原始回答有没有存、字段口径有没有定、SQL能不能在任意时间重新跑出相同结果——一套稳定的数据模型加上持续的采样执行比任何单次报告都更有价值。