4. ABC分类数据准备

ABC分类的准确性直接决定库位优化的效果。数据准备阶段的核心任务是从企业信息系统中提取原始业务数据,经过清洗、筛选、聚合与排序,最终形成可供分类算法使用的“SKU-价值”数据集。本节将详细拆解这一过程的四个关键步骤。

4.1 数据采集来源:WMS与ERP的协同

ABC分类所需的基础数据通常分散在企业的两个核心系统中:

系统 核心数据 在ABC分类中的作用
WMS(仓储管理系统) SKU主数据、库存数量、库位信息、出入库流水 提供SKU的物理属性与作业频率(出库量)
ERP(企业资源计划系统) 采购订单、销售订单、成本信息、单价 提供SKU的财务属性(金额、成本、利润)
实践建议:优先从WMS获取出库量数据,从ERP获取单价或成本数据。若两系统数据不一致(如SKU编码不同),需以ERP中的SKU主数据为基准进行映射。

4.2 数据清洗与预处理

原始数据通常包含噪声,必须经过清洗才能用于分析。主要清洗步骤包括:

  1. 处理缺失值:删除或填充出库量、金额为空的SKU记录。
  2. 剔除异常值:过滤出库量为负数、金额为0或明显超出正常范围的记录(如单日出库量超过库存总量)。
  3. 去重:合并因系统错误产生的重复SKU记录。
  4. 时间窗口统一:确保所有SKU的数据覆盖同一时间段(如最近12个月),避免季节性偏差。
  5. 格式标准化:统一SKU编码大小写、单位(如“件”与“个”)、货币单位。
常见陷阱:不要直接使用ERP中的“销售金额”替代“出库金额”。销售金额可能包含未发货订单,而出库金额才是实际从仓库移动的货值。建议使用WMS的出库数量 × ERP的加权平均单价来计算金额。

4.3 字段选择:核心三要素

ABC分类仅需三个核心字段,过多字段反而会引入噪声:

  • SKU(库存单位):唯一标识,用于分组与聚合。
  • 出库量(Quantity):在选定时间窗口内的总出库数量,反映作业频率。
  • 金额(Amount):出库量 × 单位成本(或单价),反映资金占用与价值贡献。

以下是一个经过清洗后的示例数据集结构:

SKU 出库量(件) 单位成本(元) 金额(元)
SKU-001 12,500 8.50 106,250
SKU-002 8,200 15.00 123,000
SKU-003 450 320.00 144,000

4.4 数据聚合与排序

清洗后的明细数据需要按SKU聚合,并按金额降序排列,为ABC分类计算累计占比做准备。聚合与排序的SQL逻辑如下:

-- 数据聚合与排序示例(SQL)
SELECT
    sku,
    SUM(out_qty) AS total_qty,
    ROUND(SUM(out_qty * unit_cost), 2) AS total_amount
FROM
    warehouse_transactions
WHERE
    transaction_date BETWEEN '2024-01-01' AND '2024-12-31'
    AND out_qty > 0
    AND unit_cost > 0
GROUP BY
    sku
ORDER BY
    total_amount DESC;

排序后的数据集将作为下一节“ABC分类计算”的输入。以下SVG图展示了从数据采集到排序完成的完整流程:

ABC分类数据准备流程 数据采集 WMS + ERP 数据清洗 去重/剔除异常 字段选择 SKU/出库量/金额 数据聚合 SUM + GROUP BY 排序输出 按金额降序排列 输出结果:按金额降序排列的SKU数据集,用于计算累计占比与ABC分类
关键产出物:经过上述步骤,你将获得一个包含SKU、出库量、金额三列,并按金额降序排列的干净数据集。该数据集是后续ABC分类计算(第5章)的唯一输入,其质量直接决定分类结果的可靠性。