一个“向下取整”吃掉几十万库存?电商多仓分配的这个坑,我们填平了
做电商的朋友,大概率都碰过这种诡异情况:
后台库存台账明明白白写着,某款SKU还有22件现货,但淘宝、抖音两个前端渠道点开都是“无货”。客服追着技术问了一整天,查遍订单、库存系统,愣是找不到问题在哪。
最后盘点才发现——22件安安稳稳躺在仓库里,全变成了卖不出去的 “死库存”。
我在做品牌电商多仓库存项目的时候,碰过不下十次这类问题。
最后找到根源,说出来你可能不信:就是计算比例时向下取整这么一件小事,硬生生把几十件库存给“吃”没了。
今天把这个坑的来龙去脉,以及我们落地验证过的完整解法全说透。做库存系统的朋友,直接拿去就能用。
一、这个坑到底怎么来的?多层级比例分配的“取整损耗”
现在做品牌电商,基本都是多级分仓结构:
全国总仓 → 区域实仓 → 渠道虚仓 → 终端店铺
每一级都要按销量比例分配库存,而计算出来的比例基本都是小数,不可能全是整数。所以每一级都要做向下取整。
举个直观的例子(看起来没问题的版本):
总共有1000件卫衣,四级分配。
第一级、第二级、第三级分下来,数字刚好都是整数,最后淘宝620件,抖音380件,完美。
但换个更常见的场景——比例不是刚好凑整:
总共有 100件 卫衣,淘宝占比66.7%,抖音占33.3%。
向下取整之后:淘宝66件,抖音33件,加起来 99件 ——1件直接“消失”。
多级分配会层层放大这个问题:每往下分一级,就可能产生1-2件损耗。四级分完,1000件库存吃掉十几二十件太正常了。
我们做过的一个真实项目:客户总共有 12000多件 可卖库存,分完之后前端只显示了 11972件。整整28件躺在仓库里,连大促都卖不出去。客户运营差点把技术门堵了。
二、一套完整解法:三个步骤把损耗吃干净,死库存降95%
踩过几次坑之后,我们总结出一套改造成本极低的解法——不需要重构整个库存模块,只要调整分配逻辑+加一个缓冲池就行。落地之后死库存占比直接降到 0.1%以下。
第一步:做一个动态缓冲池,提前预留损耗空间
缓冲池不是一刀切留固定比例,而是根据单SKU的库存总量动态调整,避免本来货就少,留完缓冲没货卖:
| 单SKU库存 | 缓冲策略 |
|---|---|
| ≤10件 | 不留缓冲,全部分配 |
| 10~100件 | 固定留1件缓冲 |
| >100件 | 按1%~2%留缓冲,最多不超过5件 |
注意:只有做多级比例分配时才开缓冲。如果是单个仓库固定分配,直接全部分配即可。
缓冲池的库存也不是一直锁死。每次盘点、大促结束重新分配库存时,缓冲池里剩余的库存会自动放回总库存重新分配,不会压着货。
第二步:把分配顺序反过来——从上往下分 → 从下往上算
绝大多数人分仓都是从上往下:
总仓算好给区域 → 区域算好给渠道 → 渠道算好给店铺
每一级都取一次整,每一级都产生损耗。
正确的做法是反过来,先算末端,再汇总上游:
-
先算所有终端店铺的精准分配数,直接取整
-
所有终端取整后的数加总,和总可分配库存对比
-
差额直接从缓冲池扣,补到最近7天销量最高的终端
-
上游的区域仓、总仓直接汇总下级分配好的数字,不用自己再取整,自然不产生二次损耗
还是拿 100件分淘宝抖音 的例子:
-
❌ 老方法(从上往下):淘宝66.7→66,抖音33.3→33,总99,损耗1件
-
✅ 新方法(从下往上):先算两个终端取整,66+33=99,差1件,直接从缓冲池拿1件补到销量更高的淘宝 → 67+33=100,零损耗
这个顺序改完,大部分场景一次就能分匀,缓冲池连1件都用不完。
第三步:加一个极端场景兜底,0库存问题一网打尽
就算做了缓冲和顺序调整,还是会碰到极端情况。比如:
总库存只有 1件,分给两个渠道各占50%。取整之后两个都是0,总库存直接“消失”。
这时候加一个三层兜底就够了:
-
如果只有一个渠道是近30天有动销,直接把这件分给动销渠道
-
如果多个渠道都有动销,分给最近7天销量更高的那个
-
如果所有渠道都没动销,放回缓冲池,等有用户下单触发分仓时,直接从缓冲池扣,不影响前端销售
三、改完之后效果怎么样?拿数据说话
我们给客户改完这套逻辑之后,前面那个 12000件库存损耗28件 的案例,改完之后只损耗了 1件(还是因为系统BUG,修复后完全没问题)。
之前客户每个季度盘点都能清出几十上百件“看不见”的死库存。
改完之后大半年只清出3件,死库存占比从原来的 0.8% 降到了 0.02%。
相当于每年帮客户多卖十几万的货——对于服饰行业来说,这就是纯利润。
最关键的是,这套逻辑改造成本极低:
-
只需要加一张缓冲库存表
-
改一下分配顺序
-
后端原来的表结构、接口基本不用动
中小团队一周就能上线,完全不用重构系统。
最后说句实在的
做To C电商的库存系统,很多时候出问题都不是什么架构级的大问题,就是这种不起眼的小细节——
一个取整、一个分配顺序,看似不起眼,真踩进去了就是:
前端没货、后端压库存,运营骂技术,老板骂团队,谁都不好受。
把这些小细节抠到位,系统比什么高大上的架构都管用。
更多推荐




所有评论(0)