在这篇文章中,我提供了一个基于 CAGR 的预测示例,使用了中国汽车行业的 OICA 汽车生产数据。
CAGR 是复合平均增长率。
例如,如果 2000 年的产量为 1,000,000 台,那么如果预计 CAGR = 3%,则计算 10 年后的产量并预计为:
基于 CAGR 的预测包括两步工作流程:
- 从历史数据计算 CAGR
- 假设历史 CAGR 计算未来价值
如果预测年度值,则必须根据年度历史值计算 CAGR。如果预测月度值,则必须根据月度历史值计算 CAGR。等等。
下面我使用 CAGR 方法来预测未来汽车产量,以每年生产的单位数量表示。我使用 OICA 汽车行业生产数据来计算历史年度 CAGR,并根据计算出的 CAGR 值预测未来的产量。
第一步是读入数据。该步骤也包括过滤。
library(readxl)
library(dplyr)
data_df = as.data.frame(read_xls("oica.xls"))
data_df = dplyr::filter(data_df,year>=2005,country=="China")
head(data_df)
## year country total
## 1 2018 China 27809196
## 2 2017 China 29015434
## 3 2016 China 28118794
## 4 2015 China 24503326
## 5 2014 China 23731600
## 6 2013 China 22116825
tail(data_df)
## year country total
## 9 2010 China 18264761
## 10 2009 China 13790994
## 11 2008 China 9299180
## 12 2007 China 8882456
## 13 2006 China 7188708
## 14 2005 China 5717619
接下来,可以计算历史 CAGR。在这种情况下,对于 2005 年至 2018 年:
cagr = (data_df$total[1]/data_df$total[length(data_df$total)])^(1/(length(data_df$total)-1)) - 1
使用历史年度 CAGR 值,我预测 2030 年中国汽车产量以每年生产的单位衡量:
data_df$total[1]*(1+cagr)^(2030-2018)
## [1] 119761592
基于 CAGR 的预测显然是天真的。这种预测方法仅在强有力的假设下有效,例如假设增长是无限的。在汽车生产的情况下,这是不可行的。因此,这种预测方法可能仅适用于有限的时间范围。此外,基于 CAGR 的预测需要一定的方差容忍度。
专业领域为优化和仿真的工业工程师(R,Python,SQL,VBA)
Leave a Reply