做批发最怕的不是没生意,而是库存数据看起来“都有”,真正补货时却不知道该信哪个数。我帮批发商做数据诊断时见过太多这样的场景:明明有进销存台账、有月度销售排行、有库存余额表,但走量大的商品依然频繁断货,压库的却永远是那批不动销的SKU。问题不在库存数据不够多,而在没有把“走量快慢”变成可执行的补货信号。
所谓“走量管控”,不是把销售前100名的商品多备点货,而是要把库存数据与每日出库速度、补货周期、资金占用串成一条计算链。过去五年,我服务过食品、日化、五金、家电四类批发商,看到最有效的做法不是买昂贵系统,而是先把现有数据库里的流水表用起来,用SQL算清三件事:单SKU每天真正消耗多少、现有库存够卖几天、补货需要多少天才到货。这三件事算清楚,走量自然可控。
库存走量管控的核心指标不是“卖了多少”,而是“现有库存还能卖多少天”。我把它叫作“库销比天数”:库存数量 ÷ 近30天日均出库数量。销售额可以靠促销冲高,但库销比天数反映的是真实供需关系。
举例:一个SKU月销3000件,库存5000件,看起来卖得好且库存充足。但如果日均出库只有80件,因为其中有1200件是一次性工程采购,库销比天数是62.5天,远高于健康线,其实压库了。另一个SKU月销600件,库存只有90件,日均出库20件,库销比4.5天,看起来很“小”,但随时会断货。
先看库销比,再看销售额,这是走量管控的第一条纪律。
我把批发商库存数据分为三张“信号表”:走量系数表、安全库存表、资金占用表。
这套模型的本质,是把库存数据从“事后记录”转成“事前判断”。
很多批发商老板的“感觉”其实来自几个重点SKU,但SKU一多,感觉就会失真。我在一家五金批发商的数据库里发现,他凭经验认为“卖得最好的膨胀螺丝”确实走量快,但库存却常常只剩3天;而一些他看不上的小配件,库存已经够卖11个月。用库销比天数排序后,才发现真实矛盾。

我接触的批发商中,真正能拿出“含时间戳流水数据”的不足两成。多数库存数据停留在三种形态:Excel进销存、进销存系统、纸质单据。最常见的是仓库一张Excel、老板手机里一张Excel,财务的Excel又是另一张。三张表的SKU编码、计量单位、退货口径完全不同。
东莞一家饮料一级批发商,库存表显示总库存金额580万元,看起来“总体安全”。但我把SKU按库销比排序后,发现问题非常严重:前20个走量SKU里有12个库销比低于3天,而仓库里积压的15个SKU库销比超过90天。这批积压商品占用了约170万元资金,却只贡献了5.8%的销售额。
老板的解释是:“那个老汽水,我知道卖得慢,但夏天快到了。”问题在于,他把“季节预期”当成了“现实走量”,没有用历史数据验证。最后查了去年同期的走量数据,老汽水前年夏天也只卖了总量的20%。
库存数据无法快速汇总时,补货只能依赖业务员的记忆或者供应商的电话催单。走量大的SKU断货了,大家怪供应商延迟;其实很多时候,是自己根本没有把“安全库存水位”算明白。所以,走量管控的第一步,是把库存数据结构的底子打好。下图是我观察到的批发商库存数据存储形态分布:

