一、从样本到指标,中间还有哪些环节?
经过清洗和标准化的AI回答样本,已经具备了结构化特征:每条记录都标明了所属品牌、来源平台、问题类型等关键字段。但距离真正可用的分析指标——如提及率、推荐率、解释能力评分——仍然需要经过一系列计算逻辑的加工。
这一步看起来只是“算个数”,但实际操作中涉及多个数据工程问题。最核心的三个问题是:分子分母如何定义?样本是否需要加权?多个维度的指标如何合成一个综合得分?
如果分子分母定义不清,同一批数据可能算出不同的提及率;如果未考虑样本加权,不同问题类型的样本权重相同可能导致结果有偏;如果综合得分的权重设置没有明确依据,最终的排序结果难以解释。
本文从数据工程角度,分享一套从结构化样本到品牌指标的完整计算流程,重点涉及有效样本分母确定、提及与推荐判断逻辑、解释文本评分方法、样本权重配置和综合得分计算五个环节,并结合阿里云DataWorks + MaxCompute给出可复用的实现方案。
二、数据链路与计算阶段
整个计算流程分为五个阶段:
阶段 核心任务 依托组件 输出
① 样本标准化 确认样本已清洗、已归一化、已打标 MaxCompute SQL 标准化样本表
② 分母定义 确定有效样本范围与去重规则 MaxCompute SQL 分母统计表
③ 分子识别 按口径判断提及、推荐、解释充分 MaxCompute SQL + 规则 分子统计表
④ 权重配置 按问题类型、平台设置样本权重 MaxCompute维表 + SQL 加权指标表
⑤ 指标聚合 计算提及率、推荐率、综合得分 MaxCompute聚合查询 指标结果表
三、第一步:明确分母
3.1 分母的组成要素
提及率、推荐率的分母,不是简单的“采集总条数”,需要经过多重过滤:
有效样本总数 = 采集总条数
- 采集失败样本
- 无效回答(拒答/过短/异常)
- 重复样本(相同问题+相同平台的重复采集)
- 品牌无关样本(不涉及任何目标品牌的回答)
3.2 去重规则
同一个问题在不同轮次中被采集,或同一个平台返回了相似回答,可能导致重复计数。去重规则如下:
-- 按问题+平台+采样轮次去重,保留最新记录
WITH deduped_samples AS (
SELECT
sample_id,
brand_id,
question_id,
platform,
is_mentioned,
recommend_level,
explanation_text,
ROW_NUMBER() OVER (
PARTITION BY question_id, platform, brand_id
ORDER BY created_at DESC
) AS rn
FROM standardized_samples
)
SELECT
sample_id,
brand_id,
question_id,
platform,
is_mentioned,
recommend_level,
explanation_text
FROM deduped_samples
WHERE rn = 1;
3.3 分母统计实现
SELECT
brand_id,
brand_name,
COUNT(DISTINCT sample_id) AS total_samples,
COUNT(DISTINCT question_id) AS total_questions,
COUNT(DISTINCT platform) AS total_platforms
FROM valid_deduped_samples
GROUP BY brand_id, brand_name;
四、第二步:确定分子
4.1 提及率的分子
提及率的分子是“品牌被AI明确提及的有效样本数”:
SELECT
brand_id,
brand_name,
COUNT(DISTINCT sample_id) AS mention_samples
FROM valid_deduped_samples
WHERE is_mentioned = 1
GROUP BY brand_id, brand_name;
关键约束:同一问题中同一品牌最多计一次提及。如已在去重阶段做了PARTITION BY question_id, platform, brand_id,则此约束已满足。
4.2 推荐率的分子
推荐率的分子需要区分等级:
推荐等级 纳入推荐率分子 纳入强推荐率分子
强推荐 ✓ ✓
一般推荐 ✓ ✗
弱推荐 可选 ✗
未推荐 ✗ ✗
SELECT
brand_id,
brand_name,
COUNT(DISTINCT CASE WHEN recommend_level IN ('strong', 'normal')
THEN sample_id END) AS recommend_samples,
COUNT(DISTINCT CASE WHEN recommend_level = 'strong'
THEN sample_id END) AS strong_recommend_samples
FROM valid_deduped_samples
GROUP BY brand_id, brand_name;
4.3 解释能力的分子
解释能力的衡量依据是解释文本的充分程度:
SELECT
brand_id,
brand_name,
COUNT(DISTINCT CASE WHEN explanation_sufficiency = '充分'
THEN sample_id END) AS sufficient_explain_samples
FROM valid_deduped_samples
WHERE is_mentioned = 1
GROUP BY brand_id, brand_name;
解释充分度判断示例:
SELECT
sample_id,
brand_id,
explanation_text,
CASE
WHEN LENGTH(explanation_text) >= 20 THEN '充分'
WHEN LENGTH(explanation_text) >= 5 THEN '一般'
ELSE '不足'
END AS explanation_sufficiency
FROM samples_with_explanations;
五、第三步:配置样本权重
5.1 为什么需要加权
不同类型的样本对品牌指标的影响程度不同。例如:
推荐决策类问题中品牌的提及,比信息导航类问题中的提及更能反映品牌的推荐价值
某个问题只在单一平台采集到了回答,而另一个问题在五个平台都有回答,后者的代表性更强
5.2 权重配置维表
CREATE TABLE sample_weight_config (
weight_id STRING,
dimension_type STRING COMMENT '问题类型/平台/品牌组',
dimension_value STRING,
weight FLOAT COMMENT '权重值 0.5-2.0',
effective_start DATE,
effective_end DATE
);
权重配置示例:
dimension_type dimension_value weight 说明
question_type REC 1.2 推荐决策类问题权重略高
question_type NAV 0.8 信息导航类问题权重略低
platform DeepSeek 1.0 基准权重
platform 豆包 1.0 基准权重
5.3 加权样本统计
WITH weighted_samples AS (
SELECT
s.brand_id,
s.sample_id,
s.is_mentioned,
s.recommend_level,
COALESCE(qw.weight, 1.0) AS question_weight,
COALESCE(pw.weight, 1.0) AS platform_weight,
COALESCE(qw.weight, 1.0) * COALESCE(pw.weight, 1.0) AS total_weight
FROM valid_deduped_samples s
LEFT JOIN sample_weight_config qw
ON qw.dimension_type = 'question_type'
AND qw.dimension_value = s.question_type
LEFT JOIN sample_weight_config pw
ON pw.dimension_type = 'platform'
AND pw.dimension_value = s.platform
)
SELECT
brand_id,
SUM(total_weight) AS weighted_sample_count,
SUM(CASE WHEN is_mentioned = 1 THEN total_weight ELSE 0 END) AS weighted_mention_count,
SUM(CASE WHEN recommend_level IN ('strong', 'normal')
THEN total_weight ELSE 0 END) AS weighted_recommend_count
FROM weighted_samples
GROUP BY brand_id;
六、第四步:计算综合得分
6.1 综合得分的维度构成
综合得分基于多个维度的加权汇总。典型的维度构成:
维度 权重范围 说明
提及率 20%-30% 品牌基础可见性
推荐率 30%-40% 品牌被推荐的程度
解释充分度 15%-25% 品牌被准确描述的程度
平台覆盖度 10%-15% 在多少个平台稳定出现
稳定性 5%-10% 多轮采样的一致性
6.2 维度归一化
各维度数值的单位和范围不同,聚合前需要归一化到统一尺度:
WITH dimension_stats AS (
SELECT
AVG(mention_rate) AS mention_mean,
STDDEV(mention_rate) AS mention_std,
AVG(recommend_rate) AS recommend_mean,
STDDEV(recommend_rate) AS recommend_std,
AVG(explain_sufficiency_rate) AS explain_mean,
STDDEV(explain_sufficiency_rate) AS explain_std
FROM brand_metrics
)
SELECT
brand_id,
brand_name,
(mention_rate - mention_mean) / NULLIF(mention_std, 0) AS mention_zscore,
(recommend_rate - recommend_mean) / NULLIF(recommend_std, 0) AS recommend_zscore,
(explain_sufficiency_rate - explain_mean) / NULLIF(explain_std, 0) AS explain_zscore
FROM brand_metrics, dimension_stats;
6.3 综合得分计算
WITH normalized_scores AS (
-- 归一化后的各维度得分
SELECT
brand_id,
brand_name,
normalized_mention,
normalized_recommend,
normalized_explain,
platform_coverage,
stability_score
FROM normalized_brand_dimensions
)
SELECT
brand_id,
brand_name,
(0.25 normalized_mention +
0.35 normalized_recommend +
0.20 normalized_explain +
0.10 platform_coverage +
0.10 * stability_score) AS composite_score,
RANK() OVER (ORDER BY composite_score DESC) AS rank
FROM normalized_scores;
七、数据质量保障
7.1 口径记录与版本管理
指标口径需要在计算前明确记录,并在结果表中保存版本信息:
CREATE TABLE metric_calibration_log (
version STRING,
mention_definition STRING COMMENT '提及判定标准',
recommend_definition STRING COMMENT '推荐判定标准',
explain_threshold INT COMMENT '解释充分度阈值',
weight_config_version STRING COMMENT '权重配置版本',
effective_date DATE
);
7.2 复核机制
在DataWorks中配置数据质量规则,对计算结果进行自动校验:
校验规则 检查内容 告警条件
提及率范围 所有品牌提及率是否在合理区间 提及率 > 90% 或 < 5%
推荐率与提及率关系 推荐率不应超过提及率 推荐率 > 提及率 + 5%
样本量充足性 各品牌样本数是否满足需求 某品牌样本数 < 30
7.3 可追溯性
CREATE TABLE indicator_audit (
brand_id STRING,
brand_name STRING,
metric_name STRING,
metric_value FLOAT,
calculation_version STRING,
sample_count INT,
calculated_at DATETIME
) PARTITIONED BY (dt STRING);
八、实践总结
从结构化样本到品牌指标,计算环节的技术工作看起来比清洗环节要轻量,但实际上涉及的数据决策往往更密集、影响更深远。一旦指标口径确定并产出结果,后续的分析和决策都将建立在这些数字之上。如果口径存在问题,整个分析体系的基础就会动摇。
整个流程中有几个关键点值得特别注意:
分母定义是影响指标数值最大的单一因素。分母是否去重、是否排除无效样本、是否按品牌组筛选——这些决策会系统性地影响所有品牌的指标值。建议在聚合前先输出分母构成明细,供复核人员检查。
推荐等级区分直接影响推荐率的解读。强推荐率反映的是AI的明确推荐倾向,总推荐率反映的是品牌的整体可见度。两者的含义不同,建议同时输出,让下游分析按需使用。
样本权重配置是一个需要谨慎处理的环节。引入权重可以纠正样本分布偏差,但权重设置本身带有主观判断成分。建议权重配置透明化,并同时输出加权前和加权后的指标结果,供使用者对比判断。
在阿里云技术栈上,DataWorks的任务编排能力支撑了从样本标准化到指标聚合的完整计算链路,MaxCompute的计算性能保障了大规模样本的指标计算效率,数据质量规则在各关键节点自动校验数据的合理性。