P paper2skillsPlaybook
AI 路线图 →

进销存三维动态追踪 — 进货/销售/库存联动监控与比率预警体系

Skill-Purchase-Sales-Inventory-3D-Tracking · 04-供应链

causalexperimentforecastingoptimizationknowledge_graphdata_collection供应链与补货知识图谱与RAG数据采集与治理WF-A 智能补货WF-D 选品扫描WF-I 智能体工程
年化 ROI10-15万
实现难度⭐⭐☆☆☆
业务优先级⭐⭐⭐⭐⭐
业务视角
适用角色供应链负责人 · 采购负责人 · CEO / 运营 VP
适用平台Amazon FBA · 海外仓 · 多国仓位(美/欧/日)
什么情况下用库存周转率低,资金压在海外仓出不来;SKU 断货紧急空运,物流成本吃掉毛利;多仓库存分布不均
成功是什么样的库存周转天数从 90 天降到 60 天,断货率 <3%,海外仓综合成本降低 15-25%
业务痛点
库存周转天数太长资金压死了断货了只能空运救急成本爆了多市场库存分配不均

1. 解决的问题

每周4小时手工汇总进销存且无法发现异常——P/S比率CUSUM检测将缺货/积压信号提前3-5天发现,年化防损$10-15万,报告时间从4小时降至10分钟

2. 核心算法逻辑

业务背景(陈凤霞实战经验):书中将"进销存管理"列为物流计划供应链最核心的KPI维度。"进"=进货量(入库),"销"=销售量(出库),"存"=库存量(在库)。三者构成一个封闭会计恒等式:期末存 = 期初存 + 进 销。任何一维出现异常,都会在其他维度反映出来——这正是进销存分析的核心价值:通过监控三者的比率关系,比单独观察任何一个维度更早发现异常。

3. 业务应用场景

场景A:多SKU进销存周报自动化(替代手工Excel)

- 业务问题:某卖家每周手工汇总各平台进销存数据到Excel,耗时4小时,且容易出错漏项,无法及时发现异常 - 数据要求:亚马逊Inventory API(日入库/出库记录)、FBA库存报告、采购PO记录 - 算法应用: 1. 每周一自动拉取上周进销存数据 2. 计算每个SKU的P/S Ratio和ΔI(库存变动率) 3. 发现:"OLD-NIPPLE-PKG"连续4周P/S=1.8(进货量远超销售),库存膨胀62% 4. 同时发现:"PUMP-PRO"上周P/S=0.31(销售远超进货),DOI已降至12天(缺货预警!) 5. 自动生成周报推送运营团队,含行动优先级 - 预期产出:周报从4小

- **业务问题**:月末盘点发现FBA库存账实差异3.2%(超标准0.5%),但不知道原因 - **算法应用**:三角平衡诊断:期初存500件 + 进货300件 - 销售320件 = 理论期末480件,实际盘点465件,差异15件。通过退货记录核查发现:12件退货客户已获退款但货物未退还FBA(Amazon判定"退款不退货"),3件在途被海关扣押未入账。根因清晰,处理有据 - **预期产出**:差异率从3.2%降至0.4%,库存准确率达标,财务账目可信度提升

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

请查看原始代码模板获取输出规格。

6. 业务价值 / ROI

  • ROI 预估:每周4小时手工进销存 → 10分钟自动报告,年节省约200小时运营时间(价值$5000+);P/S比率异常提前3-5天发现,防止断货和积压年化$10-15万;系统成本$2万,ROI≈600%
  • 实施难度:⭐⭐☆☆☆(逻辑简单,Amazon/Shopee均有入出库报告API;主要挑战是多平台数据对接统一)
  • 优先级:⭐⭐⭐⭐⭐(电商供应链最基础的管控工具,没有进销存追踪一切都是盲飞)
  • 适用规模:所有规模,月销>$2万就值得自动化
  • 数据依赖:Amazon FBA Inventory API(入出库记录)、采购PO系统数据、销售报告

7. 代码模板

代码块数量:2 · 路径:未检测到

"""
进销存三维动态追踪系统
功能:P/S/I三维比率计算 + CUSUM异常检测 + 三角平衡稽核 + 计划准确率
"""
import numpy as np
import pandas as pd
from dataclasses import dataclass, field
from typing import List, Dict, Optional, Tuple
from datetime import datetime, timedelta
import warnings
warnings.filterwarnings('ignore')


@dataclass
class WeeklyPSI:
    """单周进销存数据"""
    sku_id: str
    week: str                   # 'W2026-23' 格式
    opening_stock: int          # 期初库存
    purchases: int              # 本周进货(入库)
    sales: int                  # 本周销售(出库)
    closing_stock_actual: int   # 期末实际库存(盘点)
    # 计划值
    planned_purchases: int = 0
    planned_sales: int = 0

    @property
    def closing_stock_theoretical(self) -> int:
        return self.opening_stock + self.purchases - self.sales

    @property
    def ps_ratio(self) -> float:
        return self.purchases / max(self.sales, 0.01)

    @property
    def is_ratio(self) -> float:
        return self.closing_stock_actual / max(self.sales / 7, 0.01)  # DOI

    @property
    def pi_ratio(self) -> float:
        return self.purchases / max(self.opening_stock, 0.01)

    @property
    def stock_change_rate(self) -> float:
        return (self.closing_stock_actual - self.opening_stock) / max(self.opening_stock, 1)

    @property
    def balance_discrepancy(self) -> int:
        return self.closing_stock_actual - self.closing_stock_theoretical

    @property
    def balance_discrepancy_rate(self) -> float:
        return abs(self.balance_discrepancy) / max(self.closing_stock_theoretical, 1)

    @property
    def purchase_plan_accuracy(self) -> float:
        if self.planned_purchases == 0:
            return 1.0
        return 1 - abs(self.purchases - self.planned_purchases) / max(self.planned_purchases, 1)

8. 论文来源

  • 2401.14523