老王在城南开了二十年杂货铺。店里最显眼的货架摆着酱油、盐、纸巾,每天能卖十几件;角落那排“小透明”货架——糖桂花、竹编蒸笼、红曲粉——却常常一整天无人问津。但月底一算账,老王惊讶地发现,这些冷门货加起来竟占了营业额的三成。他翻开台账想给它们备货,却发现每件商品的销量记录稀稀拉拉:上周2罐、上上周0罐、再上周1罐……完全摸不着头脑。这就是长尾商品预测要解决的难题:如何让那些销量稀疏的“小透明”,也能像爆款一样被合理预估、合理备货。本文就用老王杂货铺的故事,带你走一遍从“长尾现象”到“预测方法”再到“库存协同”的完整链路——层次化预测先看大盘再分小账,聚类共享让相似商品抱团取暖,零膨胀模型分清楚两种“零”,最后用安全库存把预测变成利润。

岗位关联

学会长尾商品预测,意味着你能把零售AI中最“难啃”的稀疏数据问题变成可落地的增长引擎——这不仅是算法能力,更是直接创造库存利润的实战本领。

目录
  1. 可视化演示
  2. 长尾效应:冷门货架里的“小透明”
  3. 预测挑战:稀疏销量的“三座大山”
  4. 层次化预测:先看大盘,再分小账
  5. 聚类共享:相似商品“抱团取暖”
  6. 零膨胀模型:分清楚“真没人买”和“碰巧没买”
  7. 库存协同:备货与风险的平衡术
  8. 工程落地:从模型到货架的最后一公里
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示长尾商品需求分布特征与层次化预测聚合流程,支持模式切换查看稀疏需求分布与聚类共享预测机制。

本节配有交互动效(进入视口后自动加载,约 3KB)。

长尾商品需求分布特征 头部商品:少数热销品占据大部分销量,需求稳定可预测 长尾区域:大量低频商品销量稀疏,传统方法失效 零膨胀问题:超长尾商品大量零销量,需特殊建模 P(demand=0) = π + (1-π) × Poisson(λ) 零膨胀模型分离零与非零需求提升预测精度。

长尾效应:冷门货架里的“小透明”

老王在城南开了二十年杂货铺。店里最醒目的货架摆着酱油、盐、纸巾,每天都能卖出十几件;可角落里那排“小透明”货架——糖桂花、竹编蒸笼、红曲粉——常常一整天无人问津。但月底一算账,老王惊讶地发现,这些小东西加起来竟占了营业额的三成。这就是零售业著名的“长尾”现象:少数爆款撑起头部,大量冷门商品构成一条绵长的尾巴。

在零售行业,二八法则无处不在:大约20%的商品贡献80%的销售额,剩下80%的商品共享那20%的份额。它们单看都很“弱”,合起来却是一块不容忽视的蛋糕。对零售商来说,放弃尾巴等于把三成营业额让给竞争对手。更关键的是,长尾商品往往毛利更高、竞争更少,是差异化经营的重要阵地。

数学上,长尾可以用帕累托形式的累积占比来描述:

理解了尾巴的价值,老王开始认真对待那排冷门货架——他意识到,真正的难题不是“要不要管”,而是“怎么管”:这些商品的需求记录实在太稀疏了。

S(r)=1−(rN)α,r=1,2,…,N\displaystyle S(r) = 1 - \left(\frac{r}{N}\right)^\alpha, \quad r = 1, 2, \ldots, N
  1. 排名序号$r$ 表示商品按销量从高到低排列的名次,排名第1是店里的“爆款”,排名越靠后越冷门。
    r=1,2,…,Nr = 1, 2, \ldots, N
  2. 累积占比$S(r)$ 是销量排名前 $r$ 名商品合计贡献的销售额比例,$r$ 越大这个值越接近1。
    S(r)=1−(rN)α\displaystyle S(r) = 1 - \left(\frac{r}{N}\right)^\alpha
  3. 形状参数$\alpha$ 控制曲线的弯曲程度。$\alpha$ 越小,尾部越“厚”,说明排名靠后的商品合计贡献越不可忽视。
    α>0\alpha > 0

预测挑战:稀疏销量的“三座大山”

