4. 数据质量初探:常见数据质量问题及其对价格方差的影响
在供应商整合与看板定价模型中,价格方差是衡量供应商报价稳定性的核心指标。然而,原始采购数据中普遍存在的三类质量问题——缺失值、重复值、异常值——会直接扭曲方差计算结果,导致看板信号失真。本章将系统梳理这三类问题的识别方法、清洗规则及其对价格方差的数学影响。
4.1 三类数据质量问题的定义与识别
| 问题类型 | 定义 | 典型场景 | 对价格方差的影响 |
|---|---|---|---|
| 缺失值 | 数据记录中某个字段为空或不存在 | 供应商未填写报价单中的“运费”字段;系统导入时丢失“单价”列 | 减少有效样本量,方差估计偏倚;若缺失非随机,方差被系统性低估或高估 |
| 重复值 | 完全一致或关键字段一致的多条记录 | 同一张采购订单被重复录入两次;不同供应商提交了完全相同的报价 | 人为放大样本权重,方差被压缩(重复值使数据分布更集中) |
| 异常值 | 显著偏离数据分布正常范围的数值 | 突发涨价(如芯片短缺导致单价暴涨300%);录入错误(小数点错位) | 极端值会大幅拉大方差,掩盖正常供应商的价格波动规律 |
关键认知: 价格方差对数据质量高度敏感。一个未处理的异常值可能使方差膨胀 10 倍以上,而重复值则可能让方差趋近于零。清洗规则必须针对每种问题设计独立的处理策略。
4.2 缺失值处理策略与方差影响
缺失值处理的核心原则是:不引入人为偏差。以下是三种常用策略及其适用场景:
- 删除法(Listwise Deletion):直接移除包含缺失值的整条记录。适用于缺失比例 < 5% 且缺失完全随机(MCAR)的场景。代价是损失样本量,可能降低方差估计的稳定性。
- 均值/中位数填充:用该供应商历史报价的均值或中位数填补缺失值。适用于缺失比例在 5%~20% 之间且价格分布近似对称的场景。注意: 均值填充会压缩方差,中位数填充对异常值更鲁棒。
- 多重插补(Multiple Imputation):基于其他字段建立预测模型,生成多个填充值并取平均。适用于缺失比例 > 20% 或缺失模式复杂的场景。计算成本较高,但能保留原始方差结构。
实战建议: 在看板设计中,对价格方差计算建议优先使用“中位数填充 + 标记缺失来源”的组合策略。在数据看板中增加一个“缺失率”指标卡,让业务人员直观看到数据完整性对价格方差置信度的影响。
4.3 重复值检测与去重规则
重复值检测不能仅依赖完全匹配,需要定义重复判定键。对于价格方差清洗,建议采用以下分层规则:
| 层级 | 判定键 | 去重逻辑 | 对价格方差的影响 |
|---|---|---|---|
| L1 严格去重 | 采购订单号 + 物料号 + 供应商代码 + 单价 | 保留最早录入的一条,删除其余 | 消除完全重复对样本权重的扭曲 |
| L2 模糊去重 | 采购订单号 + 物料号 + 供应商代码(单价差异 < 1%) | 保留单价中位数对应的记录 | 防止因四舍五入或尾差导致的伪重复 |
| L3 业务去重 | 物料号 + 供应商代码 + 报价日期(同一天) | 合并为一条,单价取加权平均(按数量加权) | 反映同一供应商在同一天的真实报价分布 |
常见陷阱: 不要对“价格相同但数量不同”的记录直接去重。例如,供应商 A 在 1 月报价 10 元/件(100 件),2 月报价 10 元/件(500 件),这两条记录虽然单价相同,但代表了不同的交易批次,应保留用于计算加权方差。
4.4 异常值检测方法对比
异常值检测是价格方差清洗中最关键的环节。以下是三种主流方法的对比:
| 方法 | 原理 | 适用数据分布 | 对价格方差的敏感性 | 推荐阈值 |
|---|---|---|---|---|
| Z-Score 法 | 计算每个值与均值的标准差倍数 | 近似正态分布 | 高(均值与标准差本身受异常值影响) | |Z| > 3 |
| IQR 四分位距法 | 基于 Q1 和 Q3 的间距判断离群点 | 偏态分布或含多个峰值 | 中(对极端值鲁棒性较好) | 低于 Q1-1.5×IQR 或高于 Q3+1.5×IQR |
| MAD 中位数偏差法 | 基于中位数和偏差的稳健统计 | 含大量异常值的分布 | 低(最稳健,但计算稍复杂) | MAD > 3(标准化后) |
推荐组合: 在看板清洗管道中,建议先用 IQR 法做第一轮粗筛(标记潜在异常值),再用 MAD 法对标记值做第二轮确认。最终将确认的异常值替换为“供应商近 3 个月价格中位数”,并在看板中增加“异常值标记”字段供人工复核。
4.5 数据质量对价格方差的数学影响
价格方差的计算公式为:
σ² = Σ (xᵢ - μ)² / (n - 1)
其中:
- xᵢ 为第 i 次采购的单价
- μ 为样本均值
- n 为样本量
三类数据质量问题对方差的影响可归纳为:
- 缺失值:减少 n,若缺失值对应的 xᵢ 偏离均值,则方差估计有偏。例如,缺失了 5 个低价记录,剩余数据均值升高,方差被高估。
- 重复值:增加 n 但不增加信息量。假设真实数据方差为 100,若将 10 条记录重复一次,n 变为 20,但新数据集的方差会降至约 47.6(因为重复值使数据更集中)。
- 异常值:直接改变 (xᵢ - μ)² 项。一个偏离均值 10 倍标准差的异常值,其平方项是正常值的 100 倍,足以使整体方差膨胀 3~5 倍。
看板设计提示: 在价格方差看板中,建议同时展示“原始方差”和“清洗后方差”,并用颜色编码(绿色:清洗后方差降低 < 10%;黄色:10%~30%;红色:> 30%)提示数据质量风险。当红色出现时,应触发人工审核流程。
4.6 数据质量清洗流程总览
下图展示了从原始数据到可用价格方差的完整清洗流程,包含三个并行处理分支:
4.7 实战案例:一次价格方差失真分析
某电子制造企业在整合 PCB 板供应商时,发现供应商 B 的价格方差异常高(σ² = 45.2),而其他同类供应商的方差均在 2~5 之间。经数据质量审计发现:
- 缺失值:供应商 B 有 12% 的报价记录缺少“运费”字段,导致单价计算不完整。
- 重复值:同一张采购订单(PO-2024-0381)被重复录入 3 次,单价均为 12.5 元,拉低了真实方差。
- 异常值:存在一条单价为 87.3 元的记录(正常范围为 10~15 元),经核实为录入时将“8.73”误输为“87.3”。
清洗后,供应商 B 的价格方差降至 3.8,与其他供应商一致。该案例说明:在计算价格方差前,必须执行系统化的数据质量清洗,否则看板信号将完全误导供应商整合决策。
清洗规则总结: 缺失值用中位数填充(保留标记);重复值按 L1→L2→L3 分层去重;异常值用 IQR+MAD 组合检测并替换为近 3 个月中位数。所有清洗操作均需记录日志,确保可追溯、可回滚。