月销量1万件的SKU与月销量5000件的SKU,谁的走量更快?不一定。前者可能在月初一次性发出8000件,剩下20天每天只出100件;后者每天均匀出167件。前者按库存余额看会“忽高忽低”,容易产生断货或积压交替;后者才是真正稳定的走量型商品。
走量速度用“日均出库量+波动系数”衡量,不能只看总量排名。
批发商经常遇到政府大单、外卖渠道备货、活动备货。如果把这些一次性销量混入30天日均出库,会导致安全库存被抬高。我见过一个日化客户,因为一个大客户一次性采购了某SKU 1.2万瓶,系统自动按照未来三个月销量预测,安全库存备到了3万瓶。大单结束后,这批货变成了2.5年都卖不完的库存。
很多批发商把“备够15天”作为统一标准。但不同SKU的补货周期不同:本地供应商2天到货,外省供应商7天到货,进口商品30天到货。同样的15天库存,对前者是冗余,对后者却是缺货风险。安全库存必须等于“日均销量 ×(补货周期 + 供应商延迟天数) × 服务水平系数”。
我清理数据时,常见同一商品出现多种写法:“500ml水”、“水500”、“水(瓶)”;也有“箱”和“瓶”混用。如果不先做主数据治理,后面所有走量计算都是错的。批发商至少要建立一个“SKU主档表”,包含唯一编码、规格、单位、供应商、产品类目。没有主档表,数据库库存就是一堆需要靠猜的字符。
总库存金额下降不代表库存变健康:可能走量SKU被砍掉,压库SKU没动。健康的库存结构应该是“库存成本结构与销售额结构接近”。如果20%的SKU贡献80%销售额,那么这20%的SKU应占用接近80%的库存资金;实际却往往相反,长尾SKU占用了大量资金。

走量管控的第一性原理,是必须有“每个SKU每天发生了多少出库”的流水表。只有流水表才能算出日均出库量、波动系数、季节性系数。很多老板以为进销存系统里面的库存余额加上“出库汇总”就足够,但汇总粒度太粗。
我给客户设计的最小数据表结构如下:
CREATE TABLE stock_flow (
id INT PRIMARY KEY,
sku_code VARCHAR(50),
trans_date DATE,
flow_type VARCHAR(20), — 销售出库/采购入库/退货/调拨
qty DECIMAL(12,3),
cost_price DECIMAL(12,2),
sale_price DECIMAL(12,2)
);
如果你现在用的是Excel,也至少应该整理成类似的列,哪怕没有数据库,Excel Power Query也能做同样的事。
我推荐用“30天中位数日均出库”代替“30天算术平均”,因为中位数不容易被一次性大单带偏。再用变异系数(CV)描述波动。SQL大致为:
SELECT sku_code, ROUND(AVG(daily_out_qty), 2) AS avg_daily_out, ROUND(STDDEV(daily_out_qty) / AVG(daily_out_qty), 2) AS cv FROM ( SELECT sku_code, trans_date, SUM(CASE WHEN flow_type = '销售出库' THEN qty ELSE 0 END) AS daily_out_qty FROM stock_flow WHERE trans_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY) GROUP BY sku_code, trans_date ) t GROUP BY sku_code;
得到日均出库和变异系数后,我把SKU分成四类:稳定走量型(高日均、低CV)、波动型(高日均、高CV)、低频型(低日均、低CV)、呆滞型(低日均、高CV)。
我给批发商落地时使用的安全库存公式是:
安全库存 = 日均出库量 ×(采购补货周期 + 供应商延迟天数)× 服务水平系数
服务水平系数根据缺货成本设定:走量型SKU取1.5,常规型取1.2,低频型取1.0。举例:某SKU日均出库100件,补货周期5天,供应商延迟2天,服务水平系数1.5,则安全库存 = 100 × 7 × 1.5 = 1050件。如果实际库存低于1050件,系统触发补货建议。

