一、数据清洗,到底在洗什么?
想象你要做一顿饭。真正炒菜的时间只占20%,剩下80%的时间都在买菜、择菜、洗菜。
数据清洗,就是数据分析这顿饭的“洗菜”环节。
把脏数据分成四类,你就知道该洗什么了:
脏数据类型 | 长什么样 | 供应链里的例子 |
|---|---|---|
| 缺失数据 | 该有的值没了 | 某SKU某天销量没记录、仓库字段是空的 |
| 重复数据 | 一模一样的数据出现多次 | 同一张订单录了两次、同一批库存重复统计 |
| 错误数据 | 数值不合逻辑 | 库存是负数、配送时效是0、价格超出合理范围 |
| 不规范数据 | 格式五花八门 | 日期有的写“5.1”有的写“2024/5/1”、单位既有“箱”又有“件” |
一句话总结:数据清洗的本质,就是解决这四类问题——残缺、重复、错误、不规范。
二、供应链场景里,最常遇到的“脏数据”长什么样?
作为产品经理,你不需要懂代码,但需要知道自己的项目里最容易在哪些地方翻车。
以下是三个高频场景:
场景一:SKU编码混乱
ERP里叫“A001”、WMS里叫“A-001”、经销商系统里叫“001A”。三个系统一对接,AI以为这是三种不同的货品,库存永远对不上。
场景二:地址不规范
“上海市浦东新区张江高科技园区”和“上海浦东张江”在系统里可能是两条记录。AI做调拨路径规划时,识别不出这是同一个地方。
场景三:数据不同步
总仓的库存每小时更新一次,经销商仓库三天才报一次数。AI拿到的数据有时差,算出来的补货量自然不准。
记住一句话:基础数据有问题,再强的AI都是白费。数据清洗就是给AI“洗菜”,菜没洗干净,炒出来的菜没法吃。
三、六步清洗法:供应链产品经理的落地实操
不需要你写代码,但需要你定标准、设规则、追进度。以下六个步骤按优先级排列,可以照着推进:
第一步:数据筛选——先筛掉无用的
先把不该要的数据踢出去,减少后面的清洗工作量。
保留什么:和你项目直接相关的核心数据——进销存数据、订单数据、仓库数据、车辆数据、促销/节假日/天气等关联数据。
剔除什么:无关字段(比如用户个人信息、冗余备注)、无效数据(比如测试数据、明显是错的异常值)。
产出物:一张《数据范围界定表》,明确“要什么、不要什么”。
第二步:处理缺失值——最常见的问题
供应链数据经常有缺失——某天销量没记、某条订单的仓库忘了填。按缺失率分两种情况处理:
轻度缺失(缺失率<5%):填补它
数值类(销量、库存):用同类数据的均值或中位数填补。比如A商品6月10日销量缺失,就用6月9日和11日的平均值补上。
分类类(仓库名称、品类):用出现次数最多的值填补。
重度缺失(缺失率≥5%):删掉它
直接删除这条数据,或者删除整个字段。比如某SKU近30天有20天销量缺失,补了也是瞎猜,不如直接剔除,避免干扰AI判断。
第三步:处理异常值——最容易误导AI的问题
异常值就是“不符合业务逻辑”的数据。比如同品类常规库存是1000件,突然冒出一个10000件;同城配送常规24小时到,突然冒出一个100小时。
怎么发现它:用业务经验判断,或者和同类数据对比——超出均值3倍以上的,先标红。
怎么处理它:
能修则修:明显是录入错误(比如库存10000→实际应该是1000),修正后保留。
不能修就删:判断不出原因的异常值(比如无理由的销量暴涨),直接删除或标记为“异常”单独记录,不参与AI建模。
第四步:处理重复值——避免数据重复计算
重复数据常见于订单录入、库存同步环节。比如同一张订单录了两次,AI算销量时就会翻倍。
怎么发现它:筛选出关键字段完全一致的记录(比如订单号、SKU、时间、数量全部一样)。
怎么处理它:保留1条,删掉其他的。
第五步:数据标准化——让AI看得懂
供应链系统里,同一件事往往有N种写法。不统一口径,AI根本没法识别。
时间格式:统一为“2024-05-01 14:30:00”,拒绝“5.1”“2024/5/1”等各种写法。
单位统一:库存统一用“件”、重量统一用“kg”、运费统一用“元”。不能同一张表里既有“箱”又有“件”。
编码统一:仓库编码统一成“BJ-01”“SH-02”这种格式,SKU编码统一成“品类+规格+批次”的规则。
第六步:数据校验——最后一道把关
清洗完了别急着用,花半小时做两个检查:
逻辑校验:比如“库存 = 入库 - 出库 + 退货”,核对一下这个公式还能不能对上。
抽样校验:随机抽10%-20%的数据,人工核对一下清洗后的结果——缺失值填得对不对、异常值处理得合不合理。
四、三个注意事项
注意一:清洗要守住业务逻辑
比如生鲜有“临期”字段,不能随便按均值填补——得结合临期时间判断。不懂业务的人洗数据,越洗越乱。
注意二:保留清洗痕迹
哪些缺失值被填补了、哪些异常值被删除了——统统记录下来。方便后续复盘,也方便AI模型迭代时追溯。
注意三:不过度清洗
节假日销量暴涨、促销期间订单激增,这些是正常波动,不是异常值。不要为了“数据漂亮”而洗掉真实业务信息。
五、一句话总结
数据清洗,不是技术团队的“脏活累活”,而是产品经理必须亲自盯的地基工程。
花70%的精力把数据洗干净,剩下的30%给算法和产品——这是ROI最高的投入方式。