1. 课程导论与项目全景
1.1 供应链计划系统在企业中的核心价值
在当今竞争激烈的商业环境中,供应链计划系统(Supply Chain Planning System, SCPS)已成为企业运营的“中枢神经”。它通过整合需求预测、库存优化与补货计划,帮助企业实现三大核心目标:降低库存成本、提升订单满足率、缩短供应响应周期。
关键数据洞察: 实施供应链计划系统后,企业通常可降低 15%-30% 的库存持有成本,同时将缺货率控制在 2% 以下。
传统的手工 Excel 计划模式面临数据孤岛、响应滞后、人工误差等痛点。而一套自动化的计划系统能够:
- 需求感知:基于历史销售数据与市场信号,生成多维度预测。
- 库存优化:动态计算安全库存与再订货点,平衡服务水平与资金占用。
- 补货协同:自动生成采购建议或调拨指令,缩短计划周期。
- 异常预警:实时监控预测偏差与库存风险,支持快速决策。
1.2 项目目标与范围
本课程实战项目将构建一个轻量级、可落地的供应链计划系统原型,覆盖从需求预测到补货计划的核心链路。项目范围界定如下:
| 模块 | 功能范围 | 交付物 |
|---|---|---|
| 数据接入层 | 历史销售数据、库存台账、商品主数据导入 | MySQL 数据表结构 + Pandas 清洗脚本 |
| 需求预测引擎 | 时间序列预测(移动平均、指数平滑、ARIMA) | 预测结果可视化 + 准确率评估 |
| 库存策略计算 | 安全库存、再订货点、经济订货批量 | 参数配置界面 + 计算逻辑 |
| 补货计划生成 | 净需求计算、补货建议生成、计划调整 | 补货计划表 + 导出功能 |
| Web 交互界面 | 数据看板、参数配置、结果展示 | Flask 前后端集成页面 |
项目边界说明: 本系统聚焦于“计划”环节,不涉及采购执行、物流配送或财务结算。学员可在此基础上扩展为完整的供应链控制塔。
1.3 整体技术架构选型
技术选型遵循轻量、高效、易学原则,采用 Python 全栈技术栈,确保学员在单机环境下即可完成开发与部署。
1.4 各层技术选型详解
| 技术层 | 选型组件 | 选型理由 |
|---|---|---|
| Web 框架 | Flask 2.x | 轻量灵活,适合快速原型开发;内置 Jinja2 模板引擎,与 Python 生态无缝集成。 |
| 数据处理 | Pandas + NumPy | 供应链数据以表格为主,Pandas 的 DataFrame 操作与时间序列功能是核心利器。 |
| 数据库 | MySQL 8.0 + SQLAlchemy | 关系型数据库保证数据一致性;ORM 层简化 CRUD 操作,支持事务管理。 |
| 前端可视化 | Chart.js + Bootstrap 5 | Chart.js 提供丰富的交互式图表;Bootstrap 保证界面整洁响应式。 |
| 部署环境 | Python 3.9+ / Gunicorn + Nginx | 开发调试用内置服务器,生产环境可平滑迁移至 WSGI 部署。 |
1.5 项目目录结构与代码组织
为保障课程代码的可维护性与可扩展性,项目采用模块化分层结构:
supply_chain_planning/
├── app/ # Flask 应用主目录
│ ├── __init__.py # 应用工厂
│ ├── models/ # 数据库模型
│ │ ├── __init__.py
│ │ ├── product.py # 商品主数据模型
│ │ ├── sales.py # 销售记录模型
│ │ └── inventory.py # 库存台账模型
│ ├── routes/ # 路由与视图函数
│ │ ├── __init__.py
│ │ ├── forecast.py # 预测模块路由
│ │ ├── inventory.py # 库存模块路由
│ │ └── replenishment.py # 补货模块路由
│ ├── services/ # 业务逻辑层
│ │ ├── __init__.py
│ │ ├── forecast_engine.py # 预测算法封装
│ │ ├── inventory_calc.py # 库存策略计算
│ │ └── replenishment.py # 补货计划生成
│ ├── templates/ # Jinja2 模板
│ │ ├── base.html
│ │ ├── forecast/
│ │ └── replenishment/
│ └── static/ # 静态资源
│ ├── css/
│ └── js/
├── data/ # 原始数据与测试数据
│ ├── sales_sample.csv
│ └── product_master.csv
├── config.py # 配置文件
├── requirements.txt # 依赖清单
└── run.py # 启动入口
开发环境注意事项: 建议使用虚拟环境(venv 或 conda)隔离项目依赖。MySQL 需提前创建数据库并执行初始化脚本,确保字符集为 utf8mb4。
1.6 数据流与业务逻辑全景
从原始数据输入到补货计划输出,系统内部的数据流转遵循清晰的管道模式:
1.7 课程学习路径与预期收获
本课程共 30 章,按“数据准备 → 预测建模 → 库存优化 → 补货实现 → 系统集成”五阶段递进。完成本课程后,你将具备:
- 独立搭建一个基于 Flask 的供应链计划 Web 系统。
- 掌握需求预测的经典算法与评估方法。
- 理解安全库存、再订货点、EOQ 等核心库存模型。
- 实现从数据清洗到补货建议生成的完整数据管道。
- 获得可直接用于简历的项目经验与代码资产。
学习建议: 每章均配有可运行的代码示例与数据集。建议边学边练,在本地环境中复现每个模块的输出结果。