生鲜仓WMS入库分配制度设计:从”人喊人”到”系统驱动”的三层决策
大多数生鲜仓的入库分配还停留在"仓管组长喊人"的阶段——谁在身边就派谁,谁有空就谁上。这种看似灵活的方式,背后藏着冷链事故、负载失衡、上架错位等一系列问题。本文从0到1拆解一套入库分配制度,把"人喊人"变成"系统驱动"。

一、痛点:为什么入库分配必须从”人喊人”升级?
先说一个真实场景:
某生鲜仓到货高峰期,3辆冷链车同时到仓,1200件商品等着入库。仓管组长站在过道里喊:”小王你去上架,老李你去验收,张姐你帮忙过磅。”——这就是大多数生鲜仓的入库分配方式。
这种“人喊人”的模式有3个致命问题:
1. 安全漏洞:谁都能进冷藏区
冷藏区没有资质门槛,谁被喊到谁就进。笔者蹲仓时就遇到过一次冷链事故——无证人员进入冷藏区操作,导致温度波动,整批商品损耗。这不是”偶尔发生”,是”迟早发生”。
2. 负载失衡:忙的人越忙,闲的人越闲
没有负载均衡机制,仓管组长凭感觉派单。结果是:勤快的人一直被叫,摸鱼的人一直闲着。更严重的是,忙的人出错率更高——上架错误、数量差异,大多发生在超负荷状态下。
3. 过程不可追溯:出了问题找不到原因
纸质单据+口头派单,任务没有数字化记录。上架错位了?不知道谁上的。数量差异了?不知道哪一步出的错。差异率8%——但没人知道为什么。
这三个问题的本质是同一个:入库分配没有“制度”,只有“经验”。
经验是仓管组长的个人能力,不是组织能力。组长请假了,分配就崩了。我们需要把经验变成制度,把制度变成系统。
二、解题思路:三层分配,串成一条线
入库分配不是一个算法,是三层决策串成一条流水线——每一层的输出是下一层的输入:

为什么分三层,而不是一个算法搞定?
因为三层的决策依据不同:
- 库区分配看”货”——SKU的温度、属性、周转率,决定进冷藏区还是常规区;
- 库位分配看”空间”——库位容量、排架层、相邻关系,决定放03排12架04层;
- 人员分配看”人”——谁有资质、谁在附近、谁负载低,决定派张三还是李四。
三个算法的输入不同,合成一个只会更复杂。而且库位分配需要上架员确认,库区分配是系统自动——决策方式也不同。

三、第1层:库区分配——货进哪个库区?
3.1 分配逻辑:SKU属性 × 库区属性匹配评分
库区分配的核心是匹配评分——SKU有什么属性,库区有什么属性,匹配度最高的就是目标库区。
SKU属性与库区属性的对应关系:

3.2 硬约束 vs 软优化
库区匹配不是所有条件都一样重要,必须区分硬约束和软优化:
硬约束(不满足直接排除):
- 温度不匹配——冷藏商品不能进常规区,这是安全问题,不是效率问题
- 库区已满——容量100%的库区不再分配
- 库区停用——维护/清洁中的库区不可分配
软优化(不满足可以,但扣分):
- 周转率不匹配——高周转商品放深处,扣分但不排除
- 属性不匹配——标件进非标件区,能放但效率低
- 上货区不连通——多走几步路,扣分但不排除
为什么要区分硬约束和软优化? 因为硬约束是”安全红线”,软优化是”效率加成”。如果全当软优化,冷藏商品可能被分配到常规区(因为常规区容量更空);如果全当硬约束,系统会频繁出现”无可用库区”的异常。
3.3 库区匹配评分公式

