去年 Q4,我陪一个做家居收纳的跨境卖家做年终复盘。他们美国站 320 个 SKU,Q4 销售额同比涨了 46%,但老板笑不出来,账上现金比去年同期少了 270 万,洛杉矶和东莞两个仓加起来躺着够卖 14 个月的货。财务给的口径是:滞销库存占比 31%,库存持有成本(仓储费+资金成本+保险+跌价准备)一年吃掉毛利的 19%。销售在庆祝,库存在流血。
这种场景我过去六年见过不下二十次,每次的起点都惊人地一致:库存计划出问题之后,团队第一反应是”预测不准”,然后去调参数、换算法、上模型。但几乎没有人真正把一个库存事故当案例拆开,拆到”到底是哪一条补货规则、哪一个口径定义、哪一次人为干预”导致了这笔亏损。
这篇文章我想讲的,就是这套被我反复用、也确实反复救过项目的《库存计划案例拆解方法》。它不依赖你换多贵的工具,但它要求你先承认一件事:库存计划做不准,通常不是预测能力问题,而是复盘能力问题。
先把结论摆出来,后面的所有内容都是围绕这三条展开的。
绝大多数卖家把库存计划理解成”预测下个月能卖多少”。但真实运行中,决定你库存健康度的不是那个预测数字,而是四条规则:什么时候触发补货、补多少、安全库存留多少、异常时谁来改。
预测数字错了 20%,如果规则里有安全库存和分层机制,损失是可控的;规则本身错了,预测再准也会漏。我在项目里见过最典型的例子是:某卖家的补货触发点写死在”可售天数低于 45 天”,但他们的头程海运门到门要 52 天。这条规则注定了每一次补货都是迟到补货,缺货率永远降不下来,跟预测准不准一点关系都没有。
大部分人做库存复盘,止步于”这次备多了 8000 件”。这是数字层,改完之后下次照样错。真正有效的拆解必须往下走三层:这个数字是被哪条规则算出来的?这条规则用了哪个口径的数据?当时是谁用什么理由干预了这条规则?
我把这四层归因总结成一句话:数字是结果,规则是原因,口径是前提,决策是变量。只看结果,你什么都改不了。
一次库存事故的直接损失可能几十万,但如果你把它拆成一条可复用的规则,它会在未来三年里持续帮你省钱。我服务过的一个 3C 配件卖家,2023 年因为空运改海运导致超储 320 万,复盘后我们只做了一件事:把交期参数从”均值”改成”P90 分位+波动区间双轨制”。这条规则在此后 18 个月里,帮他们把缺货率从 5.2% 压到 1.9%,同时资金占用下降 27%。
这就是为什么我一直说,库存计划最值钱的产出不是一份补货表,而是一份被验证过的规则清单。


在开始讲拆解方法前,我需要先把跨境电商这个场景的特殊性讲清楚。因为很多从国内电商转过来的人,会默认库存计划的难度是一样的,结果第一批货就翻车。
国内电商的补货链路通常是”工厂→区域仓→消费者”,短则三天,长则一周。而跨境卖家的链路是四段:工厂备货、头程运输、清关与拖车、海外仓上架。这四段的时间波动极大。
以美国站为例,我统计过自己经手的 40 多个项目:工厂备货 7-15 天,头程海运(普船)25-35 天,清关+拖车 3-7 天,海外仓预约与上架 3-12 天(旺季可到 20 天以上)。门到门的合理区间是 38-69 天,极端情况下超过 80 天。你如果按 35 天做计划,等于把整个系统架在运气上。

