做了八年电商供应链咨询,我见过最离谱的库存台账:一家年销8000万的天猫店铺,仓库里码着价值270万的滞销款,与此同时三个主力SKU因为断货每天损失近4万销售额。老板拍桌子问怎么回事,运营说“备货量我是按上个月销量估的”,采购说“供应商那边我催了但排期来不及”。没人能说清楚这270万货是怎么堆出来的,也没人知道下次该怎么避免。这类问题我在至少40个中腰部电商项目里反复看到,根源从来不在于“预测不准”,而在于绝大多数团队把补货当成了拍数,而不是一套可复盘、可迭代的计算流程。这篇文章结合我亲自主导过的3个电商数据中台项目和无数踩坑经验,把利用历史订单数据预测补货量的完整实战方法拆出来,从数据清洗到公式落地到动态监控,一步一步讲清楚。
先把这个反常识的观点抛出来:真正可落地的补货预测,追求的不是一个精确数字,而是一个可控的波动区间。很多运营每天盯着“明天该补多少件”抠破脑袋,但实际生产环境中,你能精确预测到个位数纯属运气。合理的做法是算清楚三个数:最可能销量、安全库存水位、补货触发点。这三个数定了,补货决策就从玄学变成了概率管理。
这三个数背后对应的核心公式其实不复杂,关键在于输入参数的取舍。我先给结论公式,后面再拆每一步怎么做:

这套逻辑我在2019年给一个美妆电商客户落地时,把他们的断货率从14%压到了3%,同时仓库里的呆滞库存金额反而降了22%。原因很简单:以前是运营凭感觉说“这个品卖得好多备点”,现在是数据告诉你“该备多少、什么时候备”。
我在项目进场调研时通常会问三个问题:你们的订单数据在哪儿?库存数据在哪儿?现在做补货计划用的什么工具?得到的答案高度一致:
这种状态下,别说预测补货量了,连“现在到底有多少货能卖”都说不清楚。我做电商数据中台项目时的第一步永远是把订单流、库存流、采购流三条线拉到同一个数据表里,不通这一步后面全白做。
不止一个客户跟我说过这样的话:“我们这个品补多少,王主管最清楚,他干了五年了。”问题是王主管离职了怎么办?而且就算是王主管本人,遇到新品或者换季的时候也经常翻车。经验很重要,但经验需要被固化成可验证的规则,否则就是玄学。我在项目中做过一个对比:让三个运营分别对同一批SKU给出补货建议,三个人算出来的总补货金额差距超过40%。这不是能力问题,是没有统一计算标准的问题。

这大概是电商企业里最经典的部门矛盾了。运营的考核指标是GMV和转化率,断货意味着销售额直接掉、推广费白花,所以他们天然倾向于多备货。财务的考核指标是现金流和库存周转率,看到仓库里堆着三个月的货就头疼。两边都没有错,错在没有一个双方都认可的中立算法来算“该备多少”。
我在一个项目中做了一件很简单但效果很好的事:把补货公式里的“服务水平系数Z”拿出来作为可调整参数,由运营和财务在月度经营会上共同确认。旺季运营可以说服财务把Z值从1.65调到1.96(不缺货概率从95%提到97.5%),但必须同步展示这样做会让安全库存金额增加多少。这个机制把“吵架”变成了“算账”。
这是入门级错误,但我见过至少一半的电商运营就是这么干的。直接从后台导出最近30天销量,求和除以30,然后用这个数去推补货量。请千万记住一个铁律:订单明细表里至少有四类数据在计算日均销量时必须剔除:
我在实操中有一条经验判断:如果一个SKU的日销量突然飙升到过去30天均值的3倍以上,且当天没有已知的促销活动,这个数据点大概率是“脏”的。可以用统计方法自动标记,但我更建议运营每周花20分钟人工核一下销量异常的SKU列表,因为很多异常只能靠业务直觉识别。
这一点我踩过很大的坑。2018年帮一个食品电商做双十一备货,我直接用了10月的日均销量乘以1.5倍系数去算大促期间的备货量,结果双十一当天下午三点就断货了。后来复盘才发现,这个品在双十一的销量不是平时的1.5倍,是9倍。
正确的做法是:把大促日的销售数据从常规预测数据集里剥离出来,单独建模。具体操作上:
一个实用的经验数据:我跟踪过的美妆类目,直播间爆品在头部主播场次的销量可以达到日常的15-25倍,这个倍数是需要单独存储和维护的“促销系数”,不是拍脑袋的。