score = 温度匹配 × 0.35 // 硬约束,权重最高 + 属性匹配 × 0.25 // 标件/非标件 + 容量余量 × 0.20 // 库位剩余率(避免爆仓) + 周转率近 × 0.15 // 高周转 → 近出库口 + 上货区连通 × 0.05 // 上货区直连(少走回头路) 硬约束:温度不匹配 → score = 0,直接排除
权重为什么是0.35/0.25/0.20/0.15/0.05?权重分两步定:
- 冷启动——先跟仓管组长和冷链主管对齐,用专家经验设默认权重,温度最高(因为安全硬约束);
- 数据驱动——跑2周后,用历史数据做显著度分析,调整权重。跑了1个月后做了A/B测试,确认效果。
3.4 实例演示
案例:一批新疆冷链牛腱子到仓入库
- SKU属性:冷藏 + 标件 + 高周转
- 候选库区:A-冷藏标件区 / B-冷藏非标件区 / C-常规标件区

系统决策:A-冷藏标件区,自动生成上架任务。
四、第2层:库位分配——货放到哪个库位?
库区分配确定”进哪个库区”,库位分配确定”库区内具体放哪”。库位是仓库管理的最小空间颗粒度。
4.1 库位层级结构
仓库 → 库区 → 排 → 架 → 层 ↓ ↓ ↓ ↓ ↓ XXX仓 冷藏标件 03排 12架 04层
每一层有独立的分配规则:

4.2 库位分配的4条规则
- 周转率近出库口——高周转SKU放01排,低周转放后排。出库频繁的商品少走一步是一步。
- 同品类集中——同品类SKU放在同一架或相邻架。拣货时一条通道走完,不用来回跑。
- 容量上限——库位已满不再分配。这是物理限制,不能超放。
- 黄金层优先——高频SKU放2-3层(仓管站立时最方便拿取的高度),低频放1层或4-5层。
4.3 为什么库位分配是”系统推荐+人工确认”?
库位分配不是系统硬定的,是系统推荐3个候选库位,上架员扫码确认。
为什么?因为实际情况比算法复杂:
- 库位旁边可能有临时堆放的货,算法看不到
- 货架可能轻微变形,系统不知道
- 某个库位可能被临时占用
如果系统硬定一个库位,上架员到了发现不合适,要么回仓库重新分配(浪费时间),要么强行塞进去(安全隐患)。所以推荐3个候选,上架员选一个确认。
但手动选择必须扫码确认——不能只输入库位号,因为手动输入容易出错。扫码确保数据可追溯,也防止上架员偷懒随意选择。
手动选择的数据会回流系统,优化推荐算法——如果某个库位经常被手动选择,说明系统推荐逻辑需要调整。

4.4 手动选择库位的管控机制:用数据替代审批
“系统推荐+人工确认”的设计,必然带来一个问题:上架员不选系统推荐,手动选了别的库位,怎么管控?
最常见的思路是”加审批”——手动选择要主管审批才能生效。但这个方案在入库场景下有致命问题:时效。
入库上架是时效敏感任务。冷链商品在暂存区多等1分钟,温度就多波动1分钟。如果手动选择库位要审批:
- 主管可能不在岗 → 任务卡住 → 冷链商品温度失控
- 审批链路增加系统复杂度 → 仓管觉得“系统太麻烦” → 回到口头派单
- 审批是事后追责思维,不是事中管控思维
审批解决的是“怕出错”,但入库上架的真正痛点是“怕慢”。冷链场景下,慢比错更致命。
所以,我们用三层机制替代审批:
第1层:额度限制(事中管控)
不是无限次手动选择,而是设每日手动选择次数上限:

超过上限不是不让选,是自动触发一条通知给主管——不是审批,是通知。主管在后台能看到”张三今天手动选择了4次,超过上限1次”,如果发现异常再去沟通。
第2层:扫码强制确认(防偷懒)
不管选系统推荐还是手动选择,都必须扫码确认:
- 选系统推荐:扫码确认目标库位 → 系统对比”推荐库位 vs 扫码库位” → 一致 → 完成
- 手动选择:扫码确认自选库位 → 系统记录”本次为手动选择” → 完成并计数
扫码有3个作用:防输入错误(手动输入库位号容易打错)、防偷懒(上架员必须走到那个库位扫码,不能随便选一个就走了)、数据可追溯(谁在什么时间上架到了哪个库位,全程有记录)。
第3层:数据回流+异常分析(事后优化)
这是最关键的一层。每次手动选择的数据都回流系统,系统做两件事:
1)周度分析:手动选择率
手动选择率 = 手动选择次数 / 总上架次数