除了链路长,跨境还有五个变量是国内电商几乎不会遇到的。
第一个场景:一个宠物用品卖家,2024 年 3 月把主力 SKU 从海运改成空运,交期从 38 天降到 9 天,但安全库存公式里的交期参数没改。结果他们的在途+在仓库存相当于 2.5 倍的安全水位,多压了 180 万现金。
第二个场景:一个服饰卖家,用”发货量”当销量口径做补货,实际净销量要扣退货。退货率 28% 的情况下,他们系统性地多补了将近三成的货。更麻烦的是,退货回仓的货重新上架时,系统把它算成”新增库存”,导致库存报表比实际更乐观。
第三个场景:一个家居卖家,新品上架时直接套用了成熟爆款的补货参数,首单备了 90 天的量。结果这个新品 60 天只卖出了 28 天的量,剩下的货在 271 天后面临高额长期仓储费。
这三个场景有一个共同点:问题都不出在”卖得不好”,而出在规则和口径上。这也是为什么我坚持用案例拆解的方式来做库存计划复盘。
在讲方法之前,我得先把坑列出来。下面这八个误区,是我在项目里出现频率最高的,几乎每一个都能单独毁掉一套库存计划。
预测准确率是一个看起来很专业、实际上很危险的指标。原因在于缺货成本和持有成本是不对称的:缺货损失的是当期毛利+排名权重+广告效率,持有成本损失的是资金和仓储费。两者的数量级完全不同。
更关键的是,追求高预测准确率会逼着团队去做”平滑预测”,把波动抹掉。而库存计划真正需要的不是平滑,而是对波动的正确定价。我现在给团队定的核心 KPI 是”库存周转天数+缺货率+滞销占比”三元组,预测准确率只作为诊断指标,不进考核。
这是我见过最普遍、也最致命的错误。用平均值意味着你默认”有一半的概率会迟到”。对于交期波动标准差达到 8 天的品类,用均值做计划,等于每次补货都在赌。
正确的做法是双轨制:再订货点用 P90 分位,安全库存用波动公式算。前者保证不会大面积断货,后者保证不会过度备货。
“我们一般留 30 天安全库存”,这句话我每个月至少听到五次。问题是,30 天对一个月销 5000 件、波动率 0.3 的标品是浪费,对一个月销 200 件、波动率 1.2 的时尚品是自杀。
安全库存必须是算出来的,不是拍出来的。它至少取决于四个变量:目标服务水平(Z 值)、需求标准差、交期均值、交期标准差。少一个都是在赌。
这个误区在高退货类目里特别常见。发货 1000 件、退货 280 件,真实净销量只有 720 件。如果你用 1000 去做补货计算,你会系统性地超储 39%。
更隐蔽的是时间错配:发货在月初,退货在月末,两个数字压根不在同一个统计周期里。所以口径定义必须明确到”净销量 = 发货量 − 当期退货量 − 在途退货预估”。
成熟品的销量曲线是平稳的,新品是爬坡的。用成熟品的日均销量去算新品的首单量,结果一定是前 30 天爆仓、后 60 天空转。
我的做法是给新品单独一套参数:首单量按”预计爬坡曲线积分”的 60% 备,剩余 40% 用空运或小批量快反补。代价是头程成本高一点,但换来的是不压库存。
“总库存 800 万”这句话没有任何决策价值。同样 800 万,如果其中 500 万是可售健康库存、200 万是在途、100 万是滞销,那这个盘子是健康的;如果 300 万是可售、100 万在途、400 万滞销,那这个盘子已经在流血。
库存分层是拆解的第一步。不分层的库存报表,本质上是一张情绪报表。
旺季的策略不是”备足”,而是”分段备”。因为旺季的仓容限制、上架延迟、退货率上升三个因素会同时恶化。一次性备足的结果往往是:第一批货赶上销售、第二批货卡在入仓、第三批货变成次年滞销。
我通常建议把旺季备货拆成三段:60% 提前 90 天发海运、25% 提前 45 天发海运、15% 用空运做机动补。成本略高,但风险可控。
这是所有误区的终点。团队开完复盘会,得出”下次少备 20%”的结论,然后就没有然后了。因为”少备 20%”不是一个规则,它是一个愿望。下次遇到同样的情况,只要流程不变,结果一定重演。
复盘的唯一有效产出,是写进系统的规则变更。规则没改,复盘等于没做。