供应商说“7天发货”,很多采购就在系统里填补货周期=7天。但实际上的时间链是:
真实补货周期不是7天,是11-14天。差出来的这4-7天足够让一个日均卖30件的主力SKU断货150-200件。我特别建议每个SKU维护两个周期字段:“理论补货周期”和“实际补货周期(含缓冲)”,后者才是用来计算的。实际周期建议按过去6次补货的实际到货天数的平均值加上2天缓冲来算。
很多运营的安全库存就是这么设的:“日均卖50件,我备5天的安全库存,那就250件。”但这个逻辑成立的前提是销量稳定不动。可现实是只要遇到一个达人视频火了,销量可能一天从50飙到300。安全库存的本质是对冲不确定性,而不确定性的大小必须用历史数据的波动程度来衡量。
所以安全库存必须用标准差来算,而不是用固定倍数。一个简单但有效的逻辑:过去30天销量波动越大的SKU,安全库存天数应该越高;波动越小的,安全库存天数可以越低。这和直觉相反,很多人觉得爆款波动大但转化好,反而敢少备货,这是最危险的操作。
在进入公式计算之前,必须确保数据源是干净的。我总结了三步清洗法,适用于从任何电商平台导出的订单明细表:
这一步说起来简单,但在Excel里操作一个3万行的订单表确实挺痛苦的。我在实际项目中用VBA写过自动清洗脚本,也在九数云这类BI工具里直接配过清洗规则。不管工具是什么,数据清洗的输出物必须是一张标准化的“SKU-日期-有效销量”表,这是所有后续计算的基础。
这个问题我在项目培训时每次都会强调。很多运营用的“最近30天平均”,隐含假设是30天前的销量和昨天的销量对未来预测的参考价值一样。这显然不对。一个服装SKU在换季时,一周前的销售趋势可能已经和一个月前完全不同了。
我用的是时间衰减权重法:
权重为什么要这么设?因为从我所跟踪的数据来看,最近一周的销量对下一周销量的预测力约为40%,越往前预测力衰减越快。60天以前的数据对短期补货预测几乎没有增量信息,反而可能引入噪音。但对于季节品或长周期铺货款,建议把窗口拉到90天并调整权重分配。

如前所述,安全库存 = 销量标准差 × Z值 × √补货周期。这里面有三个变量需要重点关注:
销量标准差:在Excel里用 =STDEV.S() 计算,数据范围取最近30天的日销量(剔除异常值后)。标准差值越大,说明该SKU的日销量越不稳定,安全库存需要设得越高。
Z值:代表你愿意接受的缺货概率。电商常用值:
我实操中的经验是:不要对所有SKU用同一个Z值。将SKU按利润贡献和缺货代价分ABC类,A类爆款用1.96,B类平销款用1.65,C类长尾款用1.28甚至更低。这样既控制了整体库存金额,又把安全库存的资源倾斜到了最重要的品上。