走量SKU虽然卖得动,但如果为了不断货而备太多,也会吃掉资金。我会用“库存成本均价×当前库存数量”计算单SKU资金占用,再除以该SKU月销售额得到“资金占用系数”。这个系数超过0.3的,需要重点审查。比如某SKU月销售额10万元,平均库存成本4万元,资金占用系数0.4,说明库存资产过重。
把销售额贡献(ABC)和走量稳定性(XYZ)结合,形成九宫格。下面是一张某五金批发商的分类表格:
| 品类 | SKU数量 | 月销售额 | 日均出库波动 | 建议策略 |
|---|---|---|---|---|
| A类稳定走量(螺丝/钻头) | 60 | 68万 | CV 0.2 | 周补货,安全库存1.5倍 |
| B类常规(扳手/钳子) | 180 | 21万 | CV 0.6 | 双周补货,安全库存1.2倍 |
| C类低频(特殊模具) | 320 | 8万 | CV 1.8 | 按订单采购,不设安全库存 |
这个矩阵的价值在于:不是所有SKU都值得“保供”,只有走量稳定且高价值的SKU才值得用安全库存守住。
2019年,我接手一家广州日化批发商的库存数据项目。该客户有2400个SKU,库存准确率只有68%,库存余额表与实物差异巨大。最初3个月,我们只做数据清理:合并重复SKU 340个,修正单位错漏1326处,建立仓库盘点流程。到第6个月,开始用走量系数和安全库存模型生成补货建议。到第10个月,库存准确率提升到93%,缺货率从17%降到6%,库存周转次数从每年4.3次提升到7.1次。
关键动作是:把补货周期从“统一15天”改成按ABC分类调整。A类SKU周期改为7天,B类14天,C类30天。走量最快的SKU反而减少了单次备货量,靠增加补货频率来降低库存资金占用。

另一家五金批发商的问题是SKU多到7000个,但真正月出库超过1次的只有900个。我们按ABC-XYZ矩阵筛选出“A类高稳定”SKU,仅占SKU总数的8%,却贡献62%销售额。这些SKU全部纳入周补货清单,设定供应商交期预警。其余SKU改为“按单采购”或“最小起订量采购”。
三个月后,库存金额从均价620万元降到480万元,销售额基本没掉。这也是走量管控的常见结果:减掉的库存大多是长尾SKU,而不是走量SKU。
我观察了30家批发商(含食品、日化、五金、小家电)的SKU结构,发现一个稳定规律:前20%SKU贡献了70%-85%销售额,但只占50%-60%库存成本;后50%SKU可能只贡献不到8%销售额,却占用了25%-35%库存资金。这就是为什么单看总库存金额没有意义,结构才是关键。

快消品(水、饮料、纸巾、日用洗化)出库频率高,库存数据时效性要求也高。我建议每周一跑一次“库销比天数”,对库销比小于7天的SKU触发补货。补货周期尽量压缩到7天内,宁可单次少下,也不要一次性囤45天。
工业品SKU多、单价高、客户采购频率不稳定。我的建议是:只给“近90天有出库记录且月均出库次数≥2次”的SKU设安全库存,其他SKU采用按单采购。这样可以避免一半以上SKU变成呆滞库存。
如冷饮、风扇、年货礼品,库存数据要走量管控,需要引入“季节系数” = 过去三年同月平均销量 ÷ 过去三年月均销量。如果季节系数为2,安全库存的日均出库就要乘以1.8-2.0;旺季结束后,建议在当月把库存预算压回30%。
当资金有限,不能把库存铺到所有SKU时,按两个维度排序:走量系数×毛利率。先保证组合排名前20%的SKU有连续库存,其他SKU可视情况缺货。要知道,偶尔缺货一个低频SKU影响不大,但走量SKU缺货会丢失客户信任。
如果你有总仓+分仓,不要平均分配。用各分仓近30天出库量计算该仓“走量系数”,再乘以到仓的补货周期,得到分仓安全库存。如果两个仓都满足不了,优先通过调拨而非分别向供应商采购,因为调拨成本通常低于库存积压成本。
走量SKU缺货一次,可能丢掉一个长期客户;长尾SKU多压一个月,只是多一个数字。所以取舍原则很简单:资金预算有限时,先保走量稳定SKU的库存,再谈长尾覆盖。
很多批发商担心“频繁补货会增加物流成本”,但如果频率从15天提高到7天,单次库存资金下降一半,边际物流成本增加可能只有2%。对于走量SKU,这2%的成本能换来更低的缺货风险和更高的周转。
数据库可以自动算出补货建议,但客户的大单、临时促销、供应商涨价等异常,系统不一定知道。我建议库存系统生成“建议采购单”,但保留人工确认环节,特别是当某SKU出现超过日均3倍的历史大单时,要暂停自动补货。
走量管控依赖补货周期,如果供应商承诺5天到货却经常晚7天,安全库存公式就失效。测算缺货成本后你会发现,一家贵5%但交期稳定的供应商,可能比便宜5%但交期飘忽的供应商更划算。
有些批发商的数据库只有当前库存数量,没有历史快照,导致无法复盘“为什么当时缺货”。至少每月将库存余额、日均出库、库销比导出为历史表,才能持续改进走量模型。

