让 AI 算哪些货快断了,第一次算出来的数是错的
断货那几天销量是零,直接算进平均数会把日均拉低,于是那个商品显示「还能卖 20 天」,实际 12 天就断了——而且越是经常断货的商品,这个数越乐观。这是库存盘点里最隐蔽的一个坑,因为报表上看一切正常。修正方法是先把断货日和大促日剔掉再算。另外两个常见坑是在途没算进去、父子商品库存算重了。这一层只算现状,补多少是后面的事。
这是库存盘点里最反直觉的一件事,也是这篇要讲的主坑。
一个商品上个月断货了 8 天。断货期间销量是零。
如果直接拿一个月总销量除以 30 天算日均,这 8 天的零销量会把平均数拉低约四分之一。日均低了,按当前库存算出来的「还能卖多少天」就变长了——这个商品显示得比实际更安全。
于是你不补它,它继续断货,下个月的日均被拉得更低,显示更安全。
这是一个会自我强化的错误,而且报表上完全看不出来——数字没算错,是口径错了。
这一篇讲怎么发现它、怎么修,以及库存盘点另外两个常见坑。
还是前面几篇那家虚构的四人宠物用品团队,数据也是编的。
老板问了运营小李一个很简单的问题:哪些货快断了?
小李原来的做法是打开后台库存页面,按库存数从低到高排,挑几个看着少的补一补。
这个做法的问题很明显:库存少不等于快断货。一个只剩 20 件但一个月才卖 2 件的商品,能撑十个月;一个还剩 200 件但一天卖 30 件的商品,一周就没了。
真正该看的是还能卖几天,而这个数要算,不是看。三百个商品挨个算,人不会去做。
小李把库存表和最近 90 天的销量导出来,让 AI 算每个商品还能卖多少天。
报告很快出来了,格式清楚。他扫了一眼,觉得没什么问题——只有两个商品显示两周内会断货。
结果三天后,一个报告里显示「还能卖 26 天」的商品断货了。
小李回去查,发现问题出在日均销量上。
那个商品是他们的主力款,上个月因为补货晚了断了 9 天。AI 算日均的时候,把那 9 天的零销量一起算进了平均数:
而实际情况比 18 天还紧,因为断货刚恢复那几天通常会有一波补偿性成交。
这个错误最麻烦的地方是它有偏向性:越是经常断货的商品,日均被拉得越低,显示得越安全,你就越不补它。而这些恰恰是最该补的。
修正方法是在说明书里加一段:
算日均之前,先把这几种日子剔掉:库存为零或很低的日子、大促日、大促结束后的三天。剩下的才是正常日,用正常日算。
改完之后再跑,这次数看着对了。但报告说有 5 个商品需要立刻补货,小李看了一眼,其中 3 个上周已经下过单,货在路上。
原因很简单:他只给了库存表,没给在途数据。AI 只能看到它拿到的东西。
这个坑不大,补一份在途数据就行。但它带出一个更普遍的道理:每次报告出来觉得不对,先问一句「我给它的资料够不够它得出这个结论」,而不是先怀疑它算错了。
多数时候不是它算错,是它手上的东西不全。
第三个坑更隐蔽。
他们有些商品有多个尺寸和颜色,后台里是一个主商品下挂几个子商品。导出的时候,主商品那一行也带了一个库存数——那个数是所有子商品加起来的。
AI 把主商品和子商品都当成独立商品算了一遍,于是这些商品的库存被算了两次,显示得比实际多一倍。
这一类问题人工做也会犯,只是人工不会一次做三百个。
修正方法是在说明书里写清楚:
有变体的商品,只算子商品,跳过主商品那一行。判断方法:如果某一行的库存等于它下面几行之和,那是汇总行。
三个坑都修完之后,报告变成这样:
最后那一类是加了规则之后才出现的。原来 AI 会给这些商品也算一个数,看起来和其他商品一样可信,实际上是拿两周的数据推的。
现在它会明说「数据不足」,而不是给一个假装可靠的数。这比多算出几个商品有用得多。
有一件事要说清楚,因为它是这个系列的主线。
这篇讲的活,产出是现状:哪些快断了、哪些压着钱、哪些算不出来。
它不回答「该补多少」。
因为补多少牵扯到一堆数据表里没有的东西:账上还有多少钱、这个商品还打算卖多久、下个月有没有活动、供应商这次交期靠不靠谱、断货掉排名的代价有多大。
这些是人的判断,不是算出来的。
所以这件活属于最简单的那一层——照着算就行,不需要拍板。也正因为如此,它适合早做:错了一眼能看出来,而且看到断货清单之后该干什么,你自己心里有数。
补多少那件事,是后面更难的一层,到时候单独讲。
不要求懂编程,会复制粘贴就行。前提是你已经按第一篇装好了工具。
打开终端,粘贴这一行:
mkdir -p ~/stock-check/data ~/stock-check/reports && cd ~/stock-check
和前面几件活一样,各用各的文件夹。桌上东西少,出错就少。
放进 data 文件夹:
| 资料 | 要有哪几列 | 说明 |
|---|---|---|
| 当前库存 | 商品编号、可售库存 | 后台导出 |
| 每日销量 | 日期、商品编号、销量 | 至少 90 天,越长越好 |
| 每日库存 | 日期、商品编号、当天库存 | 用来识别哪天断货了 |
| 在途 | 商品编号、数量、预计到货 | 已下单还没到的 |
第三份是关键,也是最容易漏的。没有它就没法识别断货日,也就修不了开头那个坑。
如果你的后台导不出每日库存快照,退一步的做法是:把「销量连续为零、但前后都有销量」的日子当成疑似断货日剔掉。不完美,但比不剔强。
第四份如果暂时没有,先跳过,在说明书里写明「没有在途数据」,让它在报告里提醒你自己核对。
在 stock-check 文件夹里新建说明书文件(文件名和前面几篇一样,取决于你装的是哪个工具)。
下面这份可以直接复制:
# 库存盘点说明
## 资料在哪
data 文件夹里有:当前库存、每日销量、每日库存、在途,按商品编号关联。
## 算日均销量之前,先剔掉这些日子
这一步最重要,不能省:
- 当天库存为零或低到无法正常出单的日子
- 大促日,以及大促结束后的三天
- 销量高于当期中位数三倍的日子,剔掉并在报告里说明
剩下的才算正常日。用正常日的中位数当日均,不要用平均数。
如果剔完之后正常日不足 30 天,这个商品直接写「数据不足,无法预测」,不要硬算。
## 有变体的商品怎么处理
只算子商品,跳过汇总行。
判断方法:如果某一行的库存等于它下面几行之和,那是汇总行。
## 要算什么
- 还能卖几天 =(当前库存 + 在途)÷ 日均
- 多久没动销 = 今天 − 最近一次出单日期
- 计算要用程序算,不要估算
## 报告写成什么样
在 reports 文件夹生成报告,文件名带日期,按这个顺序:
1. 两周内会断货的:按剩余天数从少到多,写清楚当前库存、在途、日均、还能卖几天
2. 一个月内会断货的
3. 超过 90 天零动销的:写清楚压了多少钱
4. 数据不足的:只列商品编号和缺什么,不给预测
每个商品要能看出这个数是怎么算出来的:日均是多少、剔掉了几天、库存和在途各是多少。
## 不许做的事
- 不许改 data 里的原始文件,要输出就新建文件
- 不许直接改后台的库存或采购设置
- 不给「应该补多少」的建议,只算现状
- 没有在途数据时,在报告开头明确提醒
最后那条「不给补多少的建议」是故意的。这一层只做现状盘点,建议留给人。你会发现这样反而更好用——一份纯事实的清单,你看完自己就知道该干什么了。
进工作台启动工具,说一句:
按说明书盘一遍库存,生成报告。
你应该看到:它先说读到了哪几份文件、有多少商品,然后写一小段程序算,最后告诉你报告写到哪了。
如果它提到「有 N 个商品数据不足」,那是对的,说明规则生效了。
第一次核三件事:
挑一个你熟悉的商品手工算。找一个你大概知道卖得多快的,看报告里的日均和你的印象差多少。差很多的话,多半是断货日没剔干净。
核一个断货过的商品。专门找一个你记得上个月断过货的,看它的日均是不是明显比「总销量除以天数」高。如果两个数一样,说明剔除规则没生效。
核变体商品。找一个有多个尺寸的商品,看报告里是一行还是几行。如果主商品也单独出现了一行,汇总行没跳过。
第二件是这件活特有的,一定要核——它正是开头那个坑的检验方法。
建议每周跑一次,固定在一个时间。
跑完只看第一段「两周内会断货的」。这一段为空的时候就关掉,不用往下看。
| 你看到的 | 多半是什么原因 |
|---|---|
| 算出来的天数普遍偏长 | 断货日没剔掉,检查有没有给每日库存数据 |
| 某些商品库存明显翻倍 | 变体商品的汇总行没跳过 |
| 说要补的货其实在路上 | 没给在途数据 |
| 大量商品显示数据不足 | 销量数据太短,或者商品编号在几份表里对不上 |
| 几份表对不上 | 检查是不是有的表用主商品编号、有的用子商品编号 |
| 它给了补货数量建议 | 说明书里的「只算现状」那条没写或没生效 |
倒数第二条是最常见的,而且它不报错,就是静静地把对不上的商品归到「数据不足」里。所以如果数据不足的比例很高,先查编号对不对得上。
前面几篇一直说,把 AI 当成新来的助理。这件活里,带法是这样的:
| 带新人 | 对应到这里 |
|---|---|
| 告诉他哪几天的数据不算数 | 剔掉断货日和大促日 |
| 告诉他汇总行别重复算 | 跳过变体的主商品行 |
| 告诉他资料不全就说,别猜 | 数据不足直接写不足 |
| 你只要盘点,不用给采购建议 | 只算现状,补多少我来定 |
第一条是这件活里最值钱的一条经验,而它恰恰是老运营脑子里有、但从来没写下来过的东西。
写下来之后有个额外的好处:以后谁来做这件事,用的都是同一套算法。而在这之前,你算的和同事算的很可能不一样,只是没人对过。
这个系列后面的选题,一部分会直接来自读者的实际问题。
如果你手上有一件活拿不准该不该交给 AI,把这三件事发过来就够:
这三件事正好就是判断能不能交出去的三个条件,你写的过程中多半自己就有答案了。
我会挑典型的写成文章——判断它属于哪一层、该怎么交、哪一步必须你自己来。涉及店铺的具体信息一律脱敏,不会出现店名和真实数字。
联系方式在关于页面。
库存盘点是纯算数,规则一旦写对,结果就是确定的。
下一篇换一类活:核一遍全站的商品标题。这件活没有标准答案,但有明确的检查项——哪些超长被截断、哪些在堆词、哪些几十个商品共用同一个句式。它比算数难在「怎么判断写得好不好」,而这正好是需要把你们的标准写下来的地方。
下一篇
没有了
两件活做下来会发现动作是一样的,只是内容不同:建个文件夹、放资料、写说明书、说一句话、自己验收。这五件事换哪个工具都成立,各家只是叫法不同——说明书的文件名不一样,但里面写的东西可以直接复制。真正要重新学的只有一块:它能碰到什么、什么时候停下来问你。所以你花在写说明书上的时间不会浪费,那是你自己的东西,不是某个工具的。
作者
大阪烧鸟
大阪烧鸟,关注 AI 在跨境电商运营中的实际应用、Shopify 独立站与日本商业观察,偏爱把复杂问题拆成可执行的方法。