老王翻开台账,试图预测芥菜疙瘩下周要进几罐。上周2罐、上上周0罐、再上周1罐……数据毫无规律。他叹了口气:爆款可以拍脑袋,这些“小透明”连拍脑袋的底气都没有。这不是老王数学不好,而是长尾商品预测的天然困境:数据太少了。

稀疏带来三个连锁挑战。第一,历史样本少,统计上的“均值”极不可靠,一个脉冲订单就能把平均值拉高一倍。第二,大量周销量为零,模型很难区分“卖不动”和“碰巧没卖”。第三,需求波动极大,方差远超均值,常规的时序模型学到的只是“平均”,而不是“规律”。

为了量化稀疏程度,业界常计算零销量比例:

当零值比例超过50%甚至80%,常规模型必然退化。老王意识到,要翻越这三座大山,必须换一套思路:不再孤立地看每个商品,而是让数据在相似商品之间流动起来。

p^0=1T∑t=1TI(yt=0)\displaystyle \hat{p}_0 = \frac{1}{T} \sum_{t=1}^{T} \mathbb{I}(y_t = 0)
  1. 周销量$y_t$ 表示第 $t$ 周该商品的实际销量,$T$ 是观察的总周数。
    t=1,2,…,Tt = 1, 2, \ldots, T
  2. 指示函数$\mathbb{I}(y_t=0)$ 是“探针”,销量为零时记1,否则记0。
    I(yt=0)={1,yt=00,yt≠0\mathbb{I}(y_t=0) = \begin{cases} 1, & y_t = 0 \\ 0, & y_t \neq 0 \end{cases}
  3. 零值比例对 $T$ 周的探针结果取平均,得到零销量占比,是衡量稀疏程度的核心指标。
    p^0=1T∑t=1TI(yt=0)\hat{p}_0 = \frac{1}{T} \sum_{t=1}^{T} \mathbb{I}(y_t = 0)

层次化预测:先看大盘,再分小账

老王灵机一动:芥菜疙瘩虽然自己没规律,但“酱菜类”整体每周稳定卖30瓶。他先把大类定住,再根据芥菜疙瘩在酱菜里的历史占比分账,心里立刻有了底。这就是“先看大盘,再分小账”的朴素智慧。

层次化预测把商品组织成树状层级:门店→部门→品类→SKU。高层的聚合数据噪音小、规律强;低层的SKU数据个性化但稀疏。Top-down方法先预测高层,再按历史比例分解到SKU;Bottom-up方法先预测SKU再逐步加总。实际中常把两者结合,用“一致性修正”让上下层预测对齐,避免两个口径打架。

Top-down 的分解公式:

层次化让“大盘”的信息流到“小账”,但同一个品类里的商品习性仍可能天差地别。老王发现,更精细的做法是把习性相似的商品圈在一起“抱团”。

y^sku=y^cat×yˉsku∑j∈catyˉj\displaystyle \hat{y}_{sku} = \hat{y}_{cat} \times \frac{\bar{y}_{sku}}{\sum_{j \in cat} \bar{y}_j}
  1. 品类预测$\hat{y}_{cat}$ 是先用聚合数据(信息更多)预测出的品类总销量,是整个分解过程的基础。
    y^cat=高层的需求预测\hat{y}_{cat} = \text{高层的需求预测}
  2. SKU历史均值$\bar{y}_{sku}$ 是单个SKU在历史上的平均周销量,代表它在品类中的“历史地位”。
    yˉsku=1T∑t=1Tysku,t\bar{y}_{sku} = \frac{1}{T}\sum_{t=1}^{T} y_{sku,t}
  3. 占比分解该SKU均值占品类所有SKU均值之和的比例,决定了它在品类“蛋糕”中分到多少。
    yˉsku∑j∈catyˉj\frac{\bar{y}_{sku}}{\sum_{j \in cat} \bar{y}_j}
  4. 一致性所有SKU的预测相加恰好等于品类预测,上下层不会自相矛盾,方便库存系统统一执行。
    ∑sku∈caty^sku=y^cat\sum_{sku \in cat} \hat{y}_{sku} = \hat{y}_{cat}

聚类共享:相似商品“抱团取暖”

老王注意到,糖桂花和红曲粉虽然名字八竿子打不着,但买主都是做糕点的阿姨,销量曲线几乎同步。他把这类商品归为一组,谁的数据不充分,就参考组的平均表现。这个“抱团取暖”的思路,正是聚类共享的核心。

聚类共享分两步走。第一步,基于价格、品类、历史均值等特征,把SKU聚类成若干组,组内商品需求模式相近。第二步,每个聚类计算一个“组先验”(组内平均水平),对单个稀疏SKU,用收缩估计把自身少量信息与组先验加权混合——相当于“借邻居的数据补自己的短板”。

收缩估计公式:

聚类共享解决了“样本少”的问题,但还有一个隐患:零销量究竟代表“没人要”还是“碰巧没买”?这两种零必须区别对待。

θ^i=niyˉi+λθ^c(i)ni+λ\displaystyle \hat{\theta}_i = \frac{n_i \bar{y}_i + \lambda \hat{\theta}_{c(i)}}{n_i + \lambda}
  1. 自身样本量$n_i$ 是商品 $i$ 有历史销量的期数(非零期数),反映自己“说话的分量”。
    ni=∑t=1TI(yi,t>0)n_i = \sum_{t=1}^{T} \mathbb{I}(y_{i,t} > 0)
  2. 类先验$\hat{\theta}_{c(i)}$ 是商品所在聚类的整体需求水平,代表“邻居们”提供的外部知识。
    θ^c(i)=该聚类内所有商品的平均需求\hat{\theta}_{c(i)} = \text{该聚类内所有商品的平均需求}
  3. 收缩强度$\lambda$ 是权重超参,$\lambda$ 越大越信任聚类共享信息。
    λ>0\lambda > 0
  4. 加权合成分子是自身信息与共享信息的加权和,分母归一化,得到收缩后的预测。
    θ^i=niyˉi+λθ^c(i)ni+λ\hat{\theta}_i = \frac{n_i \bar{y}_i + \lambda \hat{\theta}_{c(i)}}{n_i + \lambda}

零膨胀模型:分清楚“真没人买”和“碰巧没买”

冬天,老王货架上的防蚊贴连续八周零销量——不是卖不动,是压根没人需要;而糖桂花上周零销量,是阿姨们这周没来,下周可能又来。老王意识到,“零”至少有两种性格。混在一起统计,会把预测值拖向错误的低位。

统计上,前者叫结构零(structural zero),需求本身不存在;后者叫抽样零(sampling zero),需求存在但本周期碰巧没发生。零膨胀模型用两个过程同时建模:一个伯努利过程决定“是否进入可购买状态”,一个泊松过程决定“买多少”。两者联合估计,而不是简单粗暴地把零删掉。

零膨胀泊松(ZIP)的概率质量函数:

有了更诚实的需求估计,老王终于可以回答最实际的问题:每种冷门货到底该备多少?

P(Y=y)={π+(1−π)e−λ,y=0(1−π)λye−λy!,y>0\displaystyle P(Y=y) = \begin{cases} \pi + (1-\pi)e^{-\lambda}, & y=0 \\ (1-\pi)\dfrac{\lambda^y e^{-\lambda}}{y!}, & y>0 \end{cases}
  1. 结构零概率$\pi$ 表示该商品本期属于“结构性没人买”(如冬季的防蚊贴)的概率,取值在0到1之间。
    0≤π≤10 \le \pi \le 1
  2. 泊松过程$1-\pi$ 的概率下进入“有人买”状态,此时销量服从参数 $\lambda$ 的泊松分布,$\lambda$ 是平均需求强度。
    Y∼Poisson(λ)Y \sim \text{Poisson}(\lambda)
  3. 零值总概率$y=0$ 的概率由“结构零”与“泊松过程碰巧产出0”两部分相加,完整刻画两种零。
    P(Y=0)=π+(1−π)e−λP(Y=0) = \pi + (1-\pi)e^{-\lambda}
  4. 正值概率$y>0$ 时只有泊松部分在起作用,乘上 $(1-\pi)$ 的权重。它是零膨胀模型与普通泊松回归的本质区别。
    P(Y=y)=(1−π)λye−λy!P(Y=y) = (1-\pi)\frac{\lambda^y e^{-\lambda}}{y!}

库存协同:备货与风险的平衡术

预测出一周能卖2罐,不代表进2罐就万事大吉——万一这周来了个做年糕的大客户,一下要10罐呢?多进又怕压货。老王的难题从“猜销量”升级为“定库存”,要在缺货与滞销之间走钢丝。

库存决策要同时看两个方向:缺货损失(顾客白跑一趟甚至流失)和滞销成本(资金占用、临期报废)。对长尾商品,滞销风险往往被低估——冷门货一旦积压,可能一年都卖不完。安全库存是应对需求波动与补货提前期的缓冲量,它与预测精度直接联动:预测越准,需求不确定性越小,安全库存就可以越低,省下的都是真金白银。

经典安全库存公式:

预测与库存的协同优化,意味着老王不是“预测完就不管”,而是把预测误差作为库存成本的一部分来统筹。这也是长尾预测落地时最能体现商业价值的一环。

SS=z×L×σd\displaystyle SS = z \times \sqrt{L} \times \sigma_d
  1. 服务水平分位$z$ 是目标服务水平对应的标准正态分位数,服务水平越高,$z$ 越大,比如95%服务水平取 $z=1.65$。
    z=Φ−1(0.95)≈1.65z = \Phi^{-1}(0.95) \approx 1.65
  2. 补货提前期$L$ 是从下单到到货的周数,提前期越长,期间累积的需求不确定性越大。
    L=补货提前期(周)L = \text{补货提前期(周)}
  3. 需求波动$\sigma_d$ 是每周需求的标准差,它直接继承自预测模型的残差——预测越准,这个值越小。
    σd=1T−1∑t=1T(yt−yˉ)2\sigma_d = \sqrt{\frac{1}{T-1}\sum_{t=1}^{T}(y_t - \bar{y})^2}
  4. 合成$\sqrt{L}$ 放大时间跨度上的累积波动,再乘服务水平分位,得到所需的缓冲库存量。
    SS=z×L×σdSS = z \times \sqrt{L} \times \sigma_d

工程落地:从模型到货架的最后一公里

老王把方法都记进了小本本,但真正每天执行的是店里的小李——他需要的是“系统自动算好、一键生成采购单”,而不是看公式。从模型到货架,还差一套可靠的工程流水线。

工程落地要解决三件事。数据管道:把POS流水、库存、促销日历自动清洗成训练样本;模型迭代:定期重训并回评,防止分布漂移后预测失效;监控预警:当实际需求与预测偏差持续扩大时及时告警。评估指标上,业界常用WAPE,因为它给出“总误差占实际需求的比例”,业务同事一听就懂。

WAPE定义:

当这套流水线跑起来,老王的长尾货架终于实现了“明明白白备货”:每件“小透明”都有了自己的预测、安全库存和补货建议。从账本到算法,长尾预测完成了它最重要的使命——让冷门货不再被冷落。

WAPE=∑t=1T∣yt−y^t∣∑t=1T∣yt∣×100%\displaystyle \text{WAPE} = \frac{\sum_{t=1}^{T} |y_t - \hat{y}_t|}{\sum_{t=1}^{T} |y_t|} \times 100\%
  1. 绝对误差$|y_t - \hat{y}_t|$ 是第 $t$ 期真实值与预测值的绝对差距,避免正负误差相互抵消。
    ∣yt−y^t∣|y_t - \hat{y}_t|
  2. 实际规模$\sum_{t=1}^{T} |y_t|$ 是所有周期真实需求的绝对值之和,作为归一化分母,代表业务的总量级。
    ∑t=1T∣yt∣\sum_{t=1}^{T} |y_t|
  3. 误差占比误差总和除以实际总和,再乘以100%,得到误差占真实需求的百分比,方便跨门店、跨品类比较。
    WAPE=∑t=1T∣yt−y^t∣∑t=1T∣yt∣×100%\text{WAPE} = \frac{\sum_{t=1}^{T} |y_t - \hat{y}_t|}{\sum_{t=1}^{T} |y_t|} \times 100\%

AI 应用场景

社区连锁药店的长尾药品备货

阶段:需求预测 + 库存优化

解决的问题:社区药店除了感冒药、降压药等热销品,还有大量慢病辅助药、外用贴剂等长尾SKU。传统做法靠店长经验手动下单,常常断货或积压,新店无历史数据时更是无从下手。AI用层次化预测先预测“心脑血管类”整体需求再分解到单品,同时用聚类共享让同类慢病药品分组共享统计强度,最后配合安全库存公式自动生成补货建议。

具体案例:某连锁药店600家门店中长尾SKU占比75%。上线层次化+聚类共享方案后,长尾药品缺货率下降18%,近效期报废金额下降12%。

电商平台长尾商品的潜力识别

阶段:需求预测 + 商品运营

解决的问题:平台上有大量“僵尸SKU”——有流量但销量零星,运营无法判断哪些值得培育、哪些应该清仓。零膨胀模型能区分“结构性零销量”(季节不对、页面没流量)与“随机性零销量”(有需求但没成交),配合聚类共享对商品分层打标,把运营资源集中在真正有潜力的长尾商品上。

具体案例:某电商平台用零膨胀+聚类模型对长尾商品分层,识别出12%的“潜力长尾”商品,集中运营后这批商品次月GMV提升23%。

生鲜超市低流量单品的订货优化

阶段:补货决策

解决的问题:生鲜长尾单品(如特定品种的菌菇、小众香料)保质期短,错判需求直接报废。传统订货只看上周销量,遇到节假日或天气突变就失灵。层次化预测结合外部特征(天气、节气),在品类层捕捉规律再分解到单品,安全库存再乘以短保系数,实现精细化订货。

具体案例:某精品超市对30个长尾生鲜SKU部署层级补货模型后,日均损耗率从8.2%降至5.6%,缺货率同步下降9%。

Python 演示

python51 行
# -*- coding: utf-8 -*-"""长尾商品预测演示: 层次化 + 聚类共享 + 零膨胀修正"""import numpy as np RNG = np.random.default_rng(42) def simulate_sku_sales(n_sku=60, n_week=104):    """生成长尾SKU周销量矩阵: 大部分SKU低销量, 少量高销量"""    sales = np.zeros((n_sku, n_week), dtype=int)    for i in range(n_sku):        lam = 0.08 if i % 4 != 0 else 0.8        for t in range(n_week):            sales[i, t] = RNG.poisson(lam) if RNG.random() > 0.35 else 0    return sales def hierarchical_share(sales, cat_ids, k=3):    """层次化信息共享: 同类均值作为先验, 收缩自身估计"""    n_sku, _ = sales.shape    cat_mean = {c: sales[cat_ids == c].mean() for c in set(cat_ids)}    shrunk = np.zeros(n_sku)    for i in range(n_sku):        own_mean = sales[i].mean()        n_i = int(np.sum(sales[i] > 0))        prior = cat_mean[cat_ids[i]]        shrunk[i] = (own_mean * n_i + prior * k) / (n_i + k)    return shrunk def zero_inflated_adjust(pred):    """零膨胀修正: 极端稀疏时压缩预测, 避免过度乐观"""    return np.where(pred < 0.03, pred * 0.3, pred) def wape(actual, pred):    """加权绝对百分比误差"""    return np.sum(np.abs(actual - pred)) / max(np.sum(np.abs(actual)), 1e-9) def main():    sales = simulate_sku_sales()    cat_ids = np.arange(sales.shape[0]) % 3    train, test = sales[:, :52], sales[:, 52:]    y_test = test.mean(axis=1)    baseline = train.mean(axis=1)    shrunk = hierarchical_share(train, cat_ids)    final = zero_inflated_adjust(shrunk)    base_wape = wape(y_test, baseline)    new_wape = wape(y_test, final)    print("baseline WAPE: %.4f" % base_wape)    print("improved WAPE: %.4f" % new_wape)    print("error reduction: %.1f%%" % (100 * (1 - new_wape / base_wape))) if __name__ == "__main__":    main()
目的:用模拟的长尾销售数据,对比“简单历史均值”与“层次化+聚类共享+零膨胀修正”两种预测方案的WAPE,演示信息共享如何带来误差下降。
  1. lam = 0.08 if i % 4 != 0 else 0.8模拟数据中80%的SKU周均销量不足0.1件,复现长尾稀疏结构。
  2. cat_mean = {c: sales[cat_ids == c].mean() for c in set(cat_ids)}先聚合到品类层,用品类均值作为共享先验,对应层次化的“先看大盘”。
  3. shrunk[i] = (own_mean * n_i + prior * k) / (n_i + k)收缩估计的代码直译:自身信息与品类先验加权,对应聚类共享的“抱团取暖”。
  4. np.where(pred < 0.03, pred * 0.3, pred)对极端稀疏的SKU压缩预测值,模拟零膨胀模型的保守修正。
  5. wape(y_test, final)用WAPE评估整体误差占比,避免被个别大误差主导,对应工程评估指标。

常见误区

误区尾部商品卖得少、占用货架,直接不备货或者下架最省事,反正单品损失也不大。

正解长尾商品的总量非常可观——老王杂货铺里那排“小透明”货架占了营业额的三成。盲目下架会损失利润和顾客黏性,还会把差异化优势让给竞争对手。更好的做法是用层次化、聚类共享等方法低成本地提升预测精度,把长尾变成利润补充。

为何常见:人们看到单件SKU利润小、预测难,就低估了“群体规模”的价值,忽略了聚合效应。

误区既然单个商品数据少,把几千个SKU一起丢进大模型训练,样本充足了稀疏问题就解决了。

正解混合建模时,热销品的样本量会主导损失函数,模型对长尾商品依然“视而不见”。层次化和聚类共享的核心是“先分组、再共享”,让尾部商品在组内获得统计强度,而不是被全局平均稀释。数据多 ≠ 长尾友好。

为何常见:“大数据万能”的直觉在分布极不均匀时失效——全局大模型不等于小样本友好模型。

误区零膨胀就是把预测拆成两步:第一步分类判断顾客会不会买,第二步回归预测买多少。

正解零膨胀模型的关键是在一个似然函数里显式建模“结构零”与“抽样零”两个分布来源,联合估计参数;而“先分类再回归”的两阶段串联是Hurdle模型的思路,两者并不等价。把零全部删掉、或简单两步走,都会丢失“零”的生成机制信息。

为何常见:很多讲解用“两步逻辑”帮助理解,初学者容易把教学类比错当成模型本身的数学结构。

误区长尾商品既然难预测,就多备一点库存,反正滞销了可以慢慢卖。

正解长尾商品滞销风险本身就是成本,过度备货会造成资金占用和临期报废。安全库存公式SS=z√Lσ是在缺货成本与持有成本之间找平衡;预测越准→σ越小→安全库存越低→总成本越低。这才是“预测协同库存”的意义,而不是盲目加库存。

为何常见:直觉上把“缺货惩罚”看得过重,忽略了库存持有成本——对低周转的长尾商品,持有成本往往超过缺货损失。

面试题

Q1. 长尾商品预测中,“长尾”主要指哪类商品?

单选题 · easy

  • A.排名靠前销量巨大的热销品
  • B.排名靠后单款稀疏的冷门品← 正确答案
  • C.已经停产下架处理的商品
  • D.价格昂贵但偶尔销售的奢侈品

答案:B。长尾对应帕累托分布中排名靠后、单品销量稀疏但群体总量可观的商品。A是“头部”商品;C是已淘汰商品,不属于需求预测范畴;D强调“贵”而非“销量稀疏”,均不符合长尾定义。

Q2. 长尾商品预测面临的最大统计挑战是?

单选题 · easy

  • A.历史销量序列又长又稳定
  • B.历史销量稀疏且富含零值← 正确答案
  • C.商品单价波动过于剧烈
  • D.客户群体数量严重过剩

答案:B。长尾商品的核心痛点是“稀疏”——样本少、零值占比高,均值不可靠。A描述的是理想情况而非挑战;C单价波动不是长尾特有的统计障碍;D并非普遍问题。

Q3. 以下哪些方法能缓解长尾数据的稀疏问题?

多选题 · mid

  • A.层次化聚合后在品类层共享信号← 正确答案
  • B.对相似SKU聚类共享统计强度← 正确答案
  • C.为每个SKU单独训练深度模型
  • D.用零膨胀模型刻画多余零值← 正确答案

答案:ABD。A和B都是“借力”思路——高层聚合和聚类共享把统计强度从邻居那里借来;D用零膨胀模型正确刻画零的机制。C恰恰相反,单独训练深度模型只会让稀疏问题更严重。

Q4. Top-down方法预测长尾SKU时,正确的顺序是?

单选题 · mid

  • A.先预测SKU再逐个求和
  • B.先预测品类再按占比分解← 正确答案
  • C.先随机抽样再平均分配
  • D.先剔除零销量再建模

答案:B。Top-down是“先看大盘再分小账”——先预测聚合的品类需求,再按历史占比分解到各SKU。A描述的是Bottom-up;C和D都不是标准的层次化流程。

Q5. 收缩估计中,当λ趋于无穷大时,预测值会?

单选题 · mid

  • A.等于该SKU自身历史均值
  • B.等于其所在聚类共享先验← 正确答案
  • C.收缩到接近于零的数值
  • D.模型数值直接溢出失效

答案:B。收缩公式中λ是共享先验的权重。λ→∞时,先验项主导分子分母,预测完全收敛到聚类先验。A是λ→0的情形;C和D与公式行为不符。

Q6. 零膨胀泊松模型中,“零值”可能来自?

多选题 · mid

  • A.结构零:商品本来就不会被购买← 正确答案
  • B.抽样零:有需求但碰巧没成交← 正确答案
  • C.数据录入员无意中抄错的记录
  • D.泊松分布均值恰好等于零

答案:AB。零膨胀模型专门建模两种零:结构零(需求不存在,如冬季的防蚊贴)和抽样零(需求存在但本周期没发生)。C是数据质量问题,不属于模型机制;D中泊松均值等于零其实已被π涵盖,不单列。

Q7. 安全库存公式SS=z√Lσ中,σ代表?

单选题 · mid

  • A.需求预测的平均绝对误差
  • B.提前期内需求的标准差← 正确答案
  • C.商品历史销量的最大值
  • D.库存周转天数的平均值

答案:B。σ是补货提前期内需求的标准差,衡量需求波动大小;预测越准、残差越小,σ就越小,安全库存随之降低。A的MAE是误差指标不是波动指标;C的最大值和D的周转天数与公式无关。

Q8. 评估长尾预测误差时,WAPE相比MAE的优势是?

单选题 · hard

  • A.WAPE对异常值完全免疫
  • B.WAPE给出误差占总需求比例← 正确答案
  • C.WAPE只关注最大销量单品
  • D.WAPE无需真实销量数据

答案:B。WAPE把误差总和除以实际需求总和,得到“预测整体偏了百分之几”,业务人员一听就懂,且在不同门店间可比。A错误,WAPE对极端值并非完全免疫;C错误,WAPE考虑全部样本;D错误,没有真实销量无法计算。

Q9. 长尾预测工程落地时,必须包含哪些环节?

多选题 · hard

  • A.构建自动化数据特征管道← 正确答案
  • B.上线后持续监控预测漂移← 正确答案
  • C.定期用新数据迭代更新模型← 正确答案
  • D.人工逐条修正所有预测结果

答案:ABC。工程落地三件套是数据管道、模型监控、迭代更新。D“人工逐条修正”既不现实也违背自动化初衷——长尾SKU成百上千,必须靠系统批量处理,人工只需处理告警异常。

Q10. 若商品A自身样本量n=5,历史均值为品类均值的2倍,品类共享先验权重λ=10,收缩后的预测值会?

单选题 · extreme

  • A.高于历史均值并不偏品类
  • B.偏向品类先验的折中值← 正确答案
  • C.等于SKU自身历史均值
  • D.等于品类平均需求水平

答案:B。代入收缩公式:(5×2c+10×c)/(5+10)=20c/15≈1.33c,其中c是品类均值。该值高于品类均值c但低于SKU自身均值2c,是偏向品类先验的折中值。A、C、D均与计算结果不符。