4. 需求分析:品类分类趋势分析的核心指标与维度

品类分类趋势分析是采购支出数据仓库的核心应用场景之一。其目标是通过多维度、多指标的综合分析,揭示不同品类在时间序列上的支出变化、价格波动、采购量变动以及供应商格局的演变。本节将系统梳理分析所需的核心指标与维度,为后续的星型模型设计与ETL逻辑奠定基础。

4.1 核心指标定义

趋势分析需要围绕“金额-量-价-结构”四个层面构建指标体系,确保既能洞察宏观支出规模,又能深入微观效率与风险。

指标名称 业务含义 计算公式 / 数据来源 分析价值
支出金额 一定时期内采购该品类所支付的总金额(含税/不含税) SUM(订单行金额) 衡量品类支出规模,识别高支出品类,支撑预算管控
采购量 一定时期内采购该品类的总数量(单位:件、kg、升等) SUM(订单行数量) 反映实际需求规模,与支出金额结合可计算均价
单价趋势 品类在时间序列上的平均价格变化轨迹 支出金额 / 采购量(加权平均单价) 监测价格波动,识别通胀/通缩趋势,辅助采购谈判
供应商集中度 品类采购额在供应商之间的分布集中程度 CRn(前n家供应商占比)或 HHI(赫芬达尔指数) 评估供应风险,判断是否过度依赖单一供应商
指标计算提示: 单价趋势建议使用加权平均单价(支出金额/采购量),而非简单算术平均,以避免不同规格产品数量差异导致的均价失真。供应商集中度在ETL阶段需预先计算各供应商在品类内的支出占比,再汇总计算CR3或CR5。

4.2 核心维度体系

维度是观察指标的“视角”。品类趋势分析需要至少建立四个基础维度,并支持维度之间的交叉钻取。

  • 时间维度: 支持年、季度、月、周等粒度,用于观察趋势的季节性与周期性。
  • 品类维度: 支持品类树(大类→中类→小类),用于上卷(Roll-up)和下钻(Drill-down)分析。
  • 供应商维度: 包含供应商名称、等级、区域、合作年限等属性,用于分析供应商表现。
  • 部门维度: 包含采购部门、成本中心、需求部门等,用于分析内部需求来源与合规性。

4.3 指标与维度的交叉分析矩阵

将四个指标与四个维度进行交叉组合,可以形成丰富的分析场景。下表列出了最常用的分析组合及其业务解读:

维度 \ 指标 支出金额 采购量 单价趋势 供应商集中度
时间 月度/季度支出趋势,识别支出高峰 采购量季节性波动 价格走势图,判断涨价/降价周期 集中度随时间变化,判断供应格局是否恶化
品类 Top N 高支出品类排名 品类采购量占比 不同品类价格波动对比 各品类供应商集中度对比,识别高风险品类
供应商 供应商支出份额,评估合作规模 供应商供货量稳定性 同一供应商不同品类的报价差异 供应商在品类内的垄断程度
部门 部门支出预算执行率 部门需求量的合理性 不同部门采购同品类是否存在价格差异 部门是否集中采购导致单一供应商依赖

4.4 趋势分析核心流程(SVG图)

下图展示了从数据源到趋势分析看板的完整流程,重点突出ETL在指标计算与维度关联中的角色。

品类分类趋势分析核心流程 ERP/采购订单 供应商主数据 组织/部门数据 ETL 处理:数据清洗 · 维度关联 · 指标计算 品类映射 · 单价计算 · 供应商集中度预聚合 数据仓库:星型模型(事实表 + 维度表) 趋势分析看板:支出 · 量 · 价 · 集中度

4.5 维度与指标的星型模型映射(SVG图)

在数据仓库设计中,趋势分析需要将指标存储在事实表,维度存储在维度表。下图展示了星型模型的核心映射关系。

品类趋势分析星型模型映射 采购支出事实表 支出金额 (度量) 采购量 (度量) 单价 (退化维度/度量) 供应商集中度 (预计算度量) 时间维度表 品类维度表 供应商维度表 部门维度表

4.6 关键分析场景与SQL示例

以下SQL示例展示了如何基于星型模型查询品类月度支出与单价趋势:

-- 查询品类月度支出金额与加权平均单价趋势
SELECT
    d.year,
    d.month,
    c.category_name,
    SUM(f.amount) AS total_spend,
    SUM(f.quantity) AS total_quantity,
    ROUND(SUM(f.amount) / NULLIF(SUM(f.quantity), 0), 4) AS weighted_avg_price
FROM fact_purchase f
JOIN dim_time d ON f.time_key = d.time_key
JOIN dim_category c ON f.category_key = c.category_key
WHERE c.category_level = '小类'
  AND d.year = 2024
GROUP BY d.year, d.month, c.category_name
ORDER BY d.year, d.month, total_spend DESC;
ETL 注意事项: 供应商集中度指标(如CR3)建议在ETL阶段按“品类+时间”粒度预计算并存入事实表,避免BI报表层实时计算带来的性能开销。单价趋势分析中,需注意处理数量单位不一致的问题(如“个”与“箱”),建议在ETL中统一转换为标准单位。

4.7 需求分析总结清单

在进行数据仓库设计与ETL开发前,请确认以下需求点已明确:

  • 指标确认: 支出金额、采购量、单价趋势、供应商集中度(CR3/CR5/HHI)是否全部纳入?是否需要增加“采购周期”、“到货准时率”等辅助指标?
  • 维度确认: 时间、品类、供应商、部门四个维度是否满足业务方分析需求?是否需要增加“项目维度”、“合同维度”或“区域维度”?
  • 粒度确认: 事实表粒度是“订单行”还是“汇总日/月”?不同粒度会影响ETL聚合逻辑与存储量。
  • 计算逻辑确认: 单价是采用加权平均还是最后一次采购价?供应商集中度是按“支出金额”还是“采购量”计算?
  • 历史数据范围: 需要加载多少年的历史数据?是否涉及数据回溯与重算?
常见需求遗漏: 业务方往往只关注“支出金额”和“采购量”,容易忽略“供应商集中度”这一风险指标。建议在需求评审阶段主动引导业务方关注供应风险,将集中度分析纳入核心需求,避免数据仓库上线后返工。