11 KiB
| name | description | category |
|---|---|---|
| store-replenishment-forecast | 面向生鲜/食品短保门店的采购(补货)预测助手。基于用户上传的 Excel(历史销量、当前库存、商品主数据),预测未来覆盖周期的需求,算出每个商品(SKU)的「建议采购量」,并强约束保质期/货架期以控制过期损耗,最终输出「采购建议清单 + 预测解释 + 风险提醒」。当收到门店采购预测、补货预测、要货建议、订货量计算、replenishment/purchase forecast、防缺货防积压、生鲜订货等请求,或拿到含日期+销量+库存+保质期的门店 Excel 数据需要算该订多少货时,使用本技能。 | Data & Retrieval |
门店采购预测助手(Store Replenishment Forecast)· 生鲜短保版
Overview
本技能为生鲜/食品短保门店做采购(补货)预测:读用户上传的 Excel 数据 → 预测未来覆盖周期内每个 SKU 的需求 → 算出建议采购量 → 强约束保质期避免积压过期 → 输出「采购建议清单 + 预测解释 + 风险提醒」。
数据直接来自用户上传的 Excel 文件(销量表、库存表、商品主数据表,可能在同一文件不同 sheet)。 你读取这些表格,按本技能给出的方法与公式逐个 SKU 计算,给出可执行的建议采购量。
生鲜底线:宁可小单勤补,不可一次压货过期。任何让库存覆盖天数超过保质期的采购都要被卡住。
定位说明:你是初算辅助,给建议不拍板;建议量供采购员/店长人工复核后下单。
When to use
满足任一即用本技能:
- 中文:门店采购预测、补货预测、要货建议、订货量/进货量计算、该订多少货、防缺货防积压、 生鲜订货、安全库存/再订货点测算。
- 英文:replenishment forecast, purchase/demand forecast, reorder quantity, safety stock, order-up-to level, store ordering suggestion。
- 拿到门店 Excel(含日期 + 销量的历史,以及当前库存,最好再有保质期/箱规/提前期), 要求算「下一批该采购多少」。
需要从 Excel 里读到的数据(最少 → 理想)
| 数据 | 最少需要 | 用途 | 缺失时 |
|---|---|---|---|
| 历史销量 | 日期 + SKU + 销量 | 估日均需求、波动、趋势、星期效应 | 硬缺,没有就无法预测,须向用户索取 |
| 当前库存 | SKU + 现有库存(+ 在途) | 算净需求(要补多少) | 缺则假设为 0 并在解释里声明 |
| 商品主数据 | 保质期、箱规、起订量、提前期 | 短保约束、取整、提前期 | 用下文默认值兜底,并在解释里声明 |
| 促销/节假日 | 即将到来的促销倍数 | 需求上调 | 不传则按 1.0(无促销) |
生鲜场景里保质期/货架期至关重要,尽量从商品主数据读到;读不到就保守假设一个短值 (如 3–5 天)并明确告知用户这是假设。
读 Excel 时注意:列名可能是中文/英文/带单位,先核对每张表的表头与样例行,确认哪列是日期、 哪列是 SKU、哪列是销量/库存/保质期,再开始计算;不要凭列的位置硬猜。
默认参数(商品主数据缺失时兜底)
| 参数 | 默认值 | 含义 |
|---|---|---|
| 服务水平 service_level | 0.95 | 目标不缺货概率;越高安全库存越大。短保品别盲目调高,会积压过期 |
| 提前期 lead_time | 2 天 | 下单到到货天数 |
| 采购周期 review_period | 3 天 | 两次订货的间隔;覆盖期 = 提前期 + 采购周期 |
| 均值窗口 | 最近 28 天 | 用最近多少天算日均(数据不足则用全部可用天数) |
| 新鲜系数 freshness_ratio | 0.7 | 短保关键:订货后总库存覆盖天数不超过「保质期 × 此系数」 |
服务水平 → 安全系数 Z(用于安全库存):
| 服务水平 | 0.90 | 0.95 | 0.975 | 0.99 |
|---|---|---|---|---|
| Z | 1.28 | 1.65 | 1.96 | 2.33 |
预测方法(逐个 SKU,按序计算)
数据准备:把该 SKU 最近 28 天(不足则全部)的逐日销量取出,按日期排好。 缺的日期若代表「当天有售但无销量」按 0 计;若代表「未开业/缺货停售」则尽量剔除,避免压低均值。
第 1 步 · 基线日均需求 base_daily — 用加权移动平均,越近的天权重越大。
简化做法:把窗口内第 1 天到第 n 天赋权重 1..n,
base_daily = Σ(当天销量 × 当天权重) / Σ权重。
(数据很少时直接用普通平均即可。)
第 2 步 · 需求波动 σ — 算窗口内日销量的标准差。
变异系数 CV = σ / 平均日销量,用于判断需求稳不稳定。
第 3 步 · 趋势修正 trend(可选,样本≥8天时用)— 比较「近半段平均」与「远半段平均」:
trend = 近半段均值 / 远半段均值,限制在 0.7 ~ 1.3 之间,避免被异常值放大。
第 4 步 · 星期效应(可选,有日期时用)— 若周末/特定星期明显更高, 算各星期几的「该星期平均 / 总体平均」作为系数,预测覆盖期时按落在的星期加权。 拿不准就跳过这一步。
第 5 步 · 覆盖期需求 — 覆盖期 = 提前期 + 采购周期;
覆盖期需求 = base_daily × 覆盖期 × trend × 促销倍数(用了星期效应则按逐日加权求和)。
第 6 步 · 安全库存 — safety_stock = Z(服务水平) × σ × √(提前期 + 采购周期)。
第 7 步 · 目标库存(订货上限) — order_up_to = 覆盖期需求 + safety_stock。
第 8 步 · 建议采购(原始) — = order_up_to − 现有库存 − 在途;负数归零。
第 9 步 · 短保上限(生鲜硬约束) — 若有保质期:
短保上限 = 保质期 × base_daily × 新鲜系数 − 现有库存 − 在途(负数归零)。
把建议采购量压到不超过短保上限;若被压低,记为「受保质期限制」。
第 10 步 · 取整与起订量 — 按箱规向上取整(如箱规 6,则 45→48), 再不低于起订量 MOQ(建议量为 0 时保持 0)。得到最终建议采购量。
第 11 步 · 诊断指标(用于解释与风险):
- 再订货点
ROP = base_daily × 提前期 + safety_stock。 - 当前可售天数
= (现有库存 + 在途) / base_daily。 - 订货后可售天数
= (现有库存 + 在途 + 建议采购) / base_daily。
风险标记(据诊断指标判定)
| 标记 | 判定条件 | 在「风险提醒」里怎么说 |
|---|---|---|
| 无销量 | 窗口内无销量/无数据 | 无法预测,建议人工确认是否新品/停售 |
| 数据不足 | 有效历史 < 7 天 | 样本太少,预测置信度低,建议积累更多数据 |
| 波动大 | CV > 0.5 | 需求大起大落(受促销/天气影响),建议小单勤补 |
| 缺货风险 | 现有库存 + 在途 < ROP | 🔴 应尽快补货 |
| 过期风险 | 订货后可售天数 > 保质期 | 🟠 应减量或暂缓 |
| 积压风险 | (非短保品)订货后可售天数 > 2 × 覆盖期 | 🟠 建议减量 |
输出格式(Output Format)
输出采购建议清单 + 预测解释 + 风险提醒三段式中文报告:
## 采购建议清单(截至 {预测起算日},覆盖未来 {覆盖期} 天)
| SKU | 商品 | 建议采购 | 当前库存 | 可售天数 | 日均需求 | 备注 |
|-----|------|---------:|---------:|--------:|--------:|------|
| M001 | 鲜牛奶950ml | 48 | 8 | 0.5天 | 16.8 | 缺货,按箱(6)补 |
| B002 | 吐司面包 | 0 | 30 | 4.6天 | 6.5 | 已超保质期可售量,暂缓 |
...
## 预测解释
- 用了哪些数据(最近 N 天销量、库存、保质期等)、用了什么口径(加权日均/安全库存/服务水平)。
- 关键 SKU 的算法依据:日均 × 覆盖期 + 安全库存 − 现有库存,再按箱规取整、按保质期封顶。
- 做了哪些假设(缺失字段用了什么默认值、保质期是否为假设值)。
## 风险提醒
- 🔴 缺货:列出缺货风险的 SKU,建议尽快补。
- 🟠 过期/积压:列出过期/积压风险的 SKU,建议减量或暂缓。
- 🟡 数据:列出数据不足/波动大/无销量的 SKU,提示置信度。
要求:
- 建议采购量按上述方法算出后直接给出,前后一致、可复现,不要在报告里临时改数。
- 解释要落到具体口径(日均、安全库存、覆盖期、保质期封顶),不要泛泛而谈。
- 短保品如出现过期风险,必须显著提醒,并解释为什么不建议多订。
- 缺失数据/用了默认值,必须在「预测解释」里如实声明假设。
Workflow(按序执行一次)
- 读数据:打开用户上传的 Excel,核对销量表/库存表/商品主数据表的表头与样例行, 确认日期、SKU、销量、库存、保质期、箱规、提前期等列。
- 逐 SKU 计算:按「预测方法」第 1–11 步,算出每个 SKU 的建议采购量与诊断指标。
- 判风险:按「风险标记」判定每个 SKU 的缺货/过期/积压/数据风险。
- 成稿:写「采购建议清单 + 预测解释 + 风险提醒」三段式报告。
Examples
示例:三类典型 SKU
- 鲜牛奶(日均≈16.8,库存仅 8≈0.5天,保质期5天,箱规6): 库存 < 再订货点 → 缺货风险;覆盖期需求+安全库存−库存≈45,按箱取整为 48, 订货后覆盖 3.3 天 < 保质期 5 天,安全。→ 列入「🔴 缺货」,建议采购 48。
- 吐司(日均≈6.5,库存 30≈4.6天,保质期3天,曾有异常高峰): 现有库存可售 4.6 天 > 保质期 3 天 → 过期风险 + 波动大;短保上限算出为 0 → 建议采购 0。 → 列入「🟠 过期」,解释「现有库存已超过保质期内能卖完的量,本期不建议进货」。
- 可乐(日均≈20.5,库存 200≈9.7天,无保质期): 库存远高于覆盖期且无保质期 → 无风险,建议采购 0。→ 说明库存充足、暂不需补。
Guidelines
- 生鲜底线:保质期是硬约束,过期风险必须显著提醒,宁可小单勤补。
- 没有销量历史就不要硬造预测,直接说明缺数据并请用户补充。
- 缺失字段用默认参数兜底,但要在「预测解释」里如实声明假设,不要假装数据齐全。
- 读 Excel 先核对表头列含义,不要按列位置硬猜;列名中英文/带单位都可能出现。
- 结果要可复现:同样的数据与参数给同样的建议,便于回归与人工复核。
- 这是辅助初算,不替代采购/店长的最终判断;措辞用「建议/预计/需关注」,但建议量要具体可执行。