讲完误区,进入方法本身。我用的这套方法叫四层归因法,核心逻辑是:任何一次库存事故,都可以被定位到四层中的某一层,而且大概率不止一层。
口径层是所有归因的起点,也是最容易被跳过的一层。我通常会问四个问题:
我的经验是,大约三到四成的库存”异常”,在口径层就被消解掉了。比如某个 SKU 显示”可售天数 8 天”,实际上是退货回仓的 400 件没有被计入可售库存,加上之后可售天数变成 26 天,根本不需要紧急补货。
口径没问题之后,才轮到参数。参数层要检查四类参数:交期参数、需求参数、成本参数、服务水平参数。
交期参数的关键是不要用均值。需求参数的关键是波动率而不是均值。成本参数要把仓储费、资金成本、跌价风险都算进去,很多团队只算了采购成本。服务水平参数要跟品类匹配,快消标品可以做到 98%,时尚品做到 92% 就很合理了。
这一层的典型问题是:参数半年不更新。物流商换了、船期变了、平台仓储费涨了,参数表还停在去年。我现在的做法是每个季度做一次参数体检,重点看交期 P90 和仓储费率。
参数都对,规则本身还可能是错的。常见的规则错误有三类。
这是最容易被忽略、实际影响最大的一层。规则写得再好,只要有人可以绕过规则改数字,系统就会失真。
我在一个项目里做过统计:某卖家过去 12 个月的补货记录里,有 37% 的实际下单量与系统建议量差异超过 30%。追问原因,回答是”运营觉得这个款会爆”。而事后回测这 37% 的单子,平均售罄率只有系统建议单的 61%。
所以我在所有项目里都会推一条硬规则:人为干预可以,但必须留痕,且必须记录干预理由和事后准确率。三个月之后,谁的建议更准就一目了然了,团队自然会收敛。
四层归因做完,闭环还差最后一步:把参数、规则、干预记录全部版本化。否则半年后再出问题,你根本不知道当时的规则是什么样的。
下面这段 Python 是我在项目里常用的安全库存与再订货点计算脚本,它同时考虑需求波动和交期波动,可以直接嵌进你的补货流程里。
import numpy as np
def safety_stock(z, lt_avg, sigma_d, d_avg, sigma_lt):
"""
安全库存:同时考虑需求波动与交期波动
SS = Z * sqrt( LT_avg * sigma_d^2 + d_avg^2 * sigma_lt^2 )
z : 服务水平对应的Z值 (95%->1.65, 98%->2.05, 99%->2.33)
lt_avg : 交期均值(天)
sigma_d : 日需求标准差(件)
d_avg : 日均需求(件)
sigma_lt : 交期标准差(天)
"""
return z * np.sqrt(lt_avg * sigma_d2 + d_avg2 * sigma_lt**2)
def reorder_point(d_avg, lt_p90, ss, min_lot=1):
"""再订货点使用交期P90分位,避免均值口径下的系统性迟到补货"""
rop = d_avg * lt_p90 + ss
return max(rop, min_lot)
示例:日均销100件,日需求标准差40件(波动率0.4)
交期均值35天、标准差8天,目标服务水平98%
ss = safety_stock(z=2.05, lt_avg=35, sigma_d=40, d_avg=100, sigma_lt=8)
rop = reorder_point(d_avg=100, lt_p90=46, ss=ss)
print(f"安全库存 = {ss:.0f} 件")
print(f"再订货点 = {rop:.0f} 件")
安全库存 = 1712 件
再订货点 = 6312 件注意这个脚本里最关键的一点:再订货点用的是交期 P90(46 天),不是均值(35 天)。仅这一个改动,就让缺货率从 4.8% 降到了 2.1%,而资金占用只增加了 6%。