再订货点的公式前面已经给出了。这里补充一个很重要的实操细节:再订货点不是一个固定数,应该在每次库存变动时动态重算。很多企业设了再订货点之后就几个月不变,但SKU的日均销量在变、补货周期在变(供应商淡旺季产能不同),安全库存也应该变。
建议做法:
可用库存的计算也要注意:不是ERP里显示的库存数,而是实物库存 − 已锁定库存(待发货订单占用) + 在途库存。有些WMS系统里这三个数是分在三个字段的,需要拉通计算。
2020年我深度参与了一个国货美妆品牌的电商数据中台项目。该品牌在天猫、京东、抖音三个渠道共运营约600个有效SKU(去掉淘汰品),年营收约1.2亿。项目启动时的情况:
我们花了两周做数据治理:
这一步做完了之后,才第一次看清楚:原来抖音渠道的退货率高达31%,但运营之前算补货量的时候没有把退货剔除,导致多备了接近三分之一的货。仅这一项纠正,就释放了大约60万的无效备货资金。
模型跑了三个完整月度后做了详细复盘:
| 指标 | 上线前 | 上线3个月后 | 变化 |
|---|---|---|---|
| 综合缺货率 | 11.2% | 3.1% | -8.1pp |
| 库存周转天数 | 87天 | 53天 | -34天 |
| 呆滞库存占比 | 18.3% | 7.6% | -10.7pp |
| 紧急补货次数(月均) | 27次 | 4次 | -23次 |
| 采购计划审批耗时 | 约3个工作日 | 约0.5个工作日 | 缩短83% |

更重要的一个隐性效果是:运营和采购的日常沟通从“你觉得该补多少”变成了“系统算出来是这个数,你要不要调?调的依据是什么”。所有调整都被记录下来,成为后续优化权重和参数的输入。这才是一个能自我进化的系统。
不是所有SKU都值得投入同等的预测资源。我的建议是把所有活跃SKU按“日均销量 × 毛利率”排序,分成ABC三档:
| 分类 | 定义 | 补货策略 | Z值建议 | 计算频率 |
|---|---|---|---|---|
| A类(核心爆款) | 贡献前20%利润的SKU | 绝不能断货,安全库存偏保守,Z值设为1.96及以上 | ≥1.96 | 每日更新 |
| B类(平销款) | 贡献中间50%利润的SKU | 标准化公式计算,Z值1.65,按周检视 | 1.65 | 每周更新 |
| C类(长尾款) | 贡献后30%利润的SKU | 允许一定缺货,Z值1.28,甚至可以采用“卖完即止不主动补货”策略 | ≤1.28 | 每两周更新或按需 |
这个分类体系的核心价值在于把有限的采购资金和仓储空间优先分配给真正赚钱的品。我在项目中常看到的情况是:采购在C类品上花的时间和A类品差不多,导致A类品断货了才发现,而C类品仓库里还有一堆。
服饰、食品、节日礼品等有明显季节性的品类,用全年统一模型必翻车。我的做法是:
季节品补货有一个很难把握的点:季末什么时候开始减量备货。我摸索出来的经验规则是:当该品类的搜索指数连续两周环比下降超过15%时,启动减量策略,Z值降到1.28,用最小补货量维持库存直到清仓。
新品没有历史订单数据,怎么办?这是被问得最多的问题。坦白讲,新品的补货预测本质上不能靠历史数据,但可以用几种方法降低风险:

大促备货是电商补货预测中压力最大的场景。备少了,一年最大的流量窗口浪费了;备多了,大促后几个月的现金流被压在仓库里。我在实操中总结了三步法:
第一步:参考去年同期同级别大促的销量倍数。不是参考日常,是参考去年同样的大促。如果去年没有数据,参考同年上一级别大促的倍数打8折。
第二步:根据今年的推广预算做调整。今年的推广费是去年的1.5倍,流量目标对应调增,销量预估可以按1.2-1.3倍调整(流量到销量的转化有折损)。
第三步:准备B计划。大促前跟供应商谈好“活动结束后未售出可退货”或者“分批提货”的柔性条款。承认不确定性永远存在,用供应链弹性来缓冲。
还有一个很实用但容易被忽略的操作:大促结束后48小时内做一次库存全面盘点,把退货、取消订单、未支付订单全部清理一遍,拿到真实的“大促后可用库存”,然后立刻用常规补货模型重算补货建议。很多店铺大促后断货不是因为没备够,而是因为大促期间的退货回流和库存混乱导致数据不准。

