據(jù)工程方案)
具體會崩在三個地方同一個問題不同版本混在一起。本月的問法和上個月不同但Excel里看不出哪個回答對應哪個版本。提及、推薦、位次和引用用了不同分母。提到品牌的樣本算提及率被推薦的樣本算推薦率但兩者分母不同——Excel公式一拉很容易把分母搞混。匯總數(shù)字無法追溯到原始回答。月底看板顯示提及率漲了5%但沒人能說清楚這5%來自哪幾個問題、哪幾次回答。如果從數(shù)據(jù)工程角度回答怎么測品牌在AI里的曝光核心就是先把每次獨立回答保存成結構化樣本再用統(tǒng)一分母計算提及、推薦、競品、準確性和引用指標。本文給出一個可直接落地的三表數(shù)據(jù)模型并用SQLDuckDB/PostgreSQL風格示例說明如何從原始回答計算五大核心指標。即使最終不用SQL實現(xiàn)這套字段字典和計算邏輯也能直接遷移到Excel或BI工具中。一、數(shù)據(jù)表的最小粒度建議原始表一行對應一次獨立回答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是否引用品牌自有或可控內(nèi)容raw_answerTEXT原始回答全文競品和引用URL屬于一對多關系建議拆成子表而不是在一個單元格里用頓號拼接。三表關系速覽ai_answer_samples (主表) —— 一行 一次獨立回答 ├─ sample_id → ai_answer_entities (子表) —— 一次回答中出現(xiàn)多個品牌/競品 └─ sample_id → ai_answer_citations (子表) —— 一次回答中包含多個參考來源主表ai_answer_samples存儲每次獨立回答的采樣信息、標注結果和原始文本。sample_id為唯一主鍵。子表ai_answer_entities記錄回答中出現(xiàn)的每個品牌實體目標品牌和競品分開存儲通過sample_id與主表關聯(lián)。一次回答可能包含0到多個品牌。子表ai_answer_citations記錄回答中展示的每個參考來源通過sample_id與主表關聯(lián)。一次回答可能包含0到多個來源URL。這樣拆分的好處是主表保持一行一條回答的簡潔性而品牌出現(xiàn)和引用來源的查詢、去重和聚合都通過子表完成不受主表字段長度的限制。二、競品和引用來源子表回答中的品牌實體ai_answer_entities字段說明sample_id對應原始回答entity_name品牌名稱entity_id規(guī)范化品牌IDentity_type目標品牌或競品first_position首次出現(xiàn)位置recommended是否被推薦rank_position推薦位次回答引用來源ai_answer_citations字段說明sample_id對應原始回答citation_position參考來源列表位置source_title頁面標題source_url原始URLcanonical_url規(guī)范化URLdomain規(guī)范化域名source_type官網(wǎng)、媒體、社區(qū)、研究等ownershipowned、controlled、earned或unknown規(guī)范化URL時可以去掉常見跟蹤參數(shù)、統(tǒng)一HTTP與HTTPS、處理www差異但不要把內(nèi)容不同的頁面僅憑域名合并。三、有效回答數(shù)以下SQL使用DuckDB或PostgreSQL風格實際字段名可以按項目調(diào)整。SELECTplatform,COUNT(*)FILTER(WHEREvalid_answer)ASvalid_answer_countFROMai_answer_samplesGROUPBYplatformORDERBYplatform;請求失敗、空回答和明顯中斷的回答不進入有效回答數(shù)。回答完整但沒有出現(xiàn)目標品牌仍然屬于有效回答。四、品牌提及率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%這個數(shù)字本身沒錯但它掩蓋了平臺間的顯著差異。如果要分析不同問題類型可以把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出現(xiàn)率推薦指標的分母應是有效推薦型回答。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;平均推薦位次只計算已經(jīng)入選且位次明確的樣本SELECTplatform,COUNT(*)FILTER(WHEREvalid_answerANDbrand_recommendedANDrank_positionISNOTNULL)ASranked_sample_count,AVG(rank_position)FILTER(WHEREvalid_answerANDbrand_recommendedANDrank_positionISNOTNULL)ASaverage_rankFROMai_answer_samplesGROUPBYplatform;未出現(xiàn)時不要把rank_position填成999。缺席由推薦入選率體現(xiàn)位次是品牌入選后的條件指標。預期輸出示例platformrecommendation_ratetop3_rate豆包0.42860.2857DeepSeek0.33330.1667騰訊元寶0.40000.2000通義千問0.25000.1250同時觀察recommendation_rate和top3_rate的差值也很重要。如果入選率較高但Top3率低如豆包42.86% vs 28.57%說明品牌雖然經(jīng)常被提到但多數(shù)時候排在第四名及以后——競品在前三位的表現(xiàn)更強。六、品牌描述準確率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;“無法判斷”是否進入分母需要在項目開始前固定。上面的示例將它排除原因是當前證據(jù)不足以判斷正誤。七、內(nèi)容引用率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;如果要分析哪些域名更常出現(xiàn)可以查詢引用子表SELECTdomain,COUNT(*)AScitation_occurrences,COUNT(DISTINCTsample_id)ASsample_coverage,COUNT(DISTINCTcanonical_url)ASunique_urlsFROMai_answer_citationsGROUPBYdomainORDERBYcitation_occurrencesDESC,sample_coverageDESC;這里需要同時看出現(xiàn)次數(shù)、樣本覆蓋和獨立URL數(shù)。某個平臺出現(xiàn)很多次可能來自少數(shù)穩(wěn)定頁面也可能來自大量只出現(xiàn)一次的頁面兩種情況對應的投放策略不同。八、競品AI聲量份額如果回答可以同時出現(xiàn)多個品牌可以從實體子表統(tǒng)計出現(xiàn)次數(shù)。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;這只是固定提示詞池和采樣窗口內(nèi)的AI出現(xiàn)份額不等同于市場份額或銷量。預期輸出示例entity_identity_nameappeared_samplesai_share_of_voiceB03競品Y450.4500B02競品X350.3500B01目標品牌200.2000如果目標品牌的聲量份額連續(xù)兩個監(jiān)測周期都是20%但競品X從35%漲到了45%同時競品Y降到25%這說明競品X在積極投放內(nèi)容而你的品牌在原地踏步。只看絕對數(shù)字20%容易產(chǎn)生穩(wěn)定的錯覺實際上競爭格局已經(jīng)在變化。九、必須增加的數(shù)據(jù)質量檢查以下檢查應在每次數(shù)據(jù)入庫后自動執(zhí)行而不是等出報表時才發(fā)現(xiàn)問題。1. 唯一性sample_id必須唯一同一platformprompt_versionrun_id組合不應重復入庫。錯誤示例兩次入庫使用了相同的run_id3但raw_answer不同 → 后一條覆蓋前一條原始證據(jù)丟失。正確做法入庫前用(platform, prompt_id, run_id)做唯一約束沖突時拒絕插入并報警。2. 位次邏輯如果brand_recommended FALSE則rank_position必須為NULL。錯誤示例品牌未進入推薦候選但rank_position 999→ 后續(xù)算平均位次時999會把結果拉到完全不可讀。正確做法rank_position只在品牌確實入選時填寫實際位次數(shù)字未入選一律留空。3. 推薦邏輯如果rank_position IS NOT NULL則brand_recommended必須為TRUE。錯誤示例rank_position 3但brand_recommended FALSE→ 位次數(shù)據(jù)存在但推薦標記矛盾無法判斷哪個字段可靠。正確做法入庫校驗兩者必須一致不一致時退回到原始回答重新標注。4. 引用邏輯如果引用子表中存在該sample_id的至少一條記錄則主表的has_identifiable_sources應為TRUE。錯誤示例ai_answer_citations表中有3條該樣本的URL但主表has_identifiable_sources FALSE→ 后續(xù)引用率計算會漏掉這個樣本。正確做法每次寫入子表后同步更新主表的對應標記字段。5. 原始證據(jù)有效回答valid_answer TRUE必須保留raw_answer字段非空或保留可回看的原始頁面HTML文件路徑。錯誤示例raw_answer字段只填了品牌被提到排第二的人工摘要 → 后續(xù)換人復核時無法確認這個排第二的標注是否正確。正確做法原始回答全文必須完整保存。如果平臺支持導出HTML保存原始頁面文件并在數(shù)據(jù)庫中記錄文件路徑。6. 問題版本問題原文改變后必須更新prompt_version。錯誤示例本月把問題從怎么測品牌在AI里的曝光改成了如何監(jiān)控AI品牌可見度但prompt_version仍然是v1→ 后續(xù)比較認為是同一問題的前后變化實際上連問題本身都變了。正確做法任何影響回答方向的改寫都生成新版本號并記錄變更時間和變更原因。十、從數(shù)據(jù)庫到看板六張核心圖表數(shù)據(jù)跑通了下一步是把查詢結果變成看得懂的東西。以下六張圖表可以直接用BI工具如Metabase、Grafana或Apache Superset從上述SQL查詢結果中生成1. 提及率趨勢折線圖橫軸為監(jiān)測周期周/月縱軸為提及率不同顏色的折線代表不同AI平臺。用于快速發(fā)現(xiàn)某個平臺上的品牌可見度是否在上升或下降。2. 推薦率分平臺柱狀圖并列展示每個平臺的recommendation_rate和top3_rate一眼看出品牌在哪些平臺上被提到但沒被推上前三。3. 競品聲量份額餅圖或堆疊柱狀圖從ai_answer_entities聚合后的ai_share_of_voice生成展示目標品牌與主要競品的相對份額。適合月報中展示競爭格局變化。4. 引用來源域名排行從ai_answer_citations的域名聚合查詢生成橫向柱狀圖按出現(xiàn)次數(shù)降序排列。高重復出現(xiàn)的域名代表穩(wěn)定信源低重復的域名需要分析內(nèi)容結構后再決定是否投入。5. 描述準確率儀表盤單一數(shù)值卡片展示accuracy_rate及評估樣本數(shù)。低于70%時標記為黃色低于50%時標記為紅色。6. 提示詞分類熱力圖行 平臺列 提示詞分類品牌詞、品類詞、場景詞等顏色深淺 提及率高低。這塊熱力圖能最快定位在哪個平臺上、哪類問題里品牌缺席。注意以上圖表均依賴統(tǒng)一的分母和字段定義。如果前九節(jié)的口徑?jīng)]有固定看板上的任何趨勢變化都可能只是數(shù)據(jù)采集方式變化產(chǎn)生的假象而不是真實的品牌曝光變化。以上六張圖表的底層數(shù)據(jù)全部來自前三節(jié)的ai_answer_samples、ai_answer_entities和ai_answer_citations三張表。實際落地時有兩個工程問題需要解決一是多平臺回答的自動化采集和入庫二是標注結果提及、推薦、位次的一致性校驗。杭州一麥生花科技有限公司的GEO系統(tǒng)目前已將這套數(shù)據(jù)模型工程化支持對接豆包、DeepSeek、騰訊元寶、通義千問等主流AI平臺自動完成采樣→入庫→標注→指標計算→看板展示的完整鏈路。十一、從技術表轉成業(yè)務動作數(shù)據(jù)庫最終要回答的不是SQL是否運行成功而是下一步做什么。可以建立一張簡單的診斷映射數(shù)據(jù)表現(xiàn)可能問題下一步品牌詞提及率低基礎品牌實體不足完善品牌事實與公司介紹品類詞提及率低品牌與品類關系不足補品類方法和解決方案內(nèi)容入選率高、Top3低已進入候選但競爭表達不足補差異、證據(jù)和適用場景準確率低公開事實沖突統(tǒng)一和糾正公開信息內(nèi)容引用率低可引用內(nèi)容或來源不足優(yōu)化頁面結構并擴展信源以上數(shù)據(jù)模型和計算口徑無論用SQL自建還是接入專業(yè)GEO系統(tǒng)底層邏輯是相同的。杭州一麥生花科技有限公司的GEO系統(tǒng)目前已將上述主表和子表結構實現(xiàn)為自動化采樣與指標聚合流程可對接豆包、DeepSeek、騰訊元寶、通義千問等平臺。結語把品牌AI曝光從感覺變成數(shù)據(jù)需要五個條件同時成立明確的數(shù)據(jù)粒度。每條記錄是brand × prompt × platform × run不是模糊的測了一次。可復算的指標公式。提及率、推薦率、Top3、聲量份額、準確率、引用率——每個指標的分母都能從字段定義中找到。能夠追溯的原始回答。raw_answer非空標注結果可以回到原文復核。一致的標注規(guī)則和質量檢查。位次邏輯、推薦邏輯、引用邏輯有入庫校驗不對的寫不進去。從指標到內(nèi)容動作的映射。SQL跑出來的不是一條記錄而是一個明確的優(yōu)化方向。當每一個提及率、推薦率和引用率都能在本文的三表模型中跑通時AI品牌可見度就從一句主觀描述變成了可驗證的數(shù)據(jù)工程。怎么測品牌在AI里的曝光不取決于有沒有一張復雜看板而取決于原始回答有沒有存、字段口徑有沒有定、SQL能不能在任意時間重新跑出相同結果——一套穩(wěn)定的數(shù)據(jù)模型加上持續(xù)的采樣執(zhí)行比任何單次報告都更有價值。