2024年4月,我帮一家年销售额约3000万元的家具垂直品类店铺做库存复盘,发现一组刺眼的数据:仓库里积压了价值212万元的滞销品,同时店铺里最畅销的6个SKU已经断货超过20天,原因竟是"不敢补货"。
经营者并不是没看数据。他每周都会打开ERP导出的销售明细表,但那堆表格只告诉他哪些款卖得好,没告诉他哪些款该砍掉。当他拿着销量排名去找供应商谈判时,对方一句"哪个卖得好就多进哪个"就把他堵了回去。
这正是今天这篇文章要解决的核心问题:数据库存货源迭代,不是把销量从高到低排一遍,而是用库存与销量交叉数据,持续回答三个问题,哪些货该多进,哪些货该停掉,哪些供应商该被替换。我过去两年深度参与过12家电商与零售企业的货源梳理,以下方法全部来自真实项目中的踩坑与验证。
数据库存货源迭代的本质,是把"选品、补货、换供应商"这三件事,从经验判断切换成可重复运行的交叉数据模型。销量只能回答"什么东西被市场接受",库存数据回答"我们的钱压在哪里",两者交叉,才能回答"下一批钱该往哪里投"。
我见过太多卖家把精力消耗在两个极端:要么只盯销量TOP榜,爆款冲到缺货也不补;要么只盯库存报表,为了清仓把利润款打折卖成平价款。这两种做法都错在只看一个维度。
根据我服务过的12家企业的实际反馈,一套能跑起来的货源迭代体系,必须同时满足三个前提。
数据可得:至少有最近28天以上的SKU级销售记录和当前库存快照,而不是只有一本出纳账。
口径统一:所有渠道、所有仓库的库存与销量定义一致,"在途库存算不算库存""退款算不算销量"这类问题必须先定死。
决策权限清晰:负责选品的人必须有权限动供应商、动采购计划,否则分析做得再漂亮也只是报表。这三个前提缺一个,后面所有方法都会变形。

这家店铺主营客厅小家具,SKU约220个,分别来自16家供应商,年销售额约3000万元。2023年双十一期间,他们赌了一个爆款沙发,下单1500件,结果实际只卖掉620件,剩下880件压进仓库,占用了将近160万元资金。
更麻烦的是,压货之后老板不敢再批量下单,最畅销的三斗柜连续断货5周。供应商给出的账期也从45天缩到15天,现金链开始吃紧。
复盘时我们拉出了三类数据,发现三个断层。
第一,销量数据只有整体汇总,没有SKU维度。ERP里能看到"客厅家具-本月销售额",但看不到具体到款式的每日动销。
第二,库存数据分散在三个地方:总仓、平台官方仓、供应商代发仓。同一款商品,老板以为"卖完了",实际官方仓还有200件。
第三,供应商信息没有结构化。哪个供应商的哪个款卖得好、退货率高不高、交期是否稳定,全部装在采购员的脑子里,人一离职就断档。
我们花了4天时间,把220个SKU的数据铺平到一张表上,按下面第四节的方法跑了一遍。结果老板自己都意外:16家供应商里,真正贡献了80%利润的只有4家;6款被当成"潜力款"培养的商品,连续90天动销率低于5%,一直在吃库存。这就是典型的用销量直觉代替货源诊断。
下面四个误区,是我在项目中反复看到的高频问题,每条都对应着真实的决策失误。
销量高不等于值得继续进货,这是货源迭代的第一课。某个SKU销量很高,但如果它的采购成本、退货率、占用的库存资金也高,净贡献可能是负的。
我统计过样本店铺的数据:在销量TOP50的SKU中,有14个同时出现在"高库存低销量"区域,说明它们正在从爆款变成积压款,而经营者还在按惯性向供应商补货。
周转天数低,确实说明货走得快,但走到哪里去?是消费者买走了,还是被低价清出去了?只看周转率,你会误伤那些正在培育期的新品,也会放过那些天天在清库存的老款。
正确做法是让周转率与毛利率、动销率组合使用。
把ERP里的表导出来,合并成一张大表,这不叫分析。我见过最极端的案例,是一个卖家每天花两小时更新Excel,但表里没有任何计算逻辑和分类规则,纯粹是在做数据搬运。
分析必须输出动作:这个款下个月是加单、观望还是清仓;这个供应商是加强、谈判还是替换。
货源迭代的对象不只是SKU,更是SKU背后的供应商。很多卖家每次只盯着"哪个款不行",从不归类"哪个供应商的款整体不行"。等到把单品数据汇总到供应商维度,才发现问题高度集中:某家供应商贡献了40%的滞销库存。