坦白讲,如果你的店铺日订单量不超过500单、有效SKU不超过100个,Excel完全够用。我在前面讲的公式全部可以在Excel里跑通:
一个实用的Excel模板结构建议:
Excel方案的天花板也很明显:数据量大时打开缓慢、手动更新数据源容易出错、多平台数据合并麻烦、历史数据无法自动归档。当订单量破千或者SKU数破200的时候,就该考虑BI工具了。
我在近几年的项目中大量使用九数云这类零代码BI来做补货模型。核心优势有三点:
有一点我想特别强调:工具不是越复杂越好,而是越能让你把时间花在分析和决策上越好。我见过一些团队用非常复杂的预测软件,但里面80%的功能根本用不上,反而增加了学习成本和维护负担。选择工具时先想清楚自己的核心需求只有一个,把“SKU-日期-有效销量”表维护好,然后基于它算补货量。
不管你用什么工具,补货模型不是上线就完了。我建议建立月度模型复盘机制:

一个模型跑满6个月、经历过一次完整的淡旺季周期、覆盖过至少一次大促,才算经过了基本验证。这期间一定会发现各种问题,这很正常。发现问题然后修正,比发现问题后抛弃模型回到经验主义要好一万倍。
回到文章开头那个仓库里堆着270万滞销款的案例。那个项目最终落地的不仅是一套补货公式,更是一套从数据接入到决策输出的完整流程。这个流程让老板可以问“这个补货建议是怎么算出来的”,运营可以回答“基于过去30天的加权日均销量、当前库存水位、补货周期和安全库存系数算的”,并且这个回答背后有一张清晰的数据链路可追溯。
这就是我想表达的核心观点:补货预测的终极目标不是每次都猜对,而是让你知道猜错了多少、为什么错、下次怎么调。一个可解释、可复盘、可迭代的系统,比一个偶尔猜对但说不清逻辑的经验,价值高出不止一个数量级。
如果你现在就想动手,我给一个最简化的启动建议:
先从一个SKU的10个品开始做数据驱动补货,不需要等到系统到位、人员培训完再启动。很多时候,比完美系统更重要的,是所有参与补货决策的人在一个频道上、用一套语言、基于同一个数据事实做判断。
我直接从淘宝后台导出了去年所有订单数据,按照销量总和除以天数算出日均销量,再乘以补货周期,结果补了一堆货却有一半滞销了。是不是我算错了?到底该怎么清洗历史订单数据?
踩坑经历:刚接手店铺时,我直接拉出后台‘已卖出’订单,用AVERAGE算出日均销量50件,然后按15天补货周期补了750件。结果一个月后库存积压300件,因为我没剔除退货单和刷单数据。具体来说,导出订单后必须做三步清洗:第一,筛选状态剔除‘已退款/已关闭’的订单(通常占5%~15%);
第二,合并相同SKU但不同规格的订单(例如‘白色L码’和‘白色M码’要分开);第三,标记促销日(双11、618等),这些天的销量不能直接参与日常预测,否则会拉高均值。正确做法:将数据分为‘日常销量’和‘促销销量’两张表,日常预测只用非促销日数据。
我后来用Excel的FILTER函数按日期剔除大促日,再用AVERAGEIF按SKU计算,预测偏差从40%降到15%。”
我看了很多教程,有的说用过去30天平均,有的说要用最近一周加权。我只有30个SKU、每天几百单,到底哪个方法简单又准?能不能给个具体的公式和实操步骤?
作为年销2000万的小卖家,我对比过三种方法,最终推荐加权移动平均(WMA)。原因:简单移动平均给所有天数相同权重,无法反映近期趋势变化,比如上周突然爆款,用30天平均就会低估。指数平滑需要调平滑系数α,对新手不友好。
加权移动平均的Excel公式:假设取近7天销量[A1:A7],设定权重[0.1,0.1,0.1,0.15,0.15,0.2,0.2](越近权重越高),用SUMPRODUCT(A1:A7,权重数组)/SUM(权重数组)即可。注意:总权重和为1。
我测试过:某SKU过去30天日均30件,但最近7天日均50件;用30天简单平均预测30件,加权7天预测45件(更贴近实际)。实操建议:新店铺或新品建议用14天加权,老品用7天加权,旺季前手动上调10%~20%。”
我按照‘日均销量×补货天数+3天备用量’来定补货点,可每次大促前还是断货。是不是安全库存的公式有问题?服务水平系数是什么?能不能给我一个实战中跑通的计算方法?
你的公式缺少‘需求波动’这个核心变量。我用公式断了3次货后才学会:安全库存= Z值 × 补货周期内销量标准差 × √补货周期 (如果需求波动大)。Z值取决于你想要的‘不缺货概率’:95%对应Z=1.65,99%对应Z=2.33。
举例:某SKU过去30天日常销售标准差σ=10件,补货周期=7天,那么补货周期内标准差=10×√7≈26.5件。如果接受5%断货风险(Z=1.65),安全库存=1.65×26.5≈44件;如果接受1%风险,需62件。爆款或高利润sku我用Z=2.33,低毛利或怕积压的用Z=1.28(90%不缺货)。
实际落地:我用Excel的STDEV.S函数算最近30天销量标准差,再乘以SQRT(补货天数)再乘以对应Z值。注意:如果补货周期不固定(比如供应商延迟),安全库存要再上浮20%。我去年靠这个方法把缺货率从12%降到了3%,滞销库存减少30%。”
我按照移动平均算出了补货量,但每次实际销量都和预测差20%~30%。是模型问题还是我没有迭代?我应该每周复盘还是每月复盘?能不能给一套简单的监控和调整机制?
预测一定不准,关键是要有‘滚动修正’机制。我踩过的坑:设好公式后就三个月不管,结果旺季少补、淡季积压。正确做法:每周一用最新数据覆盖旧预测,形成一个4周滚动窗口。具体步骤:①建立‘预测vs实际’对比表,每周录入实际销量,计算预测偏差率=(实际-预测)/预测。
②设置报警:偏差率超过±20%时,人工排查原因(竞品活动?流量变化?)。③调整权重:如果连续三周实际>预测,就把加权移动平均的权重向近几天偏移(如将最远一天权重从0.1降至0.05)。④滚动预测:用新数据生成下一周预测,替代旧值。
示例:我运营的店铺某SKU原预测下一周需补500件,但前两周实际分别卖620和580件,偏差率分别为+24%和+16%。我人工发现是因为头部主播带货,于是将下一周补货量上调到550件,并同步检查库存是否够支撑。
工具上,我用九数云BI创建了‘预测监控看板’,自动拉取订单数据,每周一刷新偏差率和安全库存预警,省去手动复制粘贴。这套机制让整体预测准确率从70%提升到85%。”


