需求预测管理系统
原名:配件销量预测系统
定位:企业级通用预测引擎
产品背景
为企业做需求预测,支持按多维度组合预测历史销量和未来趋势,覆盖 预测→调整→复盘 的完整闭环。
用户角色
| 角色 |
职责 |
| 业务用户(订单专员/业务员/销售部长/计划员) |
配置预测任务、判断调整预测值、用结果指导备货/生产 |
| 实施用户 |
POC 演示、模型配置、指标配置、系统搭建 |
系统架构
┌─────────────────────────────────────────────┐
│ AI / CLI 接入层 │
│ (CLI / MCP / API / AI对话窗口 / 插件) │
├─────────────────────────────────────────────┤
│ 复盘分析层 │
│ (预测准确率分析 / 调整追溯 / 知识沉淀) │
├─────────────────────────────────────────────┤
│ 调整与决策层 │
│ (定性调整规则 / 手工调整 / 假设分析) │
├─────────────────────────────────────────────┤
│ 预测引擎层 │
│ (模型管理 / 训练调度 / 择优 / 结果对比) │
├─────────────────────────────────────────────┤
│ 数据层 │
│ ┌──────────┬──────────┬──────────────────┐ │
│ │ 数据接入 │ 数据感知 │ 数据治理 │ │
│ │ (导入/ │ (异常检测 │ (标记→推荐方案 │ │
│ │ 字段映射 │ Z-Score │ →用户确认→ │ │
│ │ 数据校验)│ IQR/ │ 平滑/过滤) │ │
│ │ │ 移动平均)│ │ │
│ ├──────────┴──────────┴──────────────────┤ │
│ │ 促销活动管理 │ │
│ │ (活动登记 / 历史活动影响推算) │ │
│ └─────────────────────────────────────────┘ │
├─────────────────────────────────────────────┤
│ 基础管理层 │
│ (维度管理 / 用户权限 / 租户 / 配置管理) │
└─────────────────────────────────────────────┘
迭代优先级
| 层级 |
优先级 |
| 基础管理层 |
P0 |
| 数据层(数据接入 + 数据感知 + 数据治理) |
P0 |
| 促销活动管理 |
P1 |
| 预测引擎层 |
P0 |
| 调整与决策层(定性调整 P0 / 手工调整 P0 / 假设分析 P1) |
P0+P1 |
| 复盘分析层 |
P1 |
| AI/CLI接入层(CLI P0 / AI对话窗口 P1) |
P0+P1 |
基础管理层(P0)
维度管理
产品层级
- 概念:按产品分类维度分层,用于后续预测的聚合和拆分
- 层级定义:支持用户自定义多级分类,不限层级数
- 系统预设示例(汽车行业):车系 → 配置 → 颜色 → 续航版本
- 系统预设示例(快消行业):品类 → 品牌 → SKU → 规格
- 管理功能:
- 新增/编辑/删除层级
- 调整层级顺序(拖拽排序)
- 导入层级数据(Excel)
- 查看层级树
日期层级
- 固定层级:年 → 季 → 月 → 周 → 日
- 周定义支持配置:周一至周日 / 周日至周六
- 支持财务日历(4-4-5 周期)
销售渠道
- 概念:产品销售的途径分类
- 用户自定义渠道列表,支持多级
- 系统预设示例:线上 → 电商平台/官网/小程序;线下 → 直营店/加盟店/经销
地区结构
- 概念:销售覆盖的地域范围
- 无限层级:大洲 → 国家 → 大区 → 省 → 市 → 区 → 门店
- 支持用户自定义层级和层级名称
- 系统预设:中国 省→市→区;国际 国家→大区→省→市
- 导入地区层级数据(Excel)
- 地区支持编码体系
仓网结构
- 概念:仓储物流网络的层次
- 无限层级:中心仓 → 区域仓 → 前置仓
- 支持自定义层级和层级名称
- 系统预设:国内中心仓→海外中心仓→海外区域仓→前置仓
- 导入仓库数据(Excel)
维度组合模板
- 系统预设常用组合(如:产品×月份×地区,产品×周×渠道)
- 用户可保存自定义组合
- 组合在后续预测任务中直接选用
用户与权限
用户管理
- 用户注册/邀请:管理员创建用户或批量导入
- 用户信息:姓名、邮箱、手机号、所属租户、角色
- 支持 SSO 登录(LDAP/OAuth)
角色体系
- 预置角色:管理员、实施用户、业务用户
- 自定义角色:支持自定义角色名称和权限集
权限管理
- 功能权限:按模块控制(数据接入、预测引擎、调整、复盘等)
- 操作权限:增/删/改/查/执行 粒度
- 数据权限:按租户隔离
- 维度权限:按地区/产品范围控制可见性
多租户
- 每个租户独立数据空间
- 租户管理员管理本租户用户
- 超级管理员可管理所有租户
- 租户切换(管理员可跨租户查看)
数据层(P0)
模块一:数据接入
数据源管理
- 数据源类型(按优先级):
- 文件上传:Excel(.xlsx/.xls)、CSV(.csv)
- 数据库:MySQL → PostgreSQL
- 数据源配置:名称、类型、连接信息、状态
文件导入流程
- 用户选择文件并上传
- 系统解析文件,识别表头
- 字段映射界面:
- 自动匹配(按字段名相似度)
- 手动拖拽匹配
- 标注必填字段(日期、产品、销量等)
- 数据校验:
- 必填字段非空检查
- 数据类型检查(日期格式、数值范围)
- 重复数据识别
- 维度合法性检查(产品编码在维表中是否存在)
- 校验结果展示:
- 成功行数 / 警告行数 / 错误行数
- 错误明细列表(行号+字段+错误原因)
- 支持在线修正或导出错误行
- 确认导入:
- 预览导入数据
- 选择写入模式:追加 / 覆盖
- 确认后写入数据库
- 导入记录:每次导入记录可追溯(时间、用户、文件、行数结果)
数据库接入
- 配置数据库连接
- 选择表/视图
- 字段映射(类似文件导入)
- 支持定时同步(CRON 配置)
模块二:数据感知(异常检测)
检测范围
- 默认按预测维度组合自动检测(即用户设定的产品×地区×时间组合)
- 支持用户自定义检测范围:选定特定的产品、地区、时间范围后再检测
检测算法
- Z-Score:基于标准差,超出阈值(默认±3,可配)标记为异常
- IQR:四分位距法,超出 Q1-1.5IQR / Q3+1.5IQR 标记为异常
- 移动平均检测:实际值与移动平均值的偏差超过阈值标记为异常
- 算法参数可配置
- 架构上支持扩展新算法
检测结果展示
- 可视化:在历史销量曲线图上标注异常点(红色高/蓝色低)
- 列表:异常数据明细(维度组合、时间、实际值、期望值、偏差率、算法判定)
- 支持导出异常检测报告
模块三:数据治理(清洗与处理)
标记异常
- 用户确认异常点(支持批量选中)
- 标记类型:异常高值 / 异常低值
推荐修复方案
- 用户标记后,系统自动计算修复推荐值(不超过3种方案):
- 方案A:参考历史同期 — 取过去N年同期数据的平均值/中位数
- 方案B:相似年份趋势 — 系统自动寻找最相似年份(按趋势相似度),用该年的同一时期值替代
- 方案C:数据平滑 — 用前后窗口期的移动平均值/中位数填充
- 每种方案展示推荐值和对应的计算逻辑说明
- 用户选择方案后应用
处理方式
- 过滤:直接从数据集中剔除该条记录(保留原始订单中但标记为已过滤)
- 替换:用修复值替换异常值
- 处理记录:谁、什么时间、什么异常值、用的什么方案、替换成什么值
- 支持撤销操作
数据治理日志
- 每次治理操作生成一条日志记录
- 日志包含:操作时间、操作人、异常点信息、处理方式、处理前后的值
- 在复盘时可查看数据治理历史
促销活动管理(P1)
活动登记表
- 活动名称
- 活动类型(打折/满减/赠品/捆绑销售等)
- 活动时间范围(开始日~结束日)
- 涉及产品(可选全部或指定产品范围)
- 涉及地区(可选全部或指定地区范围)
- 活动力度参数(折扣率、满减额、赠品价值等)
- 历史活动销量数据(可选上传活动期间的实际销量数据,用于后续分析)
活动影响分析
- 系统对比活动期间的销量与无活动情况下的基线销量(系统推算)
- 输出影响系数(活动带来多少提升/下降)
- 在预测时,用户可选择是否参考历史活动影响
预测引擎层(P0)
算法模型库
- 架构:模型插件化
- 扩展方式:新增模型只需放入模型文件 + 在注册表中声明
- 预置模型:
- 经典统计:移动平均(MA)、加权移动平均(WMA)、指数平滑(ES)、ARIMA、Prophet
- 机器学习:LightGBM、XGBoost、随机森林
- 深度学习:LSTM、Transformer、时序Transformer
模型参数配置
- 每个模型有默认参数(开箱即用)
- 高级用户可自定义参数
- 参数配置界面:参数名、说明、类型、默认值、取值范围
- 支持参数模板保存(对不同场景保存不同参数集)
预测任务
创建预测任务
- 选择预测维度组合
- 选择目标日期范围(预测期)
- 选择历史数据范围(训练期)
- 选择算法模型(默认推荐3-4个主流模型,也支持全选)
- 配置模型参数(可选,默认使用已有配置)
- 提交任务
训练与择优
- 自动训练所选模型
- 评价指标:MAPE、RMSE、MAE
- 自动选出各指标下的最优模型
- 训练状态展示:排队中 → 训练中 → 完成/失败
- 耗时预估
结果展示
- 模型对比:各模型预测结果汇总表(维度组合、实际值、各模型预测值)
- 可视化:历史曲线 + 各模型预测曲线叠加对比
- 指标排名:按 MAPE/RMSE/MAE 排序
调整与决策层(P0 + P1)
定性调整规则(P0)
规则引擎
- 语法:Excel 表达式语法
- 触发时机:用户查看模型预测结果后手动触发
- 计算范围:支持按特定维度组合应用,也支持全局规则
预置指标(内置)
- 历史同期月销量
- 过去N个月窗口平均值
- 过去N个月窗口移动中位数
- 年累计至今销量
- 同比/环比增长率
指标扩展机制
- 实施用户通过 JSON 配置新增指标
- 指标定义:名称、计算逻辑(SQL/表达式)、参数
规则配置界面
- 规则列表(增/删/改/查)
- 规则名称、适用范围、调整公式、生效状态
- 测试运行:选一组数据预览调整效果
调整结果
- 保留原始预测值
- 生成「定性调整后预测值」
- 记录使用了哪些规则
用户手工调整(P0)
调整方式
- 表格模式:直接编辑预测值单元格
- 拖拽模式:在可视化曲线上拖拽调整数据点
- 批量调整:选中多个维度组合统一调整(如:全部上浮10%)
三值体系
| 值 |
来源 |
说明 |
| 原始预测值 |
模型预测输出 |
基准值,不可修改 |
| 定性调整后预测值 |
规则引擎计算 |
规则执行后得到,若未执行规则=原始预测值 |
| 用户手工调整值 |
用户手工修改 |
最终值,用于指导备货/生产 |
调整记录
- 每次修改强制填写调整原因(下拉选择+自由输入)
- 调整原因预置选项:市场变化、促销活动、竞品影响、季节性因素、异常事件、其他
- 记录内容:操作人、时间、调整前/后值、调整原因、维度组合
假设分析(P1)
内置弹性系数模型
- 系统内置默认弹性系数(基于历史数据回归得出)
- 用户可手工修改弹性系数
分析场景
- 竞品降价:输入竞品降价幅度,预测对我方销量的影响
- 我方调价:输入我方调价幅度,预测对销量、利润、库存的影响
分析流程
- 选择分析场景
- 输入变量参数(降价幅度、生效时间等)
- 系统基于弹性系数模型计算影响
- 展示结果:原预测 vs 调整后预测(销量/利润/库存水位变化)
多方案对比
- 同一个场景可创建多个方案(如:降价5%/10%/15%)
- 并列对比方案结果
复盘分析层(P1)
预测准确率分析
- 对比维度:按产品/地区/时间/渠道 等维度对比预测值 vs 实际销量
- 统计指标:MAPE、RMSE、MAE、偏差方向(偏高/偏低)
- 时间趋势:准确率随时间的变化曲线
不准原因追溯
- 分析链路:原始预测不准?→ 定性规则调整后不准?→ 用户手工调整导致不准?
- 每个环节的偏差贡献度
调整历史回溯
- 按时间线展示所有调整操作
- 每条记录:调整人、调整类型(规则/手工)、调整前值、调整后值、原因
- 逐层钻取:预测任务 → 某维度组合 → 调整历史
知识沉淀
- 每次复盘分析结论保存到系统
- 新用户可查阅历史复盘记录
- 支持按产品/地区筛选历史复盘
AI / CLI 接入层(P0 + P1)
CLI(P0)
- 全部功能支持 CLI 操作
- 命令行命名规范:
dpm <模块> <操作> [参数]
- 示例:
dpm data import ./sales.csv、dpm predict run --model prophet --start 2026-01 --end 2026-06
API / MCP(P0)
- RESTful API(OpenAPI 标准)
- MCP 协议支持(供 Claude、OpenClaw 等直接调用)
- API 文档自动生成
AI 对话窗口(P1)
- 内嵌 AI 对话界面
- 用户用自然语言描述需求
- AI 理解意图,自动执行对应功能
- 示例:用户说"帮我预测下个月华南区的销量",系统自动执行预测任务
插件(P1)
- Claude Code / Codex / Cursor / Trae 可直接调用系统
- 通过标准化接口暴露系统能力
非功能要求
- 所有维度灵活可配,不硬编码
- 模型插件化架构,支持热扩展
- 多模型自动训练择优
- 所有调整操作可追溯
- 数据按租户隔离
MDEOF
echo "full requirement doc written"