摘要:针对国内离散制造车间普遍存在的库存预警误报漏报多、呆滞库存高、缺料停线频发的问题,本文结合某汽配加工车间近一年的落地实践,梳理智能库存风险预警系统的设计逻辑、核心选型权衡和一线落地踩坑经验,供同行参考。
为什么传统库存预警总是掉链子
汽配车间待料停线,是多少生产经理的噩梦。我之前待的车间,就吃过好大的亏。去年上半年,一款主供主机厂的转向节零件,原料库存触发了常规阈值预警,采购部门急急忙忙催了两吨货进来,结果转头客户就砍了一半订单,原料堆在仓库里快一年,占用了二十多万的流动资金,还占了半个恒温库的库容。
另一次更糟,旺季赶订单,供应商刚好换了物流商,交货延迟了四天,我们的静态阈值设的刚好够用到到货,结果差了整整8小时停线,算上产能损失和违约金,亏了十几万。
说实话,传统库存预警从根上就有问题。只看当前库存,设个静态上下限,不管订单波动,不管供应商靠不靠谱,不管路上会不会堵。我们统计过2022年全年的预警记录,误警率47%,漏警率32%,一大半报警都是无效噪音,仓管天天关弹窗,真有风险的时候反而被淹没了。

很多工厂上了百万级的ERP,库存预警模块还是换汤不换药,就是那套静态阈值,解决不了动态问题。
智能库存风险预警系统的核心设计逻辑
我们去年启动改造的时候,一开始也想堆概念,搞个全栈深度学习大模型,后来算了算算力成本,再想想一线管理员的接受度,直接砍掉了,就做轻量实用的方案。
核心设计第一步,选风险因子。我们前前后后试了17个变量,最后留下来5个核心因子,当前净库存、未来7天工单毛需求、供应商近6个月交付履约率、在途运输周期标准差、呆滞库容占比,多一个都没要。变量多了容易过拟合,现场调参也麻烦,五个刚好覆盖了从需求到供应到仓储全链路的核心风险。
风险得分的计算我们遵循GB/T 28002-2011风险管理的通用规范,公式很简单:
R = Σ(Wi * Pi)
其中R是综合风险得分,Wi是第i个风险因子的权重,Pi是该因子对应的风险概率(标准化后0-1区间)。我们用层次分析法算出来的权重,供应商交付履约率占了0.3,是最高的,毕竟我们车间80%的断料风险都来自供应商延期,这个权重是拿真金白银换出来的。

模型选型我们选了XGBoost,没有选更复杂的LSTM或者深度神经网络。原因很简单,XGBoost可解释性强,哪个因子拉响了预警,一眼就能看出来,出了问题我们一线工程师能调,不用等算法公司远程改模型。之前我们试过用LSTM训练,准确率确实高了两个百分点,但模型是个黑盒,错了都不知道错在哪,维护成本翻了三倍,权衡之后直接放弃了。
这里说个踩坑经验,很多人一开始训练模型就把所有历史数据全塞进去,我们一开始也这么干,结果模型出来完全不准。后来才发现,2020年疫情封控那段时间的交付数据全是异常值,把整个权重带偏了。最后我们给所有异常周期的数据打上标签,训练的时候加了L1正则化约束,把异常数据的影响降下来,准确率一下子就上来了。
一线落地的避坑指南

模型调好了不代表就能用,落地才是真的难。我们踩了好几个坑,给大家提个醒。
第一个坑,和现有ERP系统的数据同步。很多人以为接口对接完就万事大吉,我们一开始对接完才发现,原有ERP系统默认每周三才更新一次全量库存数据,我们预警要的是日更啊!增量都没有。后来找信息部的同事磨了半个月,单独开了一个每日增量同步的接口,每天凌晨同步前一天的出入库和在途数据,才解决这个问题。这个坑看起来低级,百分之八十的项目都栽在这。
第二个坑,预警分级太复杂。一开始我们学大厂,分了红橙黄绿蓝五级预警,结果仓管跑来找我,说每天打开系统一堆颜色,根本不知道先处理哪个,索性都不看了。后来我们直接砍成三级,立刻处理(48小时内会断料/风险得分>0.7)、3天内处理(0.3<得分<0.7)、持续观察(得分<0.3),一下子清爽了,没人抱怨了。
第三个坑,追求全自动不需要人工干预。很多人觉得智能就是完全不用人碰,不对,我们特意留了人工调整权重和阈值的入口。比如马上国庆长假,全国物流都会慢,仓管或者采购自己就能把运输周期波动的权重往上调几个点,遇到供应商换工厂,直接手动把交付率的权重拉高,灵活得很,比AI自己拍板靠谱多了。
上线快一年,我们算过账,误警率从47%降到8%,漏警率从32%降到2.7%,去年下半年没发生过一次缺料停线,呆滞库存占比从12%降到了4.8%,盘活了三百多万的流动资金,效果实打实的。
智能库存风险预警,从来不是越复杂越高端越好。适合自己工厂生产模式、能解决实际问题的,才是好系统。别堆概念,别追求大而全,先抓住最痛的缺料和呆滞两个问题,从小模块做起,跑通再优化,比什么都强。