CHAPTER 01
一、背景与问题
1.1 业务背景与核心问题
在上海艾哲智网络科技的后台产品实习中,我在全棉时代客户的多仓履约项目中,独立梳理订单分仓条件、候选仓排序及人工调整规则。该项目在实习前已由团队立项,本人加入后负责候选仓排序、人工调整规则及试点验收。
订单能否从某仓发出,不仅取决于收货地,还取决于商品库存、仓库启停、处理负载和数据时效。固定区域分仓难以覆盖临时缺货与拥堵;只按距离选择最近仓,也可能把订单分给无法承接的节点。项目需要在完整履约的前提下选择合适的发货仓,并让运营能理解、调整和追溯分配结果。
方案在支付后、仓库开始拣货前进行路由决策,先过滤不满足条件的仓,再按距离推荐。以深圳收货、购买棉柔巾2包及棉湿巾1包为例:佛山节点满足库存与容量条件时进入候选;缺货、停用或拥堵时展示剔除原因,选择下一可行节点。所有节点均不满足条件时,订单转待处理。
1.2 用户故事
| 角色 | 我希望 | 以便 |
|---|---|---|
| 仓储运营 | 查看推荐仓、候选排名及剔除原因 | 理解系统决策,必要时有依据地调整 |
| 物流专员 | 确认换仓后重新获取承运与面单方案 | 避免旧面单和揽收地址继续使用 |
| 运营主管 | 查看有效换仓率、无可用仓及人工覆盖 | 判断规则是否需要调整 |
| 仓库负责人 | 配置启停和允许承接的容量 | 防止最近仓被持续分配到超负荷 |
1.3 名词说明
| 名词 | 定义 |
|---|---|
| 原分配仓 | 路由计算前的默认履约节点,不等于已锁定库存 |
| 推荐仓 | 在当前限制内选出的完整履约候选 |
| 换仓 | 确认发货节点与原分配节点不同 |
| 直线距离 | 城市经纬度计算的空间距离,用于排序而非物流里程 |
| 预计负载 | 计划待处理量/该时段可承接量,用于容量准入 |
| 路由快照 | 订单、库存和规则版本组成的本次推荐依据 |
1.4 数据表现与口径说明
以下为 10 条固定场景的测算演示,用于验证路由规则按设计运行,非真实业务订单统计。展示参数采用佛山、苏州、武汉、成都、天津五个区域节点,固定武汉节点为演示基线,不代表客户真实分仓策略。5 条正常配置场景用于成对比较,5 条节点变化场景用于异常验收(关闭原仓后改选可行仓)。换仓率统计发货仓与原分配仓是否一致,远距离分配率统计直线距离是否超过 500km 阈值,两者分别计算。
| 指标 | 计算口径 | 本方案数据来源 |
|---|---|---|
| 换仓率 | 发货仓≠原分配仓的已确认订单数/已确认订单数 | 原型操作及场景计算 |
| 无可用仓率 | 无完整可行候选的订单数/尝试路由数 | 无库存、停用、容量等原因分别统计 |
| 远距离分配率 | 推荐直线距离>500km的订单数/有候选订单数 | 仅为场景分类,非真实运输距离 |
| 距离变化 | 原节点直线距离-推荐节点直线距离 | 同地址、同库存条件前后对照 |
| 预计费用变化 | 基线费率-推荐费率 | 方案费率表测算,非结算运费 |
| 指标 | 固定分仓基线 | 路由推荐测算 | 变化 |
|---|---|---|---|
| 远距离分配率(直线>500km) | 80% | 40% | ↓ 40 个百分点 |
| 换仓率(发货仓≠原分配仓) | —(固定分仓,无换仓) | 40% | 新增能力 |
| 单均估算运费(方案费率测算) | 6.92 元 | 6.36 元 | ↓ 0.56 元 |
远距离分配率的 500km 为分析分组阈值,用于粗筛远距离分配,不代表必然的运输里程、成本或时效边界。试点期承运商分段费率:≤500km 为 5.80 元、500—1200km 为 7.20 元、>1200km 为 9.00 元,统一计费重量、无附加费,与单均估算运费 6.36 元的方案测算口径一致。以五个收货城市、每城两条订单构成 10 条固定场景,另在第二条中关闭第一条推荐的可行节点,检查替代推荐;查看十组路由对照与节点参数。
CHAPTER 02
二、竞品分析
2.1 主流产品方案对比
本案例对标「分仓 / 多仓履约能力」,选取京东全渠道履约、旺店通 ERP、Shopify 三类具备就近分仓与容量分配能力的代表产品;与订单拆单案例对标「平台缺货拆单规则」(京东、淘宝、抖店)的视角不同。
| 产品 | 分配思路 | 决策环节与能力 | 适用特点 | 对本项目的启发 |
|---|---|---|---|---|
| 京东全渠道履约 | 匹配靠近消费者且有货的门店或仓储节点 | 将线上订单与附近可用库存连接 | 仓店协同,缩短从库存到消费者的履约路径 | 先确认节点有货,再考虑就近,避免只按固定区域派单 |
| 旺店通 ERP | 智能分仓、多仓管理、就近发货 | 在订单处理与仓储管理中配置分仓能力 | 适用于多平台店铺与多仓协同 | 分仓应嵌入订单处理流程,并向运营提供规则配置入口 |
| Shopify | 先减少拆分,再考虑目的市场,最后选择最近地点 | 按规则顺序筛选和排序,可使用地点优先级及容量属性 | 规则顺序可配置,便于适配多履约地点 | 将库存、容量准入与距离排序分开,明确优先级 |
本项目落点:支付后检查候选仓的库存、启停、容量和时效,再推荐最近可行仓;运营可改选合格候选,确认时重新校验库存并占用。
2.2 差异化定位
| 选择 | 理由 | 代价 |
|---|---|---|
| 整单单仓优先 | 先减少包裹,再优化距离 | 部分库存分布可能无法直接满足 |
| 负载作为明确准入条件 | 有可核实容量时剔除>85%的节点 | 容量未知时需转人工核查 |
| 推荐后确认,再占用库存 | 推荐并非锁库成功 | 确认必须重新校验并可能重算 |
| 人工可选但不可越过硬限制 | 特殊业务需要调整,但不允许缺货出库 | 需要填写调整原因 |
2.3 可借鉴的点与后续规划
| 参照产品 | 借鉴内容 | 本项目应用 | 后续落地条件 |
|---|---|---|---|
| 京东全渠道履约 | 将距离与可用库存一起考虑 | 从完整有货的候选中选择最近节点 | 扩充节点前先统一库存口径与地址精度 |
| 旺店通 ERP | 分仓与订单、仓储协同 | 路由推荐、规则配置、健康监控三页联动 | 将启停、容量和异常处理纳入日常运营 |
| Shopify | 按顺序执行路由规则 | 候选准入后排序,保留剔除原因和人工覆盖记录 | 后续接入仓内处理时长与承运时效,再评估组合权重 |
CHAPTER 03
三、产品方案
3.1 核心思路
把“固定仓发货”改为“最近的可行仓发货”。 收货地址确定后,先筛选全量SKU有货、已启用且容量允许的仓库,再按距离排序。推荐结果供运营确认或改选;确认时复核库存,成功占用后再下发WMS。
3.2 旧流程与新流程
| 比较基线 | 本方案 |
|---|---|
| 支付→固定原仓→库存不足人工处理 | 支付→地址校验→候选筛选→距离排序→确认占用→下发仓库 |
| 换仓后人工更换物流信息 | 原履约任务尚未下发时才允许调整,确认后生成新仓发运参数 |
| 无完整有货仓仍沿用原仓 | 明确进入待处理,交给拆单方案或补货协商 |
3.3 路由推荐规则
| 顺序 | 规则 | 处理 |
|---|---|---|
| 1 | 地址可解析且数据有效 | 地址优先解析到明细坐标;失败时确认城市或转人工 |
| 2 | 节点已启用,库存与容量数据≤60秒 | 未启用、数据过期或容量未知均剔除 |
| 3 | 全部SKU可用量≥订单需求量 | 缺任何商品均不进入整单候选 |
| 4 | 预计负载≤85% | 超限剔除;本期不把负载作为模糊评分权重 |
| 5 | 候选直线距离升序 | 精确到0.1km;同距离优先原仓,再按节点ID稳定排序 |
| 6 | 确认前重新校验及占用 | 旧快照拒绝并重算;不自动确认另一个仓 |
3.4 极端情况与异常处理
| 场景 | 处理 | 恢复条件 |
|---|---|---|
| 所有仓缺货 | 不返回有效发货仓,转待补或拆单评估 | 获得可履约库存或批准分批 |
| 最近仓库存被占用 | 原推荐失效,展示新的候选 | 操作者核对新方案后重新确认 |
| 地址不完整 | 不凭空猜详细坐标 | 核实城市;使用市级坐标时标注精度 |
| 容量过载或数据陈旧 | 剔除并显示原因 | 更新数据或释放容量后重算 |
| 人工指定不可行仓 | 阻断,不因人工操作跳过库存校验 | 换选可行仓,填写原因 |
| 已开始拣货 | 停止直接改仓 | 先完成撤销/拦截及库存释放流程 |
| 消息重复或下发失败 | 请求去重、重试并显示处理中 | 收到WMS确认才标记已接单 |
3.5 关键接口设计
| 接口 | 输入 | 输出与约束 |
|---|---|---|
| POST /routes/recommend | 订单版本、地址精度、SKU需求 | 候选、距离、准入原因、推荐快照版本 |
| POST /routes/confirm | 请求号、快照版本、目标仓、调整原因 | 重新校验后占用库存并生成履约任务 |
| POST /routes/release | 履约号、原仓、取消原因 | 确认撤销后释放占用;已拣货需先拦截 |
| GET /routes/statistics | 订单创建窗口与统计截止时间 | 无可用仓率、换仓率及待处理原因;缺失单据单列 |
路由由OMS履约编排层决定,WMS提供库存与接单结果,物流侧重新计算面单和揽收信息。
CHAPTER 04
四、原型交互与数据字典
4.1 原型交互
打开路由运营原型。包含“路由推荐—规则配置—健康监控”三个页面。推荐页展示订单、收货城市、候选表、当前建议及确认入口;人工调整只能选择满足条件的节点并填写原因。
配置页可修改节点启停、SKU库存、负载与数据时效;修改后旧推荐失效。监控页按当前输入显示缺货、超载与过期节点,不使用预置“已处理成功”的假通知。确认后展示实际选择节点与占用结果;刷新恢复场景初始值。
4.2 数据字典
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| order_id / order_wh_id | String | 是 | PC-ROUTE-001 / WH-WH |
| items[].sku / qty | String / Int | 是 | 棉柔巾2包、棉湿巾1包 |
| address_coord / precision | Number[] / Enum | 是 | 场景城市中心;生产区分精确与市级 |
| recommended_wh_id | String或null | 否 | 无候选时为空,不用原仓伪造成功 |
| stock / enabled / load_pct | Map / Bool / Number | 是 | 各SKU可用量、节点启用及负载 |
| age_seconds / data_version | Int / Int | 是 | 快照时效及版本 |
| distance_km / estimated_fen | Number / Int | 否 | 直线距离与场景运费估算 |
| reason | String | 人工覆盖时必填 | 1—200字,采用推荐节点时可省略 |
| request_id | String | 生产确认接口必填 | 请求去重标识;本地原型尚未实现请求号幂等返回 |
CHAPTER 05
五、项目资源
5.1 排期与资源
| 维度 | 配置内容 |
|---|---|
| 团队配置方案 | 产品经理1人+产品实习生1人(本人)+后端1人+前端1人+QA 1人,核心交付小组共5人;运营、客服与仓库负责人按评审和验收节点参与 |
| 迭代计划 | 2个迭代、4周:第1周完成规则评审及核心开发;第2周联调;第3周异常用例与UAT;第4周灰度观察及放量评估 |
| 上线策略 | 先对白名单渠道开放单区域路由,核对推荐、人工改仓和WMS接单;通过后逐步扩大区域与节点范围 |
| 回滚方案 | 关闭新订单路由推荐,恢复原分仓规则;已确认任务保持既定仓库,已开始拣货的订单按拦截流程处理 |
| 监控埋点 | 推荐成功率、无可用仓率、人工覆盖率、确认失败率;结合出库时长与物流费用跟踪效果 |
5.2 我在其中的角色
| 环节 | 我做了什么 | 具体交付 |
|---|---|---|
| 问题梳理 | 在产品经理指导下,独立拆解原分仓流程,完成远距离分配、最近仓缺货和仓内拥堵三类场景的梳理,区分库存问题与路由问题 | 现状流程、路由场景清单和指标口径 |
| 方案设计 | 主笔库存过滤、距离排序、负载降级及人工改仓规则,独立设计候选仓表、剔除原因和确认交互,提交产品经理及研发评审 | PRD、路由原型、规则优先级表和数据字典 |
| 跟进交付 | 独立维护接口字段清单和配置说明,与研发核对地址精度、库存快照及WMS下发字段,跟踪推荐失效、无可用仓及改仓失败问题 | 接口字段清单、配置说明、问题跟踪表 |
| 验收复盘 | 独立执行不同城市、缺货、停用、超载和旧快照场景的UAT用例,核对人工覆盖原因和库存扣减,跟进修复与复测 | 路由对照表、UAT用例、异常处理说明 |
CHAPTER 06
六、预期价值与验收标准
6.1 场景测算与预期价值
10 条固定场景(5 条正常配置、5 条节点变化)验证路由规则按设计运行:5 条正常场景中远距离分配率从 80% 降至 40%、换仓率 40%、单均估算运费从 6.92 元降至 6.36 元;节点变化场景用于异常验收,不用于降本效果。出库时效与真实业务改善为后续观测指标。以下目标与验证口径用于后续放量复评。
| 目标 | 验证方式 | 验证口径 |
|---|---|---|
| 减少可避免的远距离分配 | 同订单、同库存下对比原仓及推荐仓 | 可复算直线距离变化,不能等同配送里程 |
| 控制发运费用 | 相同计费条件下对比报价,结算后核对账单 | 按分段费率测算,再核对结算账单 |
| 降低错误改仓 | 缺货、停用、超载、过期均不能确认 | 由规则用例及交互检查验证 |
| 改善履约时效 | 支付到首批出库、全部签收分别统计 | 按支付、出库、签收三个时间点统计 |
6.2 验收标准
| 验收项 | 通过条件 |
|---|---|
| 深圳正常场景 | 推荐佛山节点;有货、启用、负载与时效均满足 |
| 最近节点停用或缺货 | 剔除后推荐下一可行节点,并显示原因 |
| 负载边界 | 85%允许,超过85%剔除 |
| 全部缺货 | 推荐为空,确认禁用,显示待处理 |
| 数据变更 | 修改配置后旧推荐不可提交,必须重算 |
| 人工调整 | 仅允许可行节点且原因非空,不绕过库存占用 |
| 重复确认 | 已确认订单不能再次扣库 |
| 生产接入验收 | 另验证并发占用、WMS失败补偿和6000次/小时容量,检查容量与失败恢复 |