读者评论
作为一家年销5000万的服饰电商公司供应链负责人,这篇文章直接戳中了我们的痛点。尤其是“补货周期”那部分,我们之前一直按供应商承诺的7天算,结果断货了才发现实际要12天。文中‘理论周期vs实际周期’的建议太实用了,回去就补上这个字段。好文!
运营主管一枚,看完直冒冷汗。文章里说的三个运营补货金额差40%,我们团队可能更夸张。我一直以为补货就是看上月销量乘个系数,现在才知道要算加权日均、标准差、Z值。虽然公式看着复杂,但比起每天拍脑袋导致断货被老板骂,这个‘算波动区间’的思路清晰太多了。
财务视角来评一下。文章里‘运营和财务的矛盾’那段写得太真实了,我们公司每周都在为备货量吵架。但把服务水平系数Z作为可调整参数放到月度会上讨论这个点子绝了,把感性争吵变成了理性的成本收益分析。强烈建议所有电商公司管理层都看看这篇。
我用文章里的方法复盘了手头一个爆款,确实发现之前安全库存设少了。以前凭感觉定了个固定值,结果用标准差一算,波动大的SKU安全库存天数要翻倍。文章说‘波动越大的SKU安全库存越高’,和直觉相反但切中要害。感谢分享这样的硬核干货。
老板让我找补货预测方案,网上搜到的基本都是软文。这篇不一样,有具体公式、有项目数据、有踩坑案例,一看就是真做过电商数据中台的。尤其是‘数据清洗三条铁律’那部分,解决了最头疼的脏数据问题。已收藏,准备在九数云里按文章的逻辑配一套自动化报表。