4. 价格方差定义:统计学方差公式在采购价格中的应用,价格波动系数与异常阈值设定

4.1 从统计学方差到采购价格方差

在采购风控场景中,价格方差并非简单的数学套用,而是经过品类归一化与时间窗口对齐后的离散度度量。其核心目的是量化同一品类下,不同采购订单(PO)单价相对于品类均值的偏离程度,从而为越权采购、围标串标、价格异常提供量化依据。

核心公式: 采购价格方差 σ² = Σ (Pᵢ − μ)² / N
其中:Pᵢ = 第 i 笔订单的单价(经单位归一化);μ = 该品类在时间窗口内的加权平均单价;N = 有效订单笔数(剔除缺失值与明显录入错误)。

4.2 价格波动系数(CV)与异常阈值设定

方差本身受量纲影响,不同品类的价格基数差异巨大(如螺丝 vs 服务器)。因此引入价格波动系数(Coefficient of Variation, CV),实现跨品类可比性:

指标 公式 含义 阈值参考
价格方差 σ² Σ(Pᵢ − μ)² / N 离散程度 品类内自定义
标准差 σ √σ² 与均值同量纲的离散度 —
价格波动系数 CV σ / μ × 100% 相对离散程度(无量纲) ≤10% 正常;10%~30% 预警;>30% 异常
实战经验: 对于标准品类(如办公用纸、MRO备件),CV 阈值建议设为 ≤15%;对于定制化品类(如非标模具、咨询服务),CV 阈值可放宽至 ≤30%。超出阈值的订单自动进入越权采购排查队列。

4.3 价格方差清洗流程(SVG 流程图)

下图展示了从原始采购订单到价格异常标记的完整清洗链路,其中方差计算与 CV 判定是核心决策节点:

价格方差清洗与异常标记流程 原始采购订单 品类归一化 + 单位对齐 计算品类加权均值 μ 计算价格方差 σ² CV = σ/μ × 100% 判定 正常(CV≤10%) 预警(10%~30%) 异常(>30%)

4.4 异常阈值设定的三种策略

阈值设定不能一刀切,需结合品类特性与业务容忍度。以下三种策略在实际项目中组合使用:

  1. 统计分布法: 假设价格服从正态分布,以 μ ± 2σ 或 μ ± 3σ 作为上下限。适用于订单量大、价格稳定的标准品类。
  2. 百分位数法: 取 P5(第5百分位)和 P95(第95百分位)作为阈值边界。适用于偏态分布明显的品类,如工程服务、咨询类。
  3. 动态滑动窗口法: 按最近 90 天或 180 天的滚动窗口重新计算 μ 和 σ,适应市场价格波动。适用于原材料、大宗商品等价格敏感品类。
避坑提醒: 切勿直接使用全局方差阈值。不同品类的价格基数差异可达 1000 倍以上,必须先用 CV 做无量纲化处理,再按品类分组设定阈值。否则高单价品类会掩盖低单价品类的异常波动。

4.5 价格方差清洗规则清单

清洗步骤 规则描述 输出字段
Step 1 剔除单价为 NULL、0 或负数的订单 valid_flag = 1/0
Step 2 按品类编码 + 单位(如个/箱/吨)分组,单位不一致时先转换 unit_normalized
Step 3 计算分组内加权均值 μ(按订单金额加权) mean_price
Step 4 计算每笔订单的离差平方 (Pᵢ − μ)² squared_dev
Step 5 计算分组方差 σ² 与标准差 σ variance, stddev
Step 6 计算价格波动系数 CV = σ / μ × 100% cv_pct
Step 7 按品类阈值标记异常等级:正常/预警/异常 price_anomaly_level

4.6 价格方差与越权采购的关联逻辑

价格方差本身不直接证明越权,但它是越权采购排查的重要前置信号。当某笔订单的单价偏离品类均值超过 2 个标准差(即 |Pᵢ − μ| > 2σ),且该订单的采购人、供应商或品类不在其授权范围内时,系统自动触发越权嫌疑标记。方差越大,越权采购的排查优先级越高。

实战案例: 某企业 MRO 品类 CV 长期维持在 8%~12%,某月突然飙升至 45%。经排查,发现某采购员越权采购了非授权品牌的高价备件,单价超出品类均值 2.8 倍。价格方差清洗规则成功捕获该异常,避免了 23 万元的超额支出。