Automotive Parts Dynamic Pricing

Demand model quality, price elasticity, per-SKU pricing decisions, and inventory linkage — real output from the source Python pipeline.

查看完整项目复盘(建模流程、6 个模块、局限说明)

汽车配件动态定价与库存

定价决策工作台

需求预测模型质量、价格弹性估计、单 SKU 定价决策与库存联动——数字直接来自实际跑通源项目 Python 流水线的输出文件。

数据说明

本次运行样本为 500 个 SKU × 4 区域 × 3 客户层(6,000 个 SKU-区域-层级价格点),合成数据、无真实企业数据。

建模营收

¥39,330,586

500 SKU × 4 区域 × 3 客户层

建模毛利提升

¥2,508,881

占当前毛利的 24%

库存价值

¥44,591,943

按当前成本估值

缺货风险 SKU

1,176

需要补货/调价干预

需求模型质量(vs Seasonal-Naive 基线)

HistGradientBoosting,38 个特征,训练/验证/测试窗口 78/13/13 周。

WAPE

19.1%

测试集加权绝对百分比误差

vs 基线改进

81%

基线 WAPE = 100%(Seasonal-Naive)

MAE

7.79 units

每 SKU-周平均绝对误差

RMSE

12.9 units

对大误差更敏感

源代码:src/demand_model.py + src/metrics.py

# 模型选择:HistGradientBoosting,而非线性 Ridge 或 RandomForest
model = HistGradientBoostingRegressor(
    max_iter=100, max_depth=6, learning_rate=0.1, random_state=RANDOM_SEED
)

# 时间序列切分:78 周训练 / 13 周验证 / 13 周测试,严格按时间先后,不做随机 K-fold
# (随机切分会让模型"看到未来",是需求预测里最常见的泄漏错误)

# WAPE:加权绝对百分比误差 —— 用总量做分母,比逐条 MAPE 更抗小基数噪声
def wape(y_true, y_pred):
    return sum(abs(y_true - y_pred)) / sum(abs(y_true))

baseline_improvement = (baseline_wape - model_wape) / baseline_wape   # -> 80.9%

建议分布(6,000 个 SKU-区域-层级价格点)

建议提价
3,808 (63.5%)
维持现价
930 (15.5%)
小范围测试
707 (11.8%)
转人工审批
553 (9.2%)
建议降价
2 (0.0%)

毛利提升机会 · 按品类

发动机部件
¥466,953
悬挂系统
¥404,339
电气系统
¥343,771
滤清器
¥341,340
油液
¥312,498
电瓶
¥263,853
制动系统
¥251,516
工具
¥124,612