补货规则
场景与输入
虚构电商公司的 IT 工程师为仓库提供日常补货测算。 输入是同一时点的仓库库存快照,教学样例不连接真实系统。 顶层必须为非空 JSON 数组,每条记录字段如下,不能缺失或增加其他字段。
| 字段 | 含义 | 类型与约束 |
|---|---|---|
| warehouse | 仓库名称 | 非空字符串 |
| sku | 商品编码 | 非空字符串 |
| product | 商品名称 | 非空字符串 |
| sales_7d | 最近完整7天的销量(件) | 非负整数 |
| available | 当前可用于销售的库存(件) | 非负整数,不含已锁定库存 |
| inbound | 预计本次供应周期内可到货的已确认在途量(件) | 非负整数 |
| lead_days | 供应商交货天数 | 正整数 |
| safety_days | 额外安全天数 | 非负整数 |
| pack_size | 最小整箱数量(件) | 正整数 |
布尔值不是整数。字符串去掉首尾空白后使用;仓库与 SKU 组合不能重复。 同一个 SKU 出现在不同仓库是合法的,不能合并库存。 字段缺失、负数、重复组合等任一错误都会阻止整批计算,不输出部分建议。
计算
- 日均销量 = sales_7d / 7,仅用于说明,不先四舍五入参与计算。
- 目标库存 = 向上取整(sales_7d × (lead_days + safety_days) / 7)。
- 库存位置 = available + inbound。
- 补货缺口 = max(目标库存 - 库存位置, 0)。
- 建议补货 = 向上取整(补货缺口 / pack_size) × pack_size。
建议补货是整箱数量,因此可能超过缺口。 近7天销量为 0 时,按本规则计算目标库存与建议补货均为 0, 但必须标记“零销量待人工判断”,不能据此认定永远不需要备货。
范围与限制
未考虑促销增长、季节性、退货、采购预算、供应商限额、最小订单金额 及跨仓调拨;在途延误会影响结论。这是本案例的简化业务规则,不是普适采购政策。 建议不自动下单。计算输出与源数据应一一对应,源文件保持不变。