2)偏好分析:谁在手动选择?选了什么?
- 如果某个上架员手动选择率特别高 → 可能是不信任系统,需要培训
- 如果某个库区手动选择率特别高 → 可能是库位数据不准确(库位标了空闲但实际有货),需要盘点
- 如果手动选择的库位和推荐库位总是在同一排 → 可能是推荐算法的“同品类集中”规则太严格,需要调参
完整的管控流程:
上架员选择库位 ↓ 系统推荐3个候选库位 ↓ 上架员选了推荐库位? ──是──→ 扫码确认 → 完成 ↓否 上架员手动选择库位 ↓ 扫码确认(强制)→ 系统记录”手动选择” → 计数+1 ↓ 是否超过每日上限? ──否──→ 完成 ↓是 完成 + 自动通知主管(非审批,是通知) ↓ 数据回流 → 周度分析手动选择率 → 优化推荐算法
核心原则:用数据替代审批,用机制替代人盯人。
审批是”人盯人”——主管审批,主管不在就卡住。数据回流是”系统盯人”——系统自动记录、自动分析、自动优化,不需要人实时盯着。这个思路不只适用于库位分配,所有”系统推荐+人工确认”的场景都可以复用。
五、第3层:人员分配——上架任务派给谁?
库区和库位都定了,接下来就是把上架任务派给谁。人员分配分两步:先筛资格,再排优先级。
5.1 第一步:资格筛选——谁能干?

这一步的本质是“安全网”——不是选最优,是排除不合格。如果冷藏区没有持证人员,系统不会”退而求其次”派无证人员,而是触发异常——通知主管安排持证人员。
5.2 第二步:优先级排序——让谁干?
score = 距离 × 0.4 // 距库区最近(减少走动时间) + 负载 × 0.3 // 当前任务数最少(负载均衡) + 技能 × 0.3 // 历史准确率最高(质量保证)
权重为什么是0.4/0.3/0.3?基于历史数据显著度分析:
- 距离与拣货时长的相关系数 r=0.68(最显著)→ 权重最高
- 负载与完成时长的相关系数 r=0.52 → 权重次之
- 技能与准确率的相关系数 r=0.42 → 权重最低
不是拍脑袋,是数据跑出来的。 但冷启动阶段(没有历史数据时),先用专家经验设默认权重,跑2周后切换到数据驱动权重。
5.3 实例演示
案例:上架任务“200件冷链牛腱子到A-冷藏标件区”
- 资格筛选:当日5人在岗 → 3人持冷链证 → 剩余3人
- 优先级排序:

3. 系统派单:张三,PDA推送+App推送+短信
5.4 SLA与异常处理

关键设计原则:自动是主线,人工是兜底。
系统不是上帝视角,特殊场景必须留人介入的接口。但人工操作的每一步都必须数字化记录——不是为了监控,是为了数据回流反哺算法优化。
六、三层联动:从”货到仓”到”派单到人”
三层不是孤立的,是串成一条流水线。完整链路如下:

