"你这系统是不是故意的?"

2019 年,我在一家 Fontana 的电商仓做 WES 上线。仓库 12 万平方英尺,一天 8000 单,拣选区 40 多个人。上午十点半,第一批波次放出来,拣选主管老陈捏着刚打出来的任务清单堵在我工位前面,手指头戳着纸:

"UPS 两点来取件,这批货你给我排到第 180 个任务。FedEx 下午五点才来走的货,倒让我先拣?真赶不上取件,客户投诉算谁的?"

旁边的系统管理员小李小声解释:"系统是按截单时间排的,那批 FedEx 是昨天半夜下的单……"

"昨晚下的单子又不着急。"老陈把清单往桌上一拍,"你们就说,到底是听截单时间,还是听取件时间?"

这场争论,我后来在好几家仓库都见过。波次只是把今天的活圈出来,圈出来之后,几百个任务谁先谁后,才是 WES 真正干活的地方。这个顺序配错了,仓库每天都在悄悄烧钱——烧的是取件车等人,烧的是加班,烧的是客户投诉。

排任务顺序的,其实就四只手

第一只手,承运商取件时间。这是最硬的约束。货没在取件车来之前拣完、复核完、封好箱,单子就只能等明天。客户看到的物流信息晚一天,你的客服电话就多一轮。很多仓的 WES 里这个字段根本没维护准,或者维护了但优先级规则里没用上,等于白搭。

第二只手,截单时间。这是最容易被滥用的一只手。截单早,说明客户下单早,不说明这单着急。一批昨晚 11 点下的单子,和一批今天早上 9 点下的、走两点取件 UPS 的单子,哪个急?显然是后者。但很多系统的默认规则就是按截单时间排,老陈那天撞上的就是这个。

第三只手,拣选路径。顺路的任务先拣,拣选员少走冤枉路,单位时间能拣更多。这只手没错,但它是"省钱"的手,不是"保命"的手。路径最好的用法是"同层内优化":比如同一取件窗口里有 50 个任务,系统按库位顺序排成一条顺路,拣选员基本不走冤枉路。但千万别让它跨层——为了顺路,把一个三点取件的单子插到两点取件的单子前面,这就是典型的捡了芝麻。

第四只手,缺货风险和客户等级。有些单子注定要出问题:账面有货实际没货的库位、需要卡批次效期的、VIP 客户的单子。这些单要么提前拣、提前暴露问题,要么单独拎出来,别让它们卡在波次的尾巴上。

四只手都想说了算,WES 就得有个裁决的办法。

拣选员用手持终端扫描库位确认任务

规则打架的时候,听谁的

给你一道真实的题。单 A:昨晚下的单,截单时间最早,库位在仓库最里面,承运商下午五点取件。单 B:今早下的单,截单时间晚,库位就在拣选区入口旁边,承运商两点取件。先拣哪个?

答案很清楚:先拣 B。取件时间是硬约束,路径是软优化。硬约束永远排在软优化前面。

我的配法是分层,不搞加权平均。加权听起来科学,实际是和稀泥——"截单时间占四成、取件时间占三成、路径占三成",最后排出来的顺序谁也看不懂,现场主管更不服气。分层简单得多:第一层按取件时间窗口分组,同一窗口里再按路径顺路排,缺货风险高的和 VIP 单在同层里提前一位。

分层还有一个好处:现场的人能看懂。拣选主管打开任务清单,一眼就知道"未来两小时要走的货在前面",他才愿意配合系统。不然他就自己拿张纸重排,WES 形同虚设——我见过不止一家仓,系统排的顺序和现场实际拣的完全是两套。顺带说一句,截单时间也不是完全没用:在同一取件窗口、路径也顺路的前提下,截单早的先拣,天经地义。它就是个兜底的平局裁决。问题只出在把它当成第一优先级——很多仓的规则配反了,把兜底项放在了最前面。

还有一个细节:优先级规则要留一个人工口子。系统再聪明,也算不到今天仓库的实际情况——复核台今天少了两个人,或者某条输送线临时检修。老陈这样的主管,手里得有一个"置顶"按钮,能把某个单子手动提到最前面。但这个口子要有记录:谁置顶的、为什么,系统里留痕。不然三个月后,这个按钮就变成"关系户通道",规则名存实亡。

配错优先级,是怎么烧钱的

第一种死法:只配了截单时间。2021 年我去过一家 Mira Loma 的 3PL 仓,旺季一天 1.5 万单。他们的 WES 优先级规则就一条:按截单时间。促销日凌晨涌进来几千单,全是走慢服务的,系统老老实实先拣这些"早"单子。结果每天下午,真正要走当日取件的单子堆在后面,复核台天天加班到九点多。老板跟我说,一个旺季光加班费就多花了小十万美金。规则改成按取件时间分层之后,加班基本没了。最讽刺的是,取件时间这个字段系统里其实一直有,承运商每天都传过来,只是当初上线时没人把它接进优先级规则。数据躺在那儿睡大觉,现场天天救火。注意,这不是系统的问题,是规则配错了。

第二种死法:缺货风险没进优先级。有些单子,系统一早就知道它大概率拣不出来:账面库存和实际对不上、效期批次卡得严。这种单子如果排在波次后半段,拣选员拣到它才发现没货,整单卡住,异常处理、找货、拆单,一套流程走下来,波次的尾巴被拖得很长。更糟的是,复核台等着这单凑整单发货,前面拣好的货也得跟着等。正确做法是把高风险单提前,让问题早暴露:早上十点发现缺货,还有时间找货、调拨;下午四点才发现,就只能跟客户说对不起了。

两种死法,根子都是同一个:优先级规则只考虑了"公平"(先来先拣),没考虑"后果"(拣晚了会怎样)。


明天上班,做一件事:打开你的 WES,随机抽今天已经释放的三个波次,把任务清单导出来,按承运商取件时间排一遍,再跟系统实际给的顺序对一下。如果对不上,先别急着调权重、改公式——去查取件时间这个基础数据准不准。我这些年看下来,大多数优先级翻车,根子都是取件时间没人维护:承运商改了取件时间没人更新,节假日临时加车没人录。对完之后,把这三个波次的截图发给你们的系统管理员,只问他一句:取件时间这个字段,上次更新是什么时候?如果他答不上来,你就找到病根了。