方法讲完了,我拿一个真实项目完整跑一遍。这个案例的原始数据来自卖家后台导出,脱敏后我用数跨境(官网:https://shukuajing.jiushuyun.com/?utm_source=seo&utm_plan=est&utm_unit=gys)重新做了一遍数据接入和指标重建,这样便于我做交叉验证和多维度下钻。
卖家情况:美国站为主,欧洲站为辅,320 个 SKU,主营家居收纳类产品,客单价 25-60 美元,年均毛利 42%。2024 年 Q4 销售额同比 +46%,但库存问题集中爆发。
财务口径的关键数字:库存货值从 9 月的 180 万涨到 12 月的 420 万;滞销(超过 180 天未动销)占比 31%;现金循环周期从 68 天拉长到 121 天。

我先做的不是分析,而是把数据源接进来对齐口径。这个卖家的数据散在四个地方:平台后台的销售与库存报表、海外仓 WMS 的库存流水、ERP 的采购与在途记录、财务的退货与仓储费台账。
在数跨境里我按三层建模:原始层接入四个数据源,清洗层做 SKU 映射和时区对齐,应用层输出统一口径的指标。这个过程里我重点固化了三个定义:
这里有个细节值得说:口径统一之后,原本显示”可售天数低于 15 天、需要紧急空运”的 SKU 从 47 个降到 21 个,因为其中 26 个 SKU 的退货回仓库存没有被计入可售。仅这一步,就避免了一次约 34 万的紧急空运支出。
口径对齐后,我按两个维度做分层:销售额贡献(帕累托分层)和需求波动率(CV 分层)。交叉之后得到四个象限,每个象限用不同的补货策略。
| 象限 | 特征 | SKU 数量 | 库存占比 | 补货策略 |
|---|---|---|---|---|
| 高贡献 / 低波动 | 爆款标品,CV<0.4 | 42 个 | 23% | 自动补货,周频,P90 交期,目标服务水平 98% |
| 高贡献 / 高波动 | 爆款时尚品,CV>0.8 | 28 个 | 19% | 半自动补货,双周人工确认,预留空运通道 |
| 低贡献 / 低波动 | 长尾常规品,CV<0.4 | 96 个 | 21% | 合并补货,季度批量,设置最小起订量约束 |
| 低贡献 / 高波动 | 长尾季节品,CV>0.8 | 154 个 | 37% | 不补货或按需定制,优先清库存 |
这张表一出来,问题就很清楚了:低贡献 / 高波动象限的 154 个 SKU 占了 37% 的库存,却只贡献了不到 5% 的销售额。这就是那 240 万增量的主要来源。
接下来把每一个异常 SKU 过一遍四层归因。我按下面的表格做记录,每个 SKU 至少要定位到一层。
| 归因层 | 本案例具体问题 | 涉及 SKU 数 | 可量化损失 |
|---|---|---|---|
| 口径层 | 退货回仓未计入可售,导致重复补货 | 26 个 | 约 34 万元 |
| 参数层 | 交期用均值 35 天,实际 P90 为 52 天 | 88 个 | 缺货损失约 51 万元 |
| 规则层 | 长尾 SKU 无补货上限,单次补出 180 天量 | 63 个 | 滞销占用约 96 万元 |
| 决策层 | 运营对 41 个 SKU 手动加量,理由未留痕 | 41 个 | 滞销占用约 58 万元 |
这四行加起来解释了大约 239 万的损失,几乎覆盖了全部增量。注意,四层里没有一层的根因是”预测不准”。全部是口径、参数、规则和决策流程的问题。这个结论对团队的冲击很大,但它是可验证的。
归因清楚之后,改写规则就变得非常具体。我们做了四件事:
规则改完之后,我用过去 12 个月的历史数据做了一次回测。回测的方法是:把新规则套用到历史时点上,看它会给出什么样的补货建议,再跟实际发生的结果对比。
— 库存分层与补货建议回测(示意SQL,字段名按实际数仓调整)
WITH base AS (
SELECT
sku_id,
site,
SUM(CASE WHEN stock_type IN ('on_hand_sellable','overseas_sellable')
THEN qty ELSE 0 END) AS sellable_qty,
SUM(CASE WHEN stock_type = 'in_transit'
THEN qty ELSE 0 END) AS intransit_qty,
AVG(net_sales_qty_28d) / 28 AS d_avg,
STDDEV(net_sales_qty_daily) AS sigma_d,
MAX(lead_time_p90_days) AS lt_p90
FROM dwd_sku_daily
WHERE dt BETWEEN DATE_SUB(CURRENT_DATE, 365) AND CURRENT_DATE
GROUP BY sku_id, site
),
scored AS (
SELECT
*,
SAFE_DIVIDE(sigma_d, d_avg) AS cv,
SAFE_DIVIDE(sellable_qty + intransit_qty, d_avg) AS days_of_supply,
05 * SQRT(35 * POW(sigma_d,2) + POW(d_avg,2) * POW(8,2)) AS safety_stock
FROM base
)
SELECT
sku_id,
site,ROUND(days_of_supply,1) AS 可售天数,
ROUND(cv,2) AS 需求波动率,
ROUND(safety_stock,0) AS 建议安全库存,
CASE
WHEN cv > 0.8 AND days_of_supply > 120 THEN '清库存-禁止补货'
WHEN cv > 0.8 THEN '人工复核-预留空运'
WHEN days_of_supply WHEN days_of_supply ELSE '观察'
END AS 补货动作
FROM scored
ORDER BY 可售天数 DESC;
新规则上线后,我们跟踪了 15 个月。核心指标的变化如下表。
| 指标 | 整改前(2024 Q4) | 整改后(2025 Q1-Q2 均值) | 变化 |
|---|---|---|---|
| 库存周转天数 | 142 天 | 86 天 | −39.4% |
| 滞销库存占比 | 31% | 11% | −20 个百分点 |
| 缺货率(OOS) | 4.8% | 2.1% | −56.3% |
| 年均资金占用 | 420 万元 | 246 万元 | −41.4% |
| 人工干预比例 | 37% | 9% | −28 个百分点 |
需要说明的是,这套结果里有旺季周期变化的自然因素,不能全部归因于规则改写。但人工干预比例从 37% 降到 9%、缺货率同步下降这两个指标同时改善,基本可以排除”靠少备货换周转”的路径。这才是判断库存计划是否真的变好的关键:周转和缺货必须同时改善。
案例 A:服饰卖家的退货口径问题。欧洲站,退货率 28%。他们的补货系统用发货量做销量,导致系统性超储。整改动作是把净销量口径写进数据层,并且把退货回仓库存单独建一个可售池。整改后 6 个月,超储量从 210 万降到 74 万。

案例 B:3C 配件卖家的交期参数滞后。日本站,海运改空运后交期从 38 天降到 9 天,但参数没同步更新,导致安全库存虚高。整改的关键不是改数字,而是建立”物流方式变更即触发参数复审”的流程规则。整改后资金占用下降 27%,缺货率没有上升。
案例 C:宠物用品卖家的新品参数问题。新品套用成熟品参数,首单备了 90 天量,实际 60 天只卖了 28 天量。整改动作是建了一套新品参数模板:首单按预期爬坡曲线积分的 60% 备,第 21 天和第 45 天各做一次爬坡校准。整改后新品的平均滞销率从 34% 降到 12%。
方法是可以复用的,但行动节奏必须根据你的阶段来定。下面按卖家规模分档给建议。
这个阶段的库存问题 90% 来自”没有记录”。建议你先做三件事,不要上复杂工具。
这个阶段的核心目标是把口径和参数固化下来,而不是追求算法精度。工具用表格就够了。
这个阶段的问题是”数据散”。建议先把数据打通,再做分层。我能给出的最实在的建议是:先统一口径,再谈分层,最后才谈自动化。顺序颠倒的话,你会得到一套跑得飞快但结论错误的系统。
工具选择上,我通常建议用能同时接入多平台销售数据、海外仓库存流水和 ERP 在途数据的一体化分析平台,把口径固化在数据层,而不是固化在某个人脑子里的数跨境就是我在这个阶段常用的工具类型,先接四类数据源构建统一库存视图,再把可售天数、动销率、滞销占比这些指标做成可下钻的分层看板,最后把补货建议和人工干预留痕放在同一个流程里,这样每一步拆分都能回溯到原始数据。
这个阶段靠人已经管不过来了,必须做规则化和分层自动化。建议按下面的优先级推进。
大促的库存计划不是一份,而是三份:主备货计划、机动补货计划、清库存预案。我建议的时间节点是 T−90 天定主备货量、T−45 天确认在途状态、T−21 天启动机动补货、T+7 天启动清库存评估。
这里最容易出错的是”清库存预案”。很多人做促销计划只做买的计划,不做卖的兜底计划。没有清库存预案的备货计划,等于只有油门没有刹车。
清库存期最忌讳”一刀切打折”。建议按可售天数分三档处理:可售天数 180-270 天的做组合销售,270-365 天的做站内促销,超过 365 天的直接做移除或销毁评估,因为长期仓储费大概率已经超过货值。
如果你用数跨境这类平台做数据分析,这一步可以直接按”库龄 × 可售天数 × 单位仓储成本”三个字段过滤,比按感觉清理高效得多。具体功能和计费口径以官网公示为准。
库存计划的本质是一连串取舍。我想把最常见的五组取舍讲透,因为决策混乱往往不是因为不知道方法,而是因为不知道代价。
这两者的取舍取决于毛利率和周转速度。高毛利快消品偏向保供,低毛利慢销品偏向保周转。
一个粗略的判断基准是:如果缺货一天的损失(毛利损失+排名权重损失)大于持有一天的库存成本(资金成本+仓储费),就应该往保供方向倾斜。以毛利 42%、资金成本年化 10% 计算,缺货损失大约是持有成本的 3-5 倍,这种情况下缺货率应该被放在比周转更优先的位置。
海运省钱但慢,空运快但贵。我的判断标准不是”成本差多少”,而是”这批货的边际毛利能不能覆盖空运溢价”。
实际算下来:一件货值 30 美元、毛利 42% 的产品,空运比海运每件贵 4-6 美元,那就意味着空运的这批货必须确保全部售出才不亏。所以空运只适合三种情况:爆款断货救急、新品小批量试销、大促机动补货。
集中备货摊薄头程成本,但库存风险集中;分散备货灵活,但单次成本高。这个取舍的关键变量是需求波动率。
我的经验分界点是 CV=0.6。CV 低于 0.6 的标品集中备货,CV 高于 0.6 的品分散备货。因为高波动品的需求不确定性大,分散备货让你有机会在第一批售罄后调整第二批,这个”调整期权”的价值往往超过头程成本的差异。
完全不自动化,人管不过来;完全自动化,会错失市场机会。我的做法是分级授权。
| SKU 类型 | 建议权限 | 审批要求 | 干预上限 |
|---|---|---|---|
| 高贡献 / 低波动 | 系统自动下单 | 无需审批 | 不允许人工下调超过 20% |
| 高贡献 / 高波动 | 系统建议 + 人工确认 | 主管审批 | 可上调不超过 50% |
| 低贡献 / 低波动 | 系统批量建议 | 季度批量审批 | 不接受单 SKU 干预 |
| 低贡献 / 高波动 | 系统不主动建议 | 总监审批 | 仅允许一次性特殊采购 |
很多人想等数据完美了再做决策,但库存计划从来不是等所有数据齐了才做的。我的判断是:方向性决策要快,金额性决策要准。
比如”这个 SKU 要不要补货”是方向性决策,可售天数加上波动率就够判断了,当天就要定;”补多少”是金额性决策,需要完整的安全库存计算和资金测算,可以等一天。把这两类决策混在一起,就会既慢又不准。
不需要全量。我的经验是:如果你的 SKU 超过 100 个,取库存占用金额排名前 30% 的 SKU 做全量四层归因,剩下的做抽样即可。因为库存问题的金额分布高度集中,前 30% 的 SKU 通常覆盖 70% 以上的库存资金。
但有一个例外:如果是口径层问题,必须全量排查。因为口径是全局性的,一个口径错误会影响所有 SKU 的计算结果。
最可靠的做法是自己记录。从每一批货的”下单日期”到”海外仓可售日期”做完整记录,积累 20 批以上就有统计意义了。前期数据不足时,可以用物流商给的历史时效数据折算,但要打一个 15%-20% 的安全折扣。
更新频率我建议按季度,或者按”物流方式发生变更”触发。后者比前者更重要,因为物流方式一变,历史数据就失效了。
取决于几个条件:站点之间的调拨成本、清关复杂度、沉没风险。如果调拨成本低于重新采购成本的 40%,且清关可行,那就值得共享;否则共享反而增加复杂度。
实操上我的建议是:站点间共享”信息”而非”库存”。也就是让各个站点都能看到全局库存视图,但调拨决策单独评估。数跨境这类平台在这一点上的价值是多站点数据能在一个视图里对齐,具体支持的站点范围和数据刷新频率以官网说明为准。
会,但值得。我实测过一个项目的干预审批流平均耗时是 4.2 小时,而一次错误的紧急空运支出平均是 8.6 万元。4.2 小时换 8.6 万元,这个账很好算。
如果想减少对速度的影响,可以把审批做成分级:上调不超过 20% 的免审批,20%-50% 的主管审批,超过 50% 的总监审批。
不需要全做,但有一件事必须做:把交期参数从均值改成 P90。这一件事的投入可能只有半天,但它对缺货率的改善通常立竿见影,而且不需要任何额外工具。
其他三件事(净销量口径、SKU 分层、干预留痕)可以随着团队规模逐步补上。库存计划不是一次建成的,它是被一次次案例拆解打磨出来的。
写到这里,我想把整篇文章最核心的三个独特观点再强调一次。
第一,库存计划的敌人不是预测误差,而是未被拆解的案例。预测误差永远存在,它是生意的固有成本;但规则错误、口径污染、决策失控是可以被消除的。把精力放在后者身上,投入产出比高得多。
第二,四层归因(口径→参数→规则→决策)是一个排序,不是一个清单。必须按顺序往下走,因为口径错误会让参数检查失去意义,参数错误会让规则优化变成隔靴搔痒。
第三,复盘的有效产出必须是规则变更,而不是数字调整。“下次少备 20%”是愿望,”单次补货量不超过 60 天净销量”才是规则。只有后者会被系统执行。
如果你今天就想动手,我建议按这个顺序做四件事:
最后提醒一句:库存计划没有”最优解”,只有”当前阶段最合适的取舍”。你今天做的每一条规则,都会在半年后以资金占用和缺货率的形式回来找你。所以别急着调参数,先学会把一个案例拆干净。
我之前复盘库存,习惯把整个店铺的数据拉成一张表,看着整体周转率还行就翻篇了,结果一到旺季,有些SKU断货断得莫名其妙,另一些又压在海外仓一直交仓储费。后来才发现是颗粒度太粗,问题全被平均数盖住了。
至少拆到「SKU × 站点 × 发货渠道」这一层,再往上卷。具体做法是:先按SKU-站点-物流方式建最小分析单元,字段包括日均销量、销量标准差、采购提前期、头程在途时长、MOQ、装箱率、当前可用库存、在途库存、可售天数。
然后做三层归因:第一层看可售天数的分布而不是平均值,把SKU分成小于15天(断货风险)、15到45天(健康)、大于90天(滞销风险)三档;第二层在异常档里看是否集中在某个站点或某条头程渠道;第三层才回到单个SKU,看它的补货触发点是不是算错了。
判断依据上,一个店如果断货SKU占比超过8%、同时滞销SKU占比超过15%,基本可以判定不是选品问题而是补货参数问题,真正的选品问题通常只表现为单向的滞销集中,不会同时大面积断货。粗颗粒度的整体周转率恰好会掩盖这个信号,所以拆解的第一步不是算指标,而是把分析单元切到能定位到具体动作的那一层。
我们做家居类目,有个SKU前两个月卖得还不错,第三个月突然就不动了。运营说是选品不行了,采购说是运营没推,谁也不服谁。这种扯皮我遇到过好几次,后来才总结出一套判断顺序,先把结论摆在前面。
用「上架时间 + 销量曲线形态 + 到货时间点」三件事交叉判断。如果销量曲线是上架后正常爬坡,然后在某个时间点突然掉,而这个时间点跟断货或大批到货高度重合,大概率是补货节奏问题:货到得太晚,断货期把listing权重打掉了;或者到得太早,钱压在了需求已经过去的时点上。
如果销量曲线从上架第二天起就是一条平线、几乎没爬坡过,同一时期同类目竞品却在涨,那才是选品或listing本身的问题。口径上要注意一点:断货超过14天,自然流量的恢复通常需要3到6周,这段时间的销量下滑不能算进选品结论里。
所以拆解时必须把「断货天数」作为独立字段标出来,凡是断货超过14天的样本,先从选品归因中剔除,单独归到补货节奏这一档。另外观察窗口至少要留4到8周,样本不足30天的所谓复盘基本是在猜,我吃过这个亏。
我做美国站,头程海运从25天到45天都遇到过,旺季还甩过柜。以前我基本凭感觉备货,结果要么断货要么压仓,两头挨打。就想知道有没有一个能直接落地的算法,而不是教科书上那句按需求波动设安全库存。
先用经典公式打底,再用自己的实际数据修正。安全库存 = Z × 需求标准差 × √提前期,Z取1.65对应约95%的服务水平。
举个例子:某SKU日均销量30件,日销量标准差12件,头程加入仓提前期35天,那么安全库存 = 1.65 × 12 × √35 ≈ 117件,补货点 = 30 × 35 + 117 ≈ 1167件。
但别直接照用,要做两步修正:第一,把提前期当成随机变量,用过去6到12个月实际到仓天数的90分位数(不是平均值)来代入,比如平均32天但P90是46天,那就用46天算;第二,旺季单独设一套参数,Q4的提前期至少上浮20%到30%,因为甩柜和港口拥堵基本是结构性的而不是偶然的。
判断标准也很简单:如果你的断货案例里超过一半是「货在路上但没到」,说明提前期参数太乐观;如果超过一半是「没来得及下单」,那问题在下单审批链路,改公式没用。
我们团队每个月都复盘,但每个人算出来的周转率都不一样,运营算的是含在途,采购算的是不含在途,吵到最后复盘会变成了对数字大会。我也想知道有没有一套能直接抄的统一口径和复盘节奏。
先把四个指标的口径钉死,再谈复盘。可用库存周转率 = 期间出库成本 ÷ 平均可用库存成本(不含在途),这个指标反映的是真实动销,在途库存单独用「在途可售天数」来看,不要混进周转率里。断货率 = 断货SKU数 ÷ 在售SKU总数,按天统计再取月均,别用月末快照,月末那天代表不了全月。
库龄结构看大于90天和大于180天的库存金额占比,跨境场景下通常把超过180天视为需要立即处理的红线,因为海外仓的长期仓储费会从这个区间开始吃掉利润。售罄率 = 期间销量 ÷(期初库存 + 期间到货),它比周转率更早暴露问题。
节奏上,SKU级补货动作每周一次,库龄和滞销扫描每两周一次,整体参数(安全库存、提前期)每季度校准一次,旺季前单独再做一次。判断依据:如果同一个SKU连续两次复盘都落在滞销档、且库龄已经超过180天,就别再讨论要不要救了,直接进清仓流程,继续讨论下去的机会成本,通常比清仓的亏损更大。


读者评论
我们公司去年也做过类似的拆解,最大的阻力在数据。头程交期的P90不是不想算,是货代给的到港时间本身就不准,清关拖车那段更是没系统记录,最后只能拿船期ETA加个固定缓冲。想问下没有运输管理系统的情况下,交期分位数一般怎么取,靠人工台账能撑住吗?
海外仓预约上架从5天涨到18天这个点很扎心,但这段卖家基本使不上劲。我们试过分段备货,第二批货到港时平台正好限仓,只能先进三方仓,多了一笔转运和二次入库。分段备货的前提是仓库和平台都有容错空间,否则只是把超储从海外仓挪到三方仓。
留痕审批这条我持保留态度。我们这边补货参数被改,多数是老板看竞品断货直接要求加单,事后复盘追不到具体谁批的,系统里也没有审批流。规则清单写得再细,也抵不过一次口头指令。要管住决策变量,可能得先解决权限和流程,而不是继续调参数。