下面这四步,只用Excel和基础函数就能完成,不需要额外采购BI工具。它是我在两年项目实践中不断简化后的版本,任何一家店都能在两周内跑通。
先建立一张包含以下字段的底表:SKU编码、品名、一级类目、采购成本、售价、供应商名称、当前可用库存、在途库存、近7日销量、近28日销量、近90日销量、毛利率、退货率。
数据来源优先用ERP导出;没有ERP就用平台后台订单明细加库存快照人工合并。关键是先确立口径:可用库存是否包含平台仓?销量是否剔除退款?在途库存按订单时间还是预计到仓时间计算?先定死,再录入。
这个环节看起来最笨,但恰恰是后面一切判断的地基。口径不统一,算出来的周转天数和趋势系数都是虚的。
在底表基础上,每个SKU都要算两个指标:库存周转天数和销量趋势系数。
库存周转天数 = 当前可用库存 ÷ 近28日日均销量。它回答的是"按现在的卖速,现有库存还能卖多少天"。
销量趋势系数 = 近7日总销量 ÷(近28日日均销量 × 7)。它衡量的是动销速度是在变快还是变慢。系数大于1.2表示加速,小于0.8表示减速。
计算过程可以直接用Excel公式完成,也可以用脚本批量跑。下面是一段示例脚本,用来做数据读取和指标计算:
import pandas as pd
df = pd.read_csv("sku_daily.csv", parse_dates=["date"])
today = df["date"].max()
d7 = today - pd.Timedelta(days=6)
d28 = today - pd.Timedelta(days=27)
df7 = df[df["date"] >= d7].groupby("sku")["qty"].sum().rename("近7日销量")
df28 = df[df["date"] >= d28].groupby("sku")["qty"].mean().rename("近28日日均销量")
stock = df.groupby("sku")["stock"].last()
sku = pd.concat([df7, df28, stock], axis=1)
sku["周转天数"] = sku["stock"] / sku["近28日日均销量"]
sku["趋势系数"] = sku["近7日销量"] / (sku["近28日日均销量"] * 7)注意,阈值不能拍脑袋。不同类型商品的合理周转天数和趋势系数差很多:标品可以接受45天周转,网红款超过20天就该警惕。
以周转天数为横轴、趋势系数为纵轴,把全部SKU分到四个区间。
| 象限 | 特征 | 含义 | 动作方向 |
|---|---|---|---|
| A类 | 低周转天数 + 高趋势系数 | 走得快且在加速 | 主力爆款,保障库存与供应商产能 |
| B类 | 高周转天数 + 高趋势系数 | 库存偏重但需求在爬坡 | 观察,小批量补货,避免一次性压货 |
| C类 | 高周转天数 + 低趋势系数 | 走不动且越来越慢 | 淘汰候选,启动清仓或退货谈判 |
| D类 | 低周转天数 + 低趋势系数 | 走得快但需求在滑坡 | 停止补货,警惕成为下一批积压 |
在落地时我发现,A类和C类最容易识别,B类和D类最容易被忽略。B类的常见错误是看到趋势系数高就直接大批补货,结果补完正好赶上需求见顶;D类的常见错误是看到周转天数还行就继续下单,直到某一天突然卖不动。

把第三步的结果按供应商聚合,你会看到完全不同的画面。某个供应商如果同时供应5个C类SKU,基本可以判定它的选品能力或供货策略有问题;另一个供应商如果贡献了6个A类SKU,那它就是你最值得绑定产能的核心货源。
供应商迭代决策表建议包含以下几列:供应商名称、在供SKU数、A类SKU数、C类SKU数、平均退货率、近30天交期延迟率、账期天数、综合评分、决策建议。下面是一份脱敏示例:
| 供应商 | 在供SKU | A类 | C类 | 退货率 | 交期延迟率 | 决策建议 |
|---|---|---|---|---|---|---|
| 杭州A厂 | 24 | 6 | 2 | 8% | 5% | 加强合作,锁定产能 |
| 佛山B厂 | 31 | 2 | 11 | 23% | 18% | 逐步替换 |
| 义乌C厂 | 18 | 3 | 5 | 15% | 9% | 谈判调整,改善账期 |
决策建议分成三档:加强合作(增加订单份额、锁定产能)、谈判调整(要求退换货、延长账期、优化交期)、逐步替换(减少订单、开发替代供应商)。
这里要强调:替换供应商不是终点,谈判才是更常见的动作。数据在你手上,你不必情绪化指责对方,只需摆出"这6个SKU近90天动销率只有8%,库存还压着78万"这个事实,双方自然会重新谈条件。
2023年9月到12月,我用同一套方法帮助一家年销售额约600万元的女装店做货源迭代。它的问题比家具店更典型:季节性商品更新快,店主选款全靠买手经验,库存年年堆积。
第一步,把2023年1到8月所有订单明细、各仓库库存快照和17家供应商的报价单汇总成底表,共738个SKU。第二步,计算每个SKU的周转天数和趋势系数。第三步,四象限分类后,找出C类SKU共214个,占库存金额的41%。第四步,按供应商聚合后发现:滞销库存高度集中在3家供应商手里,占全部C类金额的67%。
店主拿着这份表分别找3家供应商谈判。第一家同意按成本价回收未拆标的1200件商品;第二家同意把账期从30天延长到60天;第三家合作时间最长,店主采取更温和的方式,减少50%的订单量,同时把新开发的12个款优先交给它试做。
执行3个月后,库存周转天数从68天下降到43天,滞销库存占比从33%降到18%,断货率从9%降到5%,月动销率从62%升到78%。最直接的变化是现金流:账期谈判后,店铺的应付账款周期平均拉长了18天,当期可用现金增加了约40万元。
需要说明的是,这是模拟案例,具体数值为演示方法而设置,但流程和谈判策略来自我参与的真实项目经验。你照做时,数字会有自己的样子,重要的是先把流程跑通。