三层通过“任务工单”串起来——工单上带库区属性、库位信息、人员信息,一条数据线贯穿。每个环节的输出是下一个环节的输入,链路断了系统就报警。
七、踩坑与反思
7.1 冷启动问题:没有历史数据,权重怎么定?
我们最初没有历史数据,0.35/0.25/0.20/0.15/0.05这个权重是拍脑袋的。但”拍脑袋”不是随便拍——是跟仓管组长和冷链主管对齐后的”专家经验拍脑袋”。
冷启动策略:
- 先用专家经验设默认权重
- 跑2周后,用历史数据做显著度分析,调整权重
- 跑1个月后做A/B测试,对比效果
反思: 如果让我重来,我会在数据分析阶段就做MVP验证——先用最简单的规则(如”温度匹配就进,不管其他”)跑1周,看看差异率的变化,再逐步加权重。不要一上来就做5维加权评分,太复杂了,出问题不好排查。
7.2 库位分配的”系统推荐”与”人工确认”之争
上线初期,有人建议库位分配也做成系统自动——不需要上架员确认,系统定哪个就哪个。我反对了这个方案。
理由: 仓库不是实验室,实际情况比算法复杂。库位旁边可能有临时堆放的货、货架可能轻微变形、某个库位可能被临时占用——这些算法看不到。如果系统硬定,上架员到了发现不合适,要么回仓库重新分配(浪费时间),要么强行塞进去(安全隐患)。
但“人工确认”不等于“人工随意”——手动选择必须扫码确认,确保数据可追溯。手动选择的数据回流系统,优化推荐算法。这是”自动是主线,人工是兜底”的体现。
7.3 仓管抵触:从”Excel挺好的”到”系统更快”
系统上线后最大的阻力不是技术,是仓管。他们的逻辑是:”我以前用Excel挺好的,你让我用系统,我还得学,还得多扫码。”
我们的解决方案:
- 先让1个仓管试用——选最配合的那个,用2周时间证明比Excel快
- 用数据说话——”你用Excel上架1单平均12分钟,系统分配后平均8分钟,每天省40分钟”
- 灰度方案——先1个仓跑2周,再推全仓
- 保留改派权限——仓管有改派权限,不是被系统”控制”,而是被系统”辅助”
反思: 如果让我重来,我会在产品设计阶段就做共创——让仓管参与规则定义,而不是我定义好规则让他们执行。仓管抵触的本质不是”不想用系统”,是”没有参与感”。
7.4 爆仓兜底:所有库区都满了怎么办?
我们遇到过一次极端情况:大促期间3个库区全部满载,系统无法分配。
三层兜底方案:
- 跨库区溢出——同仓库内其他库区有空位,系统自动推荐(扣分但可用)
- 临时库位——上货区/暂存区可以临时放,但打”临时”标记,24小时内必须移到正式库位
- 截单——如果仓库真的满了,系统通知采购端暂停入库,等盘点出库后再开放
第3条是最后的防线——不是仓库的事,是供应链协同的事。WMS不是孤岛,它和采购系统、OMS是联动的。
八、效果验证与归因
上线后差异率从8%降到1.5%。但8%→1.5%不是一招解决的,是5个模块各解决一类差异:


归因链是验证效果最硬的武器。 不是”做了WMS就降了”,是”每个模块解决了哪类差异”。面试、汇报、复盘,都要讲归因链,不要讲”感觉变好了”。
九、总结:入库分配制度的设计原则
回顾全文,入库分配制度的设计遵循5条原则:
- 硬约束优先——温度不匹配直接排除,不是扣分。安全红线不能妥协。
- 三层决策分离——库区看货、库位看空间、人员看人,三个算法的输入不同,不要合成一个。
- 自动是主线,人工是兜底——系统驱动任务流转,但人工操作的每一步都必须数字化记录。
- 冷启动用专家经验,数据驱动用显著度分析——不要一上来就做5维加权评分,先做MVP验证。
- 归因链是验证效果的唯一标准——不是”做了WMS就降了”,是”每个模块解决了哪类差异”。
最后,入库分配不是”画原型”,是把仓库从纸质+Excel的运作方式翻译成系统规则。规则定义是PM的价值,代码实现是开发的价值——划清边界,不抢功劳也不推责任。
本文由 @Totoro畅 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
- 目前还没评论,等你发挥!

起点课堂会员权益




