本地订单达成率与FDC仓网覆盖KPI — 本地发货率/跨仓调拨成本/仓网优化决策
Skill-Local-Order-Fulfillment-Rate-FDC · 04-供应链
causalexperimentoptimization供应链与补货风控与合规WF-A 智能补货WF-K 全域风险防御
年化 ROI0万元
实现难度⭐⭐⭐☆☆
业务视角
适用角色供应链负责人 · 采购负责人 · CEO / 运营 VP
适用平台Amazon FBA · 海外仓 · 多国仓位(美/欧/日)
什么情况下用库存周转率低,资金压在海外仓出不来;SKU 断货紧急空运,物流成本吃掉毛利;多仓库存分布不均
成功是什么样的库存周转天数从 90 天降到 60 天,断货率 <3%,海外仓综合成本降低 15-25%
业务痛点
1. 解决的问题
供应链规划者面临"跨仓发货成本高且时效差"——本地率75-80%最优区间+FDC覆盖ROI决策,本地率每提升1pp节省持有成本约千万量级
2. 核心算法逻辑
本地订单达成率(Local Order Fulfillment Rate) 是衡量仓网合理性的核心KPI。陈凤霞书中引用京东案例:FDC满足率提升1.47pp,年化节省库存持有成本4451万元。
3. 业务应用场景
场景A:Momcozy美国市场FDC仓网优化 - 业务问题:美国市场只有1个中央仓(加州),东海岸订单配送需要5-7天,FBA是主要渠道但自营海外仓本地率极低 - 数据要求:按州/地区的订单量分布 + 当前发货仓 + 是否本地发货 - 预期产出: - 当前本地率 = 41%(东部市场只有从加州发货) - 建议:在新泽西增设RDC → 本地率提升至72% - 预计节省:时效从5-7天→2-3天,物流成本降低$0.8/件 - 业务价值:本地率从41%提升至72%,年化物流成本节省约15万元,Prime成员配送时效合规
**场景B:多渠道母婴平台分仓策略优化** - **业务问题**:同时在京东/天猫/自营三个渠道销售,各渠道仓独立,造成库存重复备货 - **数据要求**:各渠道/各仓订单量 + 发货仓 + 本地发货率 - **预期产出**:通过共仓策略(FDC仓同时服务多渠道),本地率从65%提升至78% - **业务价值**:减少跨仓调拨,年化节省约12万元
4. 输入数据要求
请查看原始代码模板获取输入规格。
5. 输出结果
请查看原始代码模板获取输出规格。
6. 业务价值 / ROI
- ROI预估:本地率从60%提升至75%,年化节省配送成本约10-20万元(取决于规模);京东案例:+1.47pp → 节省库存持有成本4451万元(规模效应,中小品牌同比例约5-15万元)
- 实施难度:⭐⭐⭐☆☆(需要地理订单分布数据 + 仓库位置优化,属于中期战略项目)
- 优先级评分:⭐⭐⭐⭐☆(陈凤霞:"仓网布局一旦成型难以改变,错误的仓网会持续产生高额的跨仓成本")
- 评估依据:京东2026案例数据:FDC满足率每提升1pp节省持有成本约3000万(万亿级规模),中小品牌同比例约5-15万元
7. 代码模板
代码块数量:2 · 路径:未检测到
"""
本地订单达成率与 FDC 仓网覆盖 KPI 体系
功能:本地率计算 / 仓网覆盖分析 / 跨仓成本量化 / 仓网优化建议
输入:订单地理分布 + 仓库位置 + 库存数据
输出:本地率KPI + 跨仓成本 + 仓网优化方案
"""
import numpy as np
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
def generate_order_warehouse_data(n_orders=2000, seed=42):
"""生成含地理信息的订单-仓库数据"""
np.random.seed(seed)
# 区域分布(模拟订单地理分布)
regions = {
'华东(上海/苏州/杭州)': 0.30,
'华北(北京/天津)': 0.20,
'华南(广州/深圳)': 0.18,
'华中(武汉/郑州)': 0.12,
'华西(成都/重庆)': 0.10,
'东北(沈阳/哈尔滨)': 0.05,
'西北(西安/兰州)': 0.05,
}
# 仓库位置(FDC/RDC)
warehouses = {
'WH-上海(FDC)': '华东(上海/苏州/杭州)',
'WH-北京(FDC)': '华北(北京/天津)',
'WH-广州(FDC)': '华南(广州/深圳)',
'WH-武汉(RDC)': '华中(武汉/郑州)',
}
# 华西/东北/西北 无本地FDC,需跨仓
records = []
region_list = list(regions.keys())
region_probs = list(regions.values())
for i in range(n_orders):
order_region = np.random.choice(region_list, p=region_probs)
# 找是否有本地仓库
local_wh = None
for wh, wh_region in warehouses.items():
if wh_region == order_region:
local_wh = wh
break
if local_wh:
# 有本地仓:80%从本地发(20%因库存不足跨仓)
is_local = np.random.random() < 0.80
fulfillment_wh = local_wh if is_local else np.random.choice(list(warehouses.keys()))
else:
# 无本地仓:必须跨仓
is_local = False
fulfillment_wh = np.random.choice(['WH-上海(FDC)', 'WH-广州(FDC)'])
# 配送成本(本地便宜,跨仓贵)8. 论文来源
- 2306.09517