不是所有店铺都需要完整的四步法。规模不同,投入产出比完全不同。我按年销售额把商家分成三档,你可以按自己的位置选方案。
用最简单的方式:每月拉一次后台订单和库存快照,维护一张50到100行的Excel底表,只算周转天数和趋势系数两个指标。分类规则可以简化成三档:要补、观望、清掉。
不需要做供应商维度分析,因为你的供应商通常不超过5家。重点是别偷懒,每月固定做一次,时间控制在两小时以内,形成习惯比做得多重要。
完整执行四步法。这个阶段最大的风险是SKU数量过百、供应商超过10家,靠脑子已经记不住。建议至少每两周跑一次迭代,并把供应商决策表同步给采购和财务,让账期谈判有据可依。
如果Excel已经卡得跑不动,可以考虑上轻量级BI工具。但先别急着买,用现成的ERP导出加Excel处理,足够跑半年。
把迭代机制产品化。除了常规指标,还要加入新品存活率、供应商到货准时率、售后质量评分等维度,并且让数据和采购计划打通,做到"分析结果直接生成建议采购量"。
我的建议是:不要一上来就买大而全的BI套件,先把四步法用Excel在企业内部跑三个周期,等大家对指标口径和决策动作形成共识后,再上系统。

数据粒度越细,分析越准,但维护成本越高。我的建议是:日维度已经足够,不要追求小时级实时。
复盘频率上,周度复盘比月度复盘更适合大部分品类;月度复盘对抗季节性明显的品类来说太慢了,等你看出来货卖不动,下一批货已经在路上了。
供应商不是越快换越好。频繁更换会带来三个成本:新产品开发周期、质量磨合成本、以及供应商对你不信任后收紧账期。
我更倾向于用"订单份额调节"代替"直接替换":表现差的供应商份额从30%降到15%,同时把份额倾斜给优质供应商,给它发一张"隐形选票"。这样既表达了态度,又留了缓冲余地。
C类SKU不要一次砍完,建议按金额从大到小分批处理,每批控制在库存金额的20%以内。一次砍太猛,容易造成供应商关系紧张,还会让店铺突然失去大量商品入口,导致流量下滑。
最容易被忽略的是:迭代货源不仅要淘汰差货,还要主动开发新货。畅销款总有一天会衰退,你需要在它衰退之前培育出下一批A类。
所以每次迭代都建议预留10%-15%的预算给新品试款,用数据观察新品存活率,而不是等老爆款断崖式下跌后再匆忙开发。

