账面库存不等于可售库存
账面库存通常是系统记录的现有数量,但可售库存还要扣除质检、冻结、已分配、残次和安全库存。一个SKU显示有100件,并不意味着销售可以承诺100件。最少要把“现有、锁定、可售、不可售、在途”分列。
我在实际复盘中最常看到的不是系统完全没有数据,而是不同岗位拿着不同口径的数据讨论同一件事。采购看在途,仓库看实物,销售看可售,财务看金额,运营看活动销量。如果不先统一口径,组合商品和库存积压就会被反复误判。
账面库存通常是系统记录的现有数量,但可售库存还要扣除质检、冻结、已分配、残次和安全库存。一个SKU显示有100件,并不意味着销售可以承诺100件。最少要把“现有、锁定、可售、不可售、在途”分列。
一套组合商品由多个组件SKU组成时,理论可组套数等于各组件“可用于组套数量”中的最小值。只看套装SKU的销量和库存,会把某个关键组件的短缺隐藏起来,也会忽略其他组件已经沉淀的库存。
可组套数 = min(组件A可用量 ÷ A用量,组件B可用量 ÷ B用量,……)库存数量大并不一定积压,热销商品可能很快周转;库存数量不大也可能是积压,低频SKU可能数月没有动销。判断积压要同时看库存年龄、近90天消耗、未来需求可信度、毛利和处置成本。
如果只能保留一张库存管理看板,我会把它设计成“库存状态 × 需求速度 × 供应约束”的交叉表,而不是只做一个库存余额排行榜。每个SKU至少需要回答四个问题:现在能卖多少?未来一段时间会卖多少?补货需要多久?如果不卖,资金和空间会被占用多久?
可售库存 ÷ 近一段时间日均需求。它比单看件数更容易解释缺货风险。
现货与确定在途 ÷ 日均需求。把在途纳入时必须标注到货日期和可信度。
从入库或最后一次动销开始计时,用来识别速度越来越慢的资金占用。
组合商品通常同时存在销售、采购、仓储和拆装四种视角。它提升客单价和运营灵活性,也让一个看似简单的“卖一套”变成多个组件的协同约束。
假设“春季办公套装”由1个背包、1个水杯和2本笔记本组成。系统可能记录套装销售数量,也记录组件的采购入库,但仓库实际执行的是拣选、组装、包装和发货。只要其中一个组件被质检冻结,整套商品的可售数量就会下降。
更复杂的是,背包还可能被单独销售,笔记本可能同时被另一个礼盒占用。因此组件库存必须按渠道、订单分配和组套优先级分摊,否则销售端看到的套装库存会与仓库拣货结果产生差异。
销售预测要保留套装维度,物料需求计划则要展开到组件维度。两者之间需要一张清晰的BOM或组合关系表。
订单已付款、已分配但未出库的数量,不能继续被其他订单重复承诺。组合商品要按组件扣减,而不是只扣套装虚拟库存。
预组套与按单组套的库存状态不同。若组装后没有重新入库或建立转换记录,账面数量与实际包装状态会逐渐失真。
套装卖得好不代表每个组件都健康。我要看组件缺货率、组件积压额、组件被哪些商品共同占用,才能定位真正的约束点。
为了避免各部门争论定义,我会要求报表至少呈现以下状态,并明确统计时点与仓库范围:
这些做法通常不是员工不认真,而是指标设计没有把业务约束表达出来。我的建议不是增加更多报表,而是让一张表中同时出现数量、时间和原因。
库存金额高的SKU可能是高价值、高周转的核心商品,也可能是多年未动的慢销商品。只按金额排序会让团队优先处理“大件”,却漏掉数量分散、毛利低但占用大量库位的小商品。
改进做法:把库存金额与库存年龄、近90天动销率、未来订单覆盖率放在同一行。金额用于衡量资金影响,年龄用于衡量处置紧迫度,速度用于判断是不是正常经营库存。
采购订单、供应商承诺、已出库、运输中、已到仓但未上架,这些状态的可靠性不同。如果把全部在途直接加到可供量里,就会产生“看起来不会缺货”的假象;如果完全不看在途,又可能重复下单。
改进做法:按状态分层,在途数量后面附上预计到货日、供应商确认状态和历史准时率。只有满足业务规则的在途才能进入覆盖天数计算。
促销、直播、节日或单个大客户都可能制造短期峰值。若没有区分基线需求、活动增量和一次性订单,按照峰值补货会把暂时的增长转化为长期库存。
改进做法:至少拆出近4周、近13周和去年同期三个观察窗口,并给活动订单单独打标。采购建议要说明“基线销量”和“活动销量”分别是多少。
套装滞销可能来自定价、组合方式、主图、渠道规则或其中一个组件缺货,并不一定是所有组件没有需求。直接整体清仓可能牺牲本来可以单品销售的组件价值。
改进做法:先拆解套装贡献:哪个组件是瓶颈,哪个组件有独立动销,哪个组件只在套装中出现。再比较拆售成本、重新包装成本和折扣损失。
| 在做什么判断 | 不能只看什么 | 必须补充什么 | 建议输出 |
|---|---|---|---|
| 判断是否缺货 | 现有库存 | 可售库存、日均需求、补货提前期 | 预计缺货日期与缺口数量 |
| 判断是否积压 | 库存金额 | 库存年龄、动销速度、可替代用途 | 风险等级与处置期限 |
| 判断能否卖套装 | 套装SKU数量 | 组件可用量、BOM用量、组件占用 | 可组套数与短板组件 |
| 判断是否补货 | 单周销量峰值 | 需求基线、活动标记、供应可靠性 | 补货数量与触发条件 |
| 判断是否清仓 | 折扣后的销售额 | 毛利、仓储费、现金回收速度、品牌影响 | 清仓、调拨、拆售的比较方案 |
供应链判断不能只追求一个漂亮的库存周转率。低库存可能意味着优秀的计划,也可能意味着频繁缺货;高库存可能是备战旺季,也可能是需求已经改变。真正有用的逻辑是先确认状态,再建立时间尺度,最后做金额和取舍分析。
以上百分比为界面演示用的假设评分,不是任何企业的真实绩效。它们表达的是我会怎样把管理成熟度拆成可讨论的维度。
| 指标 | 示意公式 | 解释重点 | 使用边界 |
|---|---|---|---|
| 可售库存 | 现有库存 − 锁定库存 − 不可售库存 | 反映今天能够承诺的数量 | 要确认不同仓库和渠道是否可以共享 |
| 库存覆盖天数 | 可售库存 ÷ 近13周日均需求 | 衡量现货还能支持多久 | 季节性明显时要结合未来订单与同期数据 |
| 可组套数 | 各组件可用量 ÷ 单套用量的最小值 | 定位真正的组件短板 | 要区分组件是否已被其他套装或单品占用 |
| 库存周转率 | 期间出库成本 ÷ 平均库存成本 | 衡量一段时间的消耗效率 | 不同品类生命周期不同,不能简单横向比较 |
| 库存年龄 | 统计日 − 入库日或最后动销日 | 识别长期沉淀和处置窗口 | 退货、换仓和重新包装应保留历史轨迹 |
我会先处理“有需求但被组件短板卡住”的组合商品,因为它们可能造成销售损失;再处理“组件大量积压但套装没有需求”的组合商品,因为它们占用资金和库位;最后处理“需求、供应和状态都稳定”的商品,保持规则运行即可。
可以按覆盖天数和库存年龄做二维分层:覆盖天数高、年龄长,是最应该立即处置的区域;覆盖天数低、年龄短,可能是正常备货;覆盖天数高、年龄短,要复核预测是否过高;覆盖天数低、年龄长,则要确认是否因缺货、不可售或价格问题导致动销异常。
下面两张图使用完全虚构的“示例品牌”数据,仅用于说明看板应该如何同时表达需求和库存。第一张观察组合商品与组件的需求变化,第二张观察库存状态的构成变化。真实使用时,我会用企业自己的订单、库存和BOM数据替换。
读图方式:当订单曲线高于可组套能力时,不应简单归因于销售增长,先检查组件短板和锁定库存;当可组套能力持续高于订单,则要检查组件是否正在形成积压。
读图方式:现有库存中只有“可售”部分可以直接支撑销售承诺。冻结、锁定和不可售比例较高时,应优先做状态清理,而不是立即采购更多数量。
如果订单增长集中在活动周,且活动结束后迅速回落,那么采购应该围绕基线需求配置,而不是把短期峰值全部固化成库存。我的建议是把活动订单与自然订单分开,给每一类需求设定不同的可信权重。
图中“可组套数量”低于订单量的周次,通常说明至少有一个组件成为约束。此时增加非短板组件的采购只会让组件库存更不平衡,应该优先补短板、替代料或调整套装结构。
有些企业账面库存高,但大量数量停留在待检、待退、待处理或已被订单锁定的状态。先把状态分清,可能比新建仓库或提高采购预算更快改善可售率。
以下“华东轻户外示例品牌”、SKU名称、数量、金额和结论全部为演示内容,不代表E数通官方客户数据,也不构成对任何企业经营结果的承诺。我选择E数通,是因为这个主题需要把多来源数据放在一个可分析的工作界面中,重点在于展示方法而不是冒充真实案例。
示例品牌销售单品和组合礼盒,拥有电商、经销和团购三个渠道。供应链团队发现:礼盒订单在活动后下滑,但背包和水杯仍有零散需求;仓库账面有货,销售却频繁收到“无法承诺整套”的反馈。
团队最初只看一张库存余额表,采购认为库存已经很多,销售认为应该继续备货,财务则担心资金占用。我们把订单、库存、采购在途、组合关系和渠道维度放在一起,重新定义问题。
| 商品 | 组件关系 | 可用数量 | 近13周日均需求 | 初步判断 |
|---|---|---|---|---|
| 城市通勤礼盒 | 背包1 + 水杯1 + 笔记本2 | 可组套42套 | 3.4套 | 约12天覆盖,短板是水杯 |
| 轻量背包 | 独立销售 | 186个 | 5.1个 | 约36天覆盖,需求仍稳定 |
| 保温水杯 | 独立销售 | 42个 | 1.2个 | 约35天覆盖,但被礼盒占用 |
| 环保笔记本 | 独立销售 | 510本 | 2.1本 | 约243天覆盖,存在明显积压 |
| 礼盒包装箱 | 每套1个 | 260个 | 3.4套 | 无法独立销售,处置优先级高 |
数量和需求均为示例数据;覆盖天数仅按“可用数量÷日均需求”粗略演示,正式决策仍需加入渠道、季节、在途和安全库存。
| 视图 | 解决的问题 | 关键字段 | 负责人看到后应做什么 |
|---|---|---|---|
| SKU库存总览 | 哪些SKU可能缺货或积压 | 可售、锁定、不可售、在途、年龄、覆盖天数 | 按风险等级进入补货或处置清单 |
| 组合拆解树 | 哪个组件限制了可组套数 | 组合编码、组件编码、用量、可用量、占用量 | 补短板或重新设计组合结构 |
| 需求趋势 | 增长是基线还是活动造成 | 周订单、渠道、活动标签、同期数据 | 调整预测权重和采购节奏 |
| 库存年龄分布 | 资金在哪些年龄段沉淀 | 入库日期、最后动销、成本金额、库位 | 制定分层处置期限和责任人 |
| 行动跟踪表 | 建议有没有变成结果 | 动作、负责人、截止日、预计回收、实际结果 | 复盘差异并关闭或升级任务 |
这里的重点不是工具名称,而是让数据从“看一眼”变成“能解释、可协同、能追踪”。如果团队已经在多个系统中维护数据,可以先用一套统一的SKU主数据和组合关系表,再逐步接入销售、采购、仓储与财务口径。
没有一种动作适用于所有SKU。每个方案都有代价:补货可能带来缺货缓解,也可能扩大积压;促销能加快现金回收,也可能压缩毛利;拆售能释放组件价值,也会增加运营复杂度。关键是把取舍说清楚。
先确认增长不是单次活动,再锁定约束组件。若短板组件的采购提前期较长,我会优先评估替代料、分渠道分配和部分发货,而不是同时增加所有组件。对客户承诺要以最稳妥的可组套数为准。
先停止或降低常规采购,然后按库存年龄和毛利分层。高年龄、低毛利商品优先处理;仍有稳定自然需求的商品不要因为一次活动失败就全部清仓。可以采用渠道调拨、组合加购、阶梯折扣和团购包销。
我会先计算拆售后的额外包装、标签、人工和渠道费用,再看组件的独立售价、剩余生命周期与品牌影响。若拆售后的现金回收明显高于继续组套,拆售通常更合理;如果拆售会破坏渠道协议,则可尝试改版组合。
这类问题首先不是采购问题,而是库存治理问题。我要先区分待检、破损、退货、过期、系统冻结和仓库盘差,确定每一种状态的处理责任与时限。清理状态后,真实可售量可能上升,也可能暴露更严重的损失。
| 需求趋势 | 可售覆盖 | 库存年龄 | 优先动作 | 需要警惕 |
|---|---|---|---|---|
| 上升 | 低于提前期 | 较新 | 核验基线后补货,优先补组件短板 | 活动峰值被当成长期需求 |
| 稳定 | 适中 | 较新 | 按安全库存和服务水平常规补货 | 在途重复计算、不同渠道重复占用 |
| 下降 | 偏高 | 较新 | 暂停追加,调整组合与渠道 | 低价促销侵蚀正常单品价格体系 |
| 下降 | 偏高 | 较老 | 分层清仓、调拨、拆售或退供 | 没有截止日,库存继续老化 |
| 不确定 | 高低不一 | 混合 | 先做数据清理和小批量试验 | 用一套动作覆盖全部SKU |
库存管理最容易失败在“分析结束之后”。如果没有责任人、截止日期和结果回写,报表只会让问题被看见,却不会让问题被解决。我建议从一个品类或一组组合商品开始,建立小范围的闭环。
刷新库存状态、订单、出库、在途、组合关系和库存年龄,标注可售覆盖低于提前期、覆盖超过阈值、年龄超过处置期限、组件短板变化等异常。
输出:一张按风险等级排序的异常SKU清单,不要求一开始覆盖所有品类。
采购确认供应状态,仓库确认实物状态,销售确认活动和客户订单,财务提供库存成本及处置影响。每个异常只能选择一个主原因,必要时再补充次原因。
输出:确认后的原因、证据、建议动作和预计影响。
执行补货、调拨、拆售、折扣、退供、返工或停采,并将实际数量、实际日期和实际结果回写到行动清单。没有结果的数据不应被视为已解决。
输出:动作完成率、回收金额、释放库位和遗留问题。
| 会议环节 | 时间 | 只讨论什么 | 决策结果 |
|---|---|---|---|
| 上周结果 | 10分钟 | 预测与实际、动作与结果的差异 | 确认需要复盘的差异 |
| 缺货风险 | 15分钟 | 未来提前期内的可售缺口 | 补货、替代、分配或调整承诺 |
| 积压风险 | 15分钟 | 高金额、高年龄和低动销SKU | 处置方式、负责人、截止日 |
| 组合短板 | 10分钟 | 组件可组套数和共同占用 | 组件优先级与组合调整 |
| 需要升级 | 10分钟 | 跨部门或跨渠道无法解决的问题 | 明确升级对象和下一节点 |
如果团队还没有完善的数据仓库,我会先保证以下字段稳定存在:
每个问题都用一个可落地的判断框架回答。以下内容仍以第一人称和示例场景说明,方便我把技术术语转换成业务动作。
我经常看到系统里套装SKU显示还有几十套,但仓库反馈无法完成拣货。我的疑惑是,究竟应该以套装编码的库存为准,还是以背包、水杯、配件等组件库存为准?如果一个组件同时被单卖和多个套装占用,计算时应该怎样避免重复承诺?
有时我看到库存余额并不低,销售却说无法承诺客户,采购又认为暂时不需要补货。这样的矛盾通常不是一个部门的错,而是库存状态没有被拆开,或者锁定、冻结、待检和在途被混在同一个数字里。
我不希望用一个固定的90天或180天阈值把所有行业、所有SKU一刀切。快消、耐用品、季节品和定制品的合理库存周期不同,所以我想知道库存年龄与覆盖天数分别回答什么问题,如何结合起来看积压风险。
当一套礼盒滞销时,我常常不确定拆售是不是一定更好,因为拆包装、改标签和重新入库都需要成本。继续等待又会让库存年龄变长。我想用一种更理性的方式比较拆售、促销、调拨和报废之间的真实收益。
采购团队会说已经下了很多订单,因此不需要再买;销售团队却担心供应商延期,所以仍然要求增加库存。我的疑惑是,在途到底算现货还是不算?如果完全忽略在途,会不会导致重复下单;如果全部计入,又会掩盖供应风险?
我不想为了做库存分析再增加一套孤立的表格,尤其是订单、库存、采购和组合关系分散在不同系统时,手工复制很容易出错。我的疑惑是,像E数通这样的分析工具在这个场景中应该承担什么角色,如何避免把工具当成替代业务规则的魔法答案?
当库存积压时,采购可能认为销售预测不准,销售可能认为采购下单太早,仓库又发现很多货长期处于不可售状态。作为负责人,我希望把责任讨论从“谁做错了”转成“哪一个环节的假设与实际不一致”,并据此改进下一轮计划。
看可售库存、锁定库存、不可售状态和渠道分配,而不是只看系统余额。组合商品要回溯到组件短板。
用近期需求速度计算覆盖天数,并结合季节性、活动和未来订单,不要拿单周峰值代替需求基线。
把库存年龄、成本、仓储占用、毛利、拆售成本和现金回收速度放在一起比较,积压不是只能等销售自然消化。
每个异常都要有动作、负责人、截止日期和回写结果。没有闭环的看板,只是更漂亮的库存清单。

