简介:这份PDF围绕新能源汽车动力电池退役量展开预测研究,面向新能源汽车产业从业者、电池回收企业与相关专业师生,帮助读者把握退役规模的增长趋势与回收体系建设思路。全文采用斯坦福估算模型,结合动力电池实际配套量以及新能源乘用车、商用车不同使用寿命期限与分布,推导出2020年退役量约14.12万t/年、2025年约42.12万t,并给出2011—2025年累计报废量约173.96万t的测算结果;同时对回收网络不完善、拆解标准缺失、回收渠道不畅等现实难题逐条剖析,并梳理政策引导、押金与奖励并行制度等应对举措。资源包为1个PDF文件,约2.1MB,结构清晰,含计算模型说明、预测数据表与参考文献,便于直接引用与延伸查阅。目前已有140人学习下载,适合需要能源信息与专业指导的读者用于课题研究、报告撰写或回收方案论证。
1. 一份“预测到2025年累计173.96万t”的报告,为什么值得工程师拆开看
2018年底那份关于新能源汽车蓄电池退役量预测的 PDF,很多人第一眼会当成政策综述划走。但里面真正有用的东西是一套可复算的方法:用斯坦福估算模型,把乘用车、商用车分线,按不同使用寿命年限和寿命分布,把 2009—2025 年逐年退役量算出来。结论落在两个数上——2020 年 14.12 万 t/年、2011—2020 累计 29.31 万 t;2025 年 42.12 万 t/年、2011—2025 累计 173.96 万 t。
这份材料适合三类人:做电池回收与梯级利用的业务测算的,需要把报废量曲线落到产能和物流上的;做新能源产业链数据分析的,想拿一套可复现模型自己换参数跑一遍;还有写行业研究、做合规评估的,需要知道预测口径和误差来源在哪。它的价值不在结论,而在于把历史销量、寿命分布、报废概率三个输入摆到明面上,换个销量假设就能重算。
2. 斯坦福估算模型的公式解构与参数边界
这套模型的核心是一个卷积式求和,把“i 年前卖出去的量”乘上“这批货在 i 年后报废的比例”,再对全部年限累加,得到某一年的退役总量。原文给出的形式是 Q = Σ(Si × Pi × n),但从表格里 P2 到 P8 的分档看,真正在跑的是按寿命分布加权的逐年求和,而不是简单乘一个最长寿命。
2.1 公式里每个符号对应的实际字段
| 符号 | 含义 | 报告中的数据形态 | 易错点 |
|---|---|---|---|
| Q | 某年退役量 | 表 1、表 2 的“报废量”列 | 单位是 GW/h,不是重量 t |
| Si | i 年前产品的销售量 | 2009—2020 年配套量 | 销量年份要倒推,别用当年 |
| Pi | 售出 i 年后废弃的百分比 | P2~P8 各列分布值 | 每行分布之和应约为 1 |
| n | 最长使用寿命周期 | 乘用车 8 年、商用车 5~6 年 | 车型不同,n 不同 |
原文提到预测难点就落在 Pi 和 n 的确定上。Pi 靠的是对电池实际退役行为的统计,n 取决于车型使用强度。乘用车年均里程低、商用车运营强度高,所以报告里商用车的退役节奏明显快于乘用车,2011—2025 年商用车退役量一直以倍数高于乘用车,根源就在这里。
2.2 表 1 与表 2 的数值差异说明什么
表 1 是乘用车,2009 年产生量 0.00,到 2020 年产生量 58.01,报废量一列 2018 年才 0.87,2019 年 1.29,2020 年 1.68,节奏偏滞后。表 2 是商用车,2009 年产生量 0.02,2020 年产生量 58.22,但报废量 2018 年已经 3.29、2019 年 4.54、2020 年 9.72。
差别来自寿命分布:商用车平均使用寿命标 5.4~6.0 年,乘用车标 7.4~7.6 年,且商用车在短寿命档位(P2、P3)的分布更集中。同样一年卖出去的车,商用车更快进入报废窗口。这也解释了为什么报告说 2018 年报废值开始呈上升趋势,而不是更早。
注意:表里的“产生量”单位随年份列变化,早期是 GW/h 级别的小数,2021 年之后直接跳成 1.0 以上的整数段,这更像配套量口径切换,做趋势拟合前先确认同一口径,否则曲线会出现假的阶跃。
2.3 十年累计量的口径核对
报告给出的两个累计值是理解全文的关键锚点:2011—2020 年累计 29.31 万 t,2011—2025 年累计 173.96 万 t。用 2020 年单年 14.12 万 t 和 2025 年单年 42.12 万 t 反推,后五年贡献了绝大部分增量。核算时要注意,累计是逐年报废量相加,不是末年单值乘年数;如果直接用末年值乘区间年数,2025 年那段会严重高估。做复算时我会先把逐年报废量列出来求和,再和报告的两个总对一遍,对不上就说明销量或分布口径被改过。
3. 用 Python 复现退役量预测模型
报告只给了公式和表,没有代码。要把它变成能改参数、能出新图的工具,按下面几步落地即可。核心是三张输入表:历史配套量、寿命分布矩阵、最长寿命设置。模型本身不复杂,麻烦的是输入数据的年份对齐。
3.1 数据准备与销量表构造
先把配套量按年份整理成字典,key 是投放年份,value 是当年配套量(GW/h)。这里用的是报告表 1 中乘用车的部分年份,实际使用时替换成完整销量即可。
# 各年投放的电池配套量(GW/h),key 为投放年份 annual_sales = { 2011: 0.06, 2012: 0.17, 2013: 0.23, 2014: 1.13, 2015: 4.25, 2016: 9.13, 2017: 13.72, 2018: 25.66, 2019: 38.49, 2020: 58.01, } # 寿命分布:key 为使用年数,value 为该年数后报废的比例 lifetime_dist = { 2: 0.30, 3: 0.50, 4: 0.10, 5: 0.07, 6: 0.02, 7: 0.00, 8: 0.01, }annual_sales的年份必须和寿命分布能对上,否则某年销量会被算到错误的退役年份。lifetime_dist各档相加应为 1,这里用于示意分布结构,真实测算时建议用厂家或回收网点统计出的实际退役年限分布替换,别直接照抄示意值。
3.2 逐年份卷积计算退役量
遍历每个投放年份,把该年销量按寿命分布比例,分别投放到“投放年 + 使用年数”的退役年份上,累加得到逐年退役量。
from collections import defaultdict def forecast_retired(sales, dist, start, end): retired = defaultdict(float) for year, volume in sales.items(): for life, ratio in dist.items(): retire_year = year + life if start <= retire_year <= end: retired[retire_year] += volume * ratio return {y: round(retired.get(y, 0.0), 2) for y in range(start, end + 1)} result = forecast_retired(annual_sales, lifetime_dist, 2011, 2025) for y, v in result.items(): print(y, v)forecast_retired的start、end控制输出区间,retired用字典累加,避免同一退役年份被多批销量覆盖。如果某年销量需要按车型拆成乘用车和商用车两套分布,就分别调用一次再把结果相加,不要混用同一张分布表。
3.3 结果校验与可视化
算完之后至少做两件事:一是检查累计值,把 2011—2020、2011—2025 两段分别求和,和报告的 29.31、173.96 对比量级;二是画折线,观察报废量曲线是平滑上升还是有突跳。
import matplotlib.pyplot as plt years = list(result.keys()) values = [result[y] for y in years] cum_2020 = sum(result[y] for y in years if y <= 2020) cum_2025 = sum(result[y] for y in years if y <= 2025) print("2011-2020累计:", round(cum_2020, 2)) print("2011-2025累计:", round(cum_2025, 2)) plt.plot(years, values, marker="o") plt.xlabel("Year") plt.ylabel("Retired capacity (GW/h)") plt.title("Retired battery forecast") plt.grid(True) plt.show()累计值明显偏离报告量级,通常是三种原因:销量表缺年、寿命分布没归一、或者报告用的是重量 t 而这里用的是 GW/h,两个口径混算。折线出现陡增,多半是某一年销量数据口径跳变,需要回到原始销量表核对。
3.4 关键参数怎么调
| 参数 | 建议取值方式 | 调大后的影响 |
|---|---|---|
| 寿命分布 P2 权重 | 参考早期退役统计 | 近期报废量上升,曲线前移 |
| 寿命分布 P6~P8 权重 | 长寿命统计 | 报废量后移,峰值推迟 |
| 最长寿命 n | 乘用车 8 年、商用车 6 年 | 决定卷积的尾部长度 |
| 销售量口径 | 与报告同口径 | 直接线性缩放结果 |
调参的优先顺序是先定寿命分布,再定最长寿命,最后才是销量。因为分布决定形状,销量只决定幅度。很多人一上来改销量,结果只是把曲线整体抬高,拐点位置根本没变。
4. 退役量曲线背后的回收难题与工程排错
预测数字本身不解决业务问题,它暴露的是回收侧的结构性缺口。报告列了四条:回收网络不完善、运输成本随重量显著增加、电池规格不统一导致拆解缺乏统一标准、具备拆解资质的企业少且原材料回收价格波动。把这四条放到测算视角下,每一条都会转成一个具体的约束参数。
4.1 四条难题对应的量化约束
| 报告难题 | 折算成的参数 | 对测算的影响 |
|---|---|---|
| 回收网络不完善 | 回收率、有效回收半径 | 实际可回收量低于理论退役量 |
| 运输成本随重量上升 | 运输成本系数(元/t·km) | 低价值批次的经济可回收半径缩小 |
| 规格不统一 | 拆解工时、分选成本 | 单位处理成本上升,模型里的价值项下降 |
| 资质企业少 | 产能上限 | 退役量超过产能时形成积压 |
理论退役量乘上回收率,才是真正进入处理环节的量。报告提到 2018 年废旧动力电池回收市场约 50 亿规模,这个数字对应的正是“理论量 × 可回收比例 × 回收价值”的组合,而不是直接把 14.12 万 t 套单价。
4.2 回收率与运输半径的敏感性计算
把回收率做成参数,可以快速看出业务对流失有多敏感。
def recoverable(retired, rate): # rate: 0~1 之间的实际回收率 return {y: round(v * rate, 2) for y, v in retired.items()} for r in (0.3, 0.5, 0.7): total = sum(recoverable(result, r).values()) print(f"回收率{r:.0%},2025年可回收量: {total:.2f} GW/h")rate反映的是从产生退役电池到真正进入正规渠道的比例。系数每差 0.2,累计处理量差距在数十个百分点,这也是为什么政策层面强调生产者责任延伸——回收率不是技术问题,是渠道问题。做产能规划时,用保守回收率算下限,用乐观值算上限,中间值落实际预算。
4.3 常见误用与排查路径
第一个常见误用是把单车带电量当成退役量,忽略寿命分布,结果是一刀切的阶梯曲线,看不出拐点。第二是把 GW/h 和重量 t 混用,14.12 万 t 和表里的 GW/h 不是同一个维度,换算需要能量密度系数。
排查路径可以按这个顺序走:先核对销量表的年份是否连续,再检查寿命分布是否归一,接着确认输出区间的起止年是否覆盖了所有“销量年 + 寿命”,最后做单位一致性检查。多数对不上报告数的情况,问题都出在前两步。
提示:如果要做乘用车和商用车分线预测,两套寿命分布必须分别维护。报告里商用车报废量的绝对值一直高于乘用车,直接原因是商用车寿命短、分布集中,而不是商用车销量更大。
5. 从预测表到回收调度:一套可落地的技巧
把逐年退役量真正用起来,关键不是再算一遍总量,而是把年度总量按季度、按区域拆开,做成可调度的回收计划。报告的数据粒度到年,实际调度需要更细。可行的做法是:先用历史销量和寿命分布生成年度退役量,再按车型上牌时间的季节分布,把年度量拆分到季度,最后按区域销量占比摊到地理网格。
一个实用的技巧是给报废量曲线做“滑动窗口平滑”。表 1 和表 2 在 2021 年前后出现明显跳变,直接拿原始值做产能规划会失真。用三年滑动平均能压掉口径切换带来的假峰,同时保留长期上升趋势。具体做法是用 pandas 的滚动窗口,对逐年报废量序列取窗口为 3 的均值,再和原始序列叠图对比,看拐点位置是否一致。如果平滑后趋势翻转,说明跳变来自数据问题而不是真实波动。
另一个技巧是把回收率、运输成本、处理单价合成一个“单位退役量净价值”指标,用它对各年份排序,优先处理净价值高的年份批次。这样得到的不再是一条预测曲线,而是一张带优先级的时间表。对做回收调度的人,这比单纯记住 42.12 万 t 更有用——峰值年份的资源该提前多久准备、在哪些区域准备,都能从这张表倒推出来。
本文还有配套的精品资源,点击获取