一个模拟场景:夺冠后48小时,3.8万件主场球衣全部售罄
先看一个模拟示例。某职业联赛球队在赛季末打进决赛,品牌方按照常规赛季的销售节奏,为决赛周准备了3.8万件主场球衣,其中线上2.2万件、门店和场馆零售点1.6万件。决赛当晚球队夺冠,一位当红后卫在最后时刻完成绝杀。第二天上午,线上旗舰店的主场球衣搜索量是平时的9倍,到第二天晚上库存全部清零;门店的热门号码在第一天中午就只剩下小码和特大码。
运营群里的第一反应是庆祝:全部卖完,零库存,售罄率100%。但如果把时间轴拉长,这个结果并不好看。夺冠后的第3天到第10天,是球迷购买意愿最强的阶段,而这8天里商品页面显示的是“暂时缺货”。等补货到仓,已经是第24天,那时搜索量回落到峰值的两成左右,媒体话题转向了转会和新赛季。补回来的2万件里,有相当一部分最后要进入折扣渠道。
这篇文章想讨论的是:售罄是一个结果,不是一个结论。BB体育供应链研究组在看这类案例时,会把“卖完了”拆成几个问题——需求到底有多大、预测差了多少、补货为什么慢、窗口是什么时候关上的、下一次应该在哪个环节提前动作。
提前售罄首先说明的是:预测偏保守,而不是备货刚刚好
很多团队把售罄率当作商品计划的成绩单,售罄率越高越好。这个指标在常规商品上有一定道理,因为它反映库存没有积压。但对于球衣这类强事件驱动的商品,售罄发生的时间比售罄本身更重要。
如果备货在销售窗口的最后一天刚好卖完,说明预测和实际需求很接近;如果在窗口开始后两天就卖完,说明实际需求远大于预测,供应链在剩余的窗口时间里没有货可卖。上面的模拟场景中,窗口大约持续三周,而库存只撑了两天,这意味着对夺冠情景的需求估计偏低了好几倍,而不是“略有不足”。
预测偏保守通常有几个来源:
- 用常规赛季的周销量乘以一个固定系数来估计决赛周,没有区分“进决赛”和“夺冠”两种情景;
- 把上一次类似赛事的销量当作需求上限,而上一次本身也发生过缺货;
- 商品团队担心积压,在审批环节层层压缩,每一层砍掉10%到15%,最后的订单量比模型建议少了三分之一;
- 没有把球星个人热度和号码集中度放进模型,只看球队整体。
其中第二点最隐蔽,下一节单独讲。
报表里看不见的那部分需求:缺货以后记录下来的销量不是真实需求
销售系统只能记录“卖出去了多少”,不能记录“想买但没买到多少”。当货架空了、页面显示缺货,顾客会离开、会转去买别的号码、会等待,也可能直接去其他渠道购买。这些行为在销售报表里都不会以“需求”的形式出现。统计上这叫截断需求(censored demand):观测到的销量被库存上限截断了。
在模拟场景里,报表显示决赛周卖出3.8万件。如果下一届决赛的预测直接用3.8万件作为基准,模型就会再次低估。更合理的做法是先还原被截断的部分,可以参考几类信号:
- 缺货期间的商品页面访问量和“到货提醒”登记人数,例如缺货8天里有4.6万次到货提醒登记;
- 售罄前每小时销量的斜率,在库存归零前是否仍在上升;
- 替代购买比例,比如主场球衣缺货后客场球衣和训练服销量上升了多少;
- 门店的询问记录和导购反馈,这部分需要人工整理。
把这些信号放在一起估算,模拟场景中夺冠情景下的真实需求大约在7万到9万件之间。这个区间很宽,但比“3.8万件”更接近事实。Demand Model 的第一项任务不是预测未来,而是先把历史数据里被截断的需求补回来,否则后面每一步都建立在偏低的基础上。
补一批球衣到底需要多久:把 Lead Time 拆成五段
“卖完了就赶紧补”听起来很简单,问题在于补货的 Lead Time 往往比销售窗口还长。一件印好号码的球衣从下单到上架,要经过面料准备、排产缝制、印号、质检包装、物流分拨几个环节。下表是一个模拟的时间拆解,用来对比需求窗口和补货周期:
| 环节 | 常规节奏 | 加急后 | 主要约束 |
|---|---|---|---|
| 面料准备(功能面料、队徽织标) | 10–15天 | 5–7天 | 专用面料库存、染色批次 |
| 工厂排产与裁剪缝制 | 7–10天 | 4–5天 | 产线已被其他订单占用 |
| 印号印字(热门号码) | 3–5天 | 2天 | 印号设备和授权确认 |
| 质检、包装、入仓 | 2–3天 | 1–2天 | 质检抽样比例不能降 |
| 干线运输与门店分拨 | 3–5天 | 2–3天 | 跨区调拨、门店收货时间 |
| 补货合计 | 25–38天 | 14–19天 | 各环节串行,难以并行压缩 |
| 对照:夺冠后需求窗口 | 峰值在第1–10天 | 第11–20天明显回落 | 第21天后约为峰值的20% |
即使全部环节都加急,最快也要两周以上才能把货送到顾客手里,而需求最强的10天在这之前已经过去。这就是为什么“卖完再生产”在事件型商品上几乎总是来不及。能在窗口内救回销量的,只有事先准备好的部分:已经锁定的面料、预留的产线产能、提前生产但未印号的空白球衣,以及分布在各区域仓的安全库存。
销售窗口在什么时候关上:热点衰减比补货速度快
球衣需求的时间形态和日常商品很不一样。日常商品的需求相对平稳,补货晚几天,损失的只是这几天的销量,后面还能卖回来。事件型需求是一条先陡升、再衰减的曲线:夺冠当晚到第3天是情绪高点,第4天到第10天是庆典、游行和媒体报道带动的第二波,之后逐步回落。错过峰值的销量大部分不会延后发生,而是直接消失。
模拟数据里,夺冠后第1到10天的日均需求约为5000件,第11到20天约为1800件,第21到30天约为900件。如果补货在第24天到仓,能接住的只是尾部需求;按照峰值估算下的2万件补单量,在尾部需求下需要两到三个月才能消化,中间还要经历新赛季球衣发布,旧款的价格会被进一步压低。
所以衡量一次球衣备货是否成功,看的不是售罄率,而是“窗口内满足率”:在需求最强的那段时间里,有多少比例的需求被满足了。模拟场景中这个数字不到一半。
缺货和积压是同一个问题的两面,两种成本都要算进来
商品团队倾向于保守,往往是因为积压的代价看得见:仓库里堆着的货、季末的折扣、财务报表里的跌价准备。缺货的代价看不见,没有一张报表会写“本次损失了4万件销量”。当一种错误有账可查、另一种错误没有,组织自然会倾向于回避前者。
比较合理的做法是把两种错误都量化。以模拟数据为例,一件球衣的毛利约为180元,窗口期后清仓的单件亏损约为60元。少备一件的损失是180元,再加上顾客转向其他渠道的长期影响;多备一件的损失大约是60元。在这个比例下,适度多备比少备更划算,备货量应该落在需求预测分布的偏高位置,而不是中位数。这和零售业常用的报童模型思路一致:缺货成本越高于积压成本,备货就应该越靠近需求区间的上沿。
当然,这种计算要按号码、尺码、渠道拆开做。热门号码的缺货成本高,冷门号码的积压风险大,把它们合成一个总数,会同时掩盖两类问题。具体怎么按情景拆分决赛备货,可以参考决赛前球衣需求预测的讨论。
AI应该在哪个环节提前介入,而不是在售罄之后才报警
如果AI只在库存归零时发出预警,它提供的价值很有限,因为那时候补货已经来不及。BB体育在设计体育供应链AI时,把判断前移到需求、生产、库存、物流四个环节,每个环节由不同的模型分工:
- Demand Model:在决赛前两到三周,根据赛程、球队胜率、球星热度、搜索和社交讨论,分别给出“止步半决赛”“进入决赛未夺冠”“夺冠”三种情景下的需求区间;
- Forecast Model:把需求区间按号码和尺码展开,给出每个情景下的号码集中度,例如夺冠情景中前三个热门号码可能占到总量的55%;
- Supply Chain Analytics:对照面料、产线、印号和物流的 Lead Time,倒推出每个决策点的最晚时间,例如“空白球衣必须在决赛前12天完成生产”;
- 库存与分仓策略:计算各区域仓的 Safety Stock,把一部分空白球衣放在靠近主场城市的仓库,赛后24小时内按实际热门号码印号发货。
这里最关键的一个动作是“延迟差异化”:把最难预测的部分(哪个号码会火)推迟到结果出来之后再决定,把最耗时的部分(面料和缝制)提前完成。空白球衣的积压风险比印好号码的球衣低很多,因为它可以在下一场比赛、下一次活动中继续使用。
这些模型的输出都需要商品和供应链负责人复核。模型可以把情景和成本算清楚,但“愿意为夺冠情景承担多少预投入”是一个经营判断,要由人来做。在BB体育的项目里,这一步通常以一张情景对照表的形式交给决策人,而不是直接生成采购单。
哪些判断可能出错,又该怎么验证
把预测前移,也意味着更早承担不确定性。常见的出错点有三类。第一,情景概率估错:球队夺冠概率被媒体情绪带高,导致预投入过多。第二,把一次性事件当成趋势:夺冠带来的需求高峰被误读为球队长期人气上升,下一季的常规备货也跟着放大,这类问题在球星热点与趋势误判中有更多讨论。第三,物流假设过于乐观:赛后城市庆典可能导致主场周边交通管制,区域仓到门店的配送时间比平时长一倍。
验证的方法是事后复盘,并且复盘要看对的指标:
- 窗口内满足率,而不是售罄率;
- 还原后的真实需求与预测区间的偏差;
- 各号码、各尺码的缺货时长;
- 补单到仓时间与需求峰值之间的时间差;
- 窗口结束后剩余库存的清仓折扣率。
这些指标连续记录几次赛事之后,模型的情景概率和成本参数才有依据去校准。只看一次结果就调整参数,很容易被偶然因素带偏。
下一次决赛前,供应链可以提前做的几件事
回到开头的模拟场景。如果重来一次,供应链团队可以在决赛前三周完成情景预测,前两周锁定面料和一部分产线产能,前十天完成约3万件空白球衣的生产,并在主场城市附近的区域仓放置其中一半作为安全库存。赛后24小时内根据热门号码印号,48小时内开始分批发货。这样补货的实际 Lead Time 从24天缩短到3天左右,需求最强的10天里可以多满足三四万件订单。
如果球队没有夺冠,这3万件空白球衣也不会立刻变成损失,它们可以用于新赛季首发前的预售和季票持有人活动。这笔预投入的风险是有边界的,而且边界在决策前就能算出来。
球衣卖断货的那一刻,供应链真正需要问的不是“卖得好不好”,而是“本来还能卖多少、为什么没有卖出去”。把售罄率换成窗口内满足率,把“卖完再补”换成“按窗口倒推”,是BB体育供应链研究组在事件型商品上最常给出的建议。