P paper2skillsPlaybook
AI 路线图 →

本地订单达成率与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