批发库存走量管控,核心就是一句话:用数据回答“每天走多少、仓库还能撑几天、补货要多久”这三个问题。不需要一步到位上大型系统,只要先把手里的库存流水数据整理成SKU+日期+数量的结构,就能用Excel或SQL计算出走量系数、安全库存、资金占用,把库存控住。
下一步,我建议你从三件事开始:
这三步做完,你会发现很多库存问题并非来自市场,而是来自对数据节奏的失控。数据的价值,不是让你更忙,而是让你在每次补货前就看见结果。
我做批发已经三年了,每天都在用Excel录出入库,月底盘点还是对不上账。系统也换过两次,为什么库存数据还是越管越乱?到底哪里出了问题?
核心观点:库存数据走量管控不是靠录入速度,而是靠数据流的一致性设计。我见过太多批发商,为了记录库存上了系统,结果把进销存做成了流水账,入库、出库、退货、换货全混在一起,数据自然对不上。具体细节:我测试过一套进销存流程,发现最典型的错误是“一单多用途”。
比如客户退了一批货,同时换了等量的其他型号,业务员为了省事,直接在出库单上备注负数,结果系统把退货当出库,导致库存虚高。后来我强制要求每一个业务动作都用唯一的单据类型:销售出库、采购入库、客户退货、供应商退货、内部调拨,每种单据再绑定独立的编号规则,数据才开始准。
专家判断:批发行业的库存数据根本不是技术问题,而是业务规则问题。只要业务员还能在没有约束的情况下随意改数量、改单位,任何系统都会变成高级而昂贵的电子表格。避坑提示:如果你还在用共享Excel,至少要把“改数据”变成“新增单据”,保留每次操作的记录。
不要用“直接修改单元格”的方式调库存,那等于给数据埋雷。
我做批发生意,仓库里堆了很多货,财务说库存占资金太多,业务又说很多货不够卖。我想通过数据来判断哪些货该走量,哪些该清掉,但不知道具体该看哪些指标。
核心观点:走量管控最核心的指标不是库存量,而是“库存周转天数”和“缺货率”。这两个指标一个盯着资金效率,一个盯着销售机会。具体数据:我给我服务的批发商做了一套报表,其中有一个SKU平均每月销售1200件,平均库存480件,周转天数就是480/(1200/30)=12天。
另一个SKU每月卖100件,却库存500件,周转天数150天。后者明显是滞销品,但因为进货时贪折扣多拿了货,资金被压了几个月。后来我把每个SKU的周转天数按周更新,超过60天的自动进入促销清单,资金占用下降了30%。专家判断:走量并不等于卖得多,而是“走得快”。
在批发行业,净利润往往靠周转率放大,一个SKU如果周转天数超过90天,它的真实利润大概率被仓储成本和资金利息吃掉。独特视角:很多人只看总库存金额,其实要看“库龄阶梯”和“走量速度”的匹配度。比如库龄超过60天且日销量持续低于100件的,就应该果断降价清库,而不是继续放在货架上等行情。
我有两个门店和一个小仓库,白天门店卖货,晚上再汇总数据,结果仓库和门店的库存永远对不上。想实现实时同步,但网上说的方案太贵,有没有低成本的做法?
核心观点:多仓同步的核心不是“实时上传”,而是“统一主数据口径”。我曾经协助过一家做副食品批发的老板,他有三个门市和一个中心仓,最初每个门市自己用Excel记,每天晚上用微信报数,结果每次对账都要花半天。我建议他们先给所有商品统一编码,并规定销售时必须扫描条码,不能手输商品名。
光这一步,就让数据准确率从73%提到了96%。具体方案:不需要一开始就上昂贵的中台,可以用云端数据库配合轻量级进销存客户端,每个门店的收银台安装一个客户端,出货时扫描条码,数据实时写入云端。中心仓有单独的后台,调拨单必须审核后才能扣减库存。这样做到“销售即扣减、调拨即转移、盘点即校正”。
避坑提示:最常见的问题是“负数库存”。如果门店允许无货先卖,然后马上补货,会导致库存虚增。一定要设置“允许负库存”为关闭,宁可丢单也不乱账。专家判断:实时同步不一定要花钱买大平台,但一定要选支持“离线缓存”的客户端,因为批发市场的网络经常不稳定。
如果网络断了就录不了单,业务人员会想办法绕过系统,数据反而更假。
我每次补货都是凭感觉,有时候货还没卖完就进货,积压资金,有时候断货了才想起来,客户就跑单。想知道有没有办法通过历史销量数据算出什么时候该补货,怎么补最合理。
核心观点:最佳补货点不由库存数量决定,而由“补货周期内的预测量”决定。补货周期=供应商送货天数+安全库存天数。我做过一个案例:某品牌饮料的日平均销量是20件,供应商要5天才到货,加上2天安全库存,补货点就是(5+2)×20=140件。当库存低于140件时就要下单,而不是等卖完再补。
具体细节:你还需要设置备货上限,避免一次补太多。备货上限=供货周期+补货周期+安全库存的天数,再乘以日均销量。比如上面这个例子,如果每周补一次货,上限就是(5+7+2)×20=280件,超过280件就得停单。这个规则让我服务的客户把缺货率从18%降到4%,同时库存金额下降了12%。
专家判断:历史数据不等于未来数据,所以一定要把节假日和季节性因素纳入模型。批发行业最怕的就是春节前一个月还按平时走量算补货,结果爆仓。我建议把至少过去两年的周销量拉出来,识别出旺季周和淡季周,再分配不同权重。独特视角:不要只看平均日销量,要关注“日销量的波动率”。
如果某个SKU一周内有时卖10件有时卖50件,平均数30似乎靠谱,但安全库存就得按波动上限来设。我会用“过去4周最高单日销量”作为安全库存的参考底限,而不是只算平均,这样既不会过度补货,也不会轻易断货。


读者评论
文中东莞饮料批发的例子太真实了。我做日化批发八年,前几年也是靠感觉备货,总觉得总库存金额够就行。后来发现畅销品断货赔了不少渠道费,压库货却堆了半个仓库。回头用库销比一算,积压的那批货占用了近一半流动资金,销售额贡献还不到一成。现在每月拉流水表算库销比,缺货率明显降下来了。
做了十几年进销存实施,见过太多账物不符的案例。最头疼的就是SKU编码和单位不统一,同一个商品有叫“500ml水”的有叫“水500”的,箱和瓶混着记。文章说得对,没有SKU主档表和带时间戳的流水数据,后面算啥都是错的。之前帮客户清理数据,光统一编码就花了两周,但之后所有统计都顺了。
做库存管理最容易被忽视的就是资金占用。文章提到长尾SKU占总库存20%却只贡献5%销售额,这种结构性问题很多批发商都有。我管理的家电代理仓库以前也是什么都备一点,资金越压越多,周转率一年4次都不到。按文中模型把安全库存和资金占用率串起来看,现在周转率提到6次以上,这个思路值得推广。