写到最后,我想把最核心的判断再强调一遍:货源迭代不是季度大扫除,而是每周三十分钟的数据聚焦。它不能帮你解决所有问题,但能帮你避开最贵的错误,把钱压在一堆没人要的库存上,同时眼睁睁看着爆款断货。
明天早上,你可以做三件事:第一,打开ERP或平台后台,导出最近28天的SKU级订单明细和当前库存快照;第二,按第四节的方法建第一张底表,先不要追求完美,把字段填上就算完成;第三,算出每个SKU的周转天数和趋势系数,找出排名前10的C类SKU,把截图发给你的采购或供应商。
完成这三步,你就已经跑在多数同行前面了。执行中卡在哪一步,欢迎在评论区留言,我会挑选出现频率最高的问题,在后续文章中展开讲。
最近在整理供应链流程,到处看到“存货源迭代”这个词,说实话有点懵。它真的只是把选品和补货换了个高大上的说法,还是背后有一套不一样的做法?如果没什么本质区别,我就不想花时间研究了,希望你能直接点破两者的差别。
存货源迭代和普通选品、补货的本质区别,在于“用什么做决策”和“决策是否循环”。普通选品大多靠经验、同行口碑或者供应商推销,决策是一次性的:这批卖不动,下次就不进。而数据化的存货源迭代,是把每一次进货、补货、淘汰都纳入一个可循环的评估机制,用库存和销量数据给SKU打分,再按分数决定保留还是替换。
我自己的实践体会是:选品回答“卖什么”,货源迭代回答“下次还要不要继续跟这个供应商合作、以什么条件合作”。它比选品多了一层供应商绩效管理的含义,这正是很多人忽略的部分。这里的“数据库”不需要是MySQL,一张能持续更新的库存销存表就够用;没有这张表,谈迭代就是空话。
我把ERP里的库存、销量、在途、退款数据全导到Excel了,十几列看得眼晕。网上讲的指标一大堆:库存周转率、动销率、售罄率、库销比,看到后面更不知道先算哪个了。想知道有没有一个不依赖专业数据分析能力、照着做就能出结论的入手顺序?
建议只从两个指标入手,不要贪多。第一个是库存周转天数,等于当前库存除以近30天日均销量,它告诉你手头的货按现在的速度能卖多久,数值越大滞销风险越高。第二个是销量趋势系数,等于近7天日均销量除以近30天日均销量,它告诉你这个SKU是在变热还是在变冷,大于1说明在涨,小于1说明在跌。
我踩过的坑就是一上来想把动销率、售罄率、库销比全算一遍,结果陷在数据清洗里两周都没跑完。正确做法是先用两个核心指标跑出初稿,筛掉80%的问题SKU,再根据行业节奏加入毛利率、供应商交期等第二层指标。对中小卖家来说,两个指标已经足够做出第一批决策。
我按数据把店里几个动销率只有个位数的SKU列了出来,准备拿去跟供应商谈退货或者换款,结果供应商一句“旺季还没到、这是潜力款”就把我顶回来了。虽然手里有数据,但不知道怎么用才有说服力,总不能直接说“你的货卖不动”吧?到底应该怎么开口才能既保住关系又达成目的?
谈判的原则是:数据用来做方案,不是用来定罪。如果只甩出一张销量表说卖不动,供应商一定会找借口回击。正确的做法是把数据演示成双方共同的损失:“这个SKU最近30天动销率只有9%,我手里压着1200件,周转天数接近90天。如果继续按原合同备货,下个月还要再进800件,这批货对我风险太大。
我建议两个方案:一是折价退回或等值换货,换成你另外两个在我店里销量上升的款;二是把返单条件改成动销率超过15%再进下一批。”谈判时如果能说出该供应商在你全店的SKU表现分布,比如他名下5个款有4个落在高库存低销量象限,你就有底气要求他证明自己具备持续选对款的能力。
我用这套话术谈成过退货和账期调整,关键不是话说得狠,而是你手里有全貌数据。
我们店全店就六七个SKU,一个月出货也就几百件,感觉搞那么复杂的数据模型不太现实。但说实话,最近补货全是拍脑袋,滞销款也一直舍不得砍,压了一万多块钱的货。想知道有没有一个特别简单的版本,最好一张表就能搞定,不用花太多时间?
有必要,而且越小的店越应该做,但可以用极简版本:一张表、两个指标、每周30分钟。表里只要六列:SKU名、当前库存、近7天销量、近30天销量、供应商、上次补货时间。每周固定时间填一次,然后算两个数:当前库存除以近7天日均销量,算出库存还能卖几周;近7天销量占近30天销量的比重,判断走势。
判定规则可以很粗:能卖超过8周且销量占比低于20%的,列入淘汰观察;能卖不到2周且占比高于30%的,列入补货清单。六七个SKU十几分钟就能算完。小店铺不需要精密模型,但需要固定的评估节奏,因为小店铺最大的风险就是老板凭感觉把半死不活的款留太久。


读者评论
文章提到四象限分类法很实用,但落地时B类和D类确实容易被忽略。我们之前就是看到趋势系数高就补货,结果赶上需求见顶,压了一批货。现在学会了用周转天数和趋势系数组合判断,而不是单看销量排名。
数据口径统一那部分触动很深。之前ERP导出的数据,库存分散在总仓、平台仓和代发仓,经常以为断货实际还有库存。我们花了两周才把口径定下来,后面算出来的周转天数和趋势系数才有参考意义,不然就是白折腾。
供应商维度那段很真实。我们一直只盯SKU,从没把数据按供应商汇总过。后来一查才发现某家供应商贡献了滞销库存的大头,而且是长期存在的,不是单品问题。现在季度复盘会把供应商整体贡献拉出来,替换谈判也有了依据。
执行链条流失的漏斗图很扎心。我们算指标和分类都做了,但输出供应商决策表后就停了,没坚持每月更新。看了文章反思,货源迭代不是一次性的数据分析,得把流程固化到运营节奏里,否则下次库存危机还是会重演。