原文链接:http://tecdat.cn/?p=17725
最近咱们被客户要求撰写对于Bass模型的钻研报告,包含一些图形和统计输入。
巴斯Bass扩散模型已胜利地用于预测各种新推出的产品以及成熟产品的市场份额
次要观点
该模型的次要思维来自两个起源:
- 消费者不受社会影响的产品志愿。
- 因为其他人曾经采纳了该产品,所以偏向于采纳该产品。因而,在优质产品的生命周期中的晚期采纳者的影响变得足够弱小,以至驱使许多其他人也采纳该产品。
Bass模型显示了如何应用销售数据的前几个期间的信息来对将来的销售做出相当好的预测。能够很容易地看出,尽管该模型来自营销畛域,但它也能够很容易地用于对现金流量的预测进行建模以确定初创公司的价值。
历史事例
Bass模型的文献中有一些经典的例子。例如,请参见下图所示的80年代VCR的理论与预测市场增长状况。
根本思维
将单个人从零工夫到工夫tt购买产品的累计概率定义为F(t)。那么,在工夫tt的购买概率为密度函数f(t)= F'(t)。
从目前来看,在目前没有购买的状况下,工夫t的购买率合乎逻辑,即
建模就像在给定工夫t建模产品的采用率
微分方程
巴斯倡议将此采用率定义为
在这里,咱们能够将p定义为 采纳产品的消费者的 独立比率,将q定义为模拟率,因为q能够 模仿累积采纳强度F(t)的影响。
因而,如果咱们能够找到某产品的p和q,则能够预测其随着工夫的采纳,从而生成销售的工夫门路。总结一下:
- p:翻新系数。
- q:模拟系数。
求解F(t)的模型
咱们重写方程:
并留神F(0)= 0。
解决方案中的步骤是:
另一种解决方案
一种代替办法(这是学生Muhammad Sagarwalla依据Alexey Orlovsky的想法提出的)如下。
所以咱们写
咱们失去
与公式(*)雷同。以前的解决方案是
求解f(t)
因而,如果指标市场的大小为m,则在每个t处,采用率简略地由m×f(t)给出。
例
例如,设置m = 100,000,p = 0.01和q = 0.2。而后,采用率如下图所示。
f = function(p,q,t) {p = 0.01q = 0.20plot(t,m*f(p,q,t),type="l",col="blue",l
点击题目查阅往期内容
R语言Bass模型进行销售预测
左右滑动查看更多
01
02
03
04
R中的符号数学
#BASS 模型FF = expression(p*(exp((p+q)*t)-1)/(p*exp((p+q)*t)+q))
## expression(p * (exp((p + q) * t) - 1)/(p * exp((p + q) * t) + ## q))
#取导数D(FF,"t")
## p * (exp((p + q) * t) * (p + q))/(p * exp((p + q) * t) + q) - ## p * (exp((p + q) * t) - 1) * (p * (exp((p + q) * t) * (p + ## q)))/(p * exp((p + q) * t) + q)^2
#设置函数ff = function(p,q,t) { res
#评估plot(t,m*eval(ff(p,q,t)),type="l",col="red",lwd=3)
iPhone销售预测
例如,让咱们看一下iPhone销量的趋势(咱们将季度销量存储在一个文件中并读入文件,而后进行Bass模型剖析)。
此计算的R代码如下:
#应用苹果iPHONE销售数据data = read.table("tecdat/iphone.txt",header=TRUE)
## Quarter Sales_MM_units## 1 Q3_07 0.27## 2 Q4_07 1.12## 3 Q1_08 2.32## 4 Q2_08 1.70## 5 Q3_08 0.72## 6 Q4_08 6.89
print(tail(data))
## Quarter Sales_MM_units## 30 Q4_14 39.27## 31 Q1_15 74.47## 32 Q2_15 61.17## 33 Q3_15 47.53## 34 Q4_15 48.05## 35 Q1_16 74.78
## ## Call:## lm(formula = isales ~ cum_isales + cum_isales2)## ## Residuals:## Min 1Q Median 3Q Max ## -14.050 -3.413 -1.429 2.905 19.987 ## ## Coefficients:## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 3.696e+00 2.205e+00 1.676 0.1034 ## cum_isales 1.130e-01 1.677e-02 6.737 1.31e-07 ***## cum_isales2 -5.508e-05 2.110e-05 -2.610 0.0136 * ## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## ## Residual standard error: 7.844 on 32 degrees of freedom## Multiple R-squared: 0.8729, Adjusted R-squared: 0.865 ## F-statistic: 109.9 on 2 and 32 DF, p-value: 4.61e-15
b = res$coefficients
#拟合模型m1 = (-b[2]+sqrt(b[2] m2 = (-b[2]-sqrt(b[2]^2-4
## cum_isales cum_isales ## -32.20691 2083.82202
## [1] 2083.822
## (Intercept) cum_isales2 ## "p,q=" "0.00177381124189973" "0.114767511363674"
##绘制拟合的模型 plot(t,fn_f,type="l"lines(1:n,isales,col="red",lwd=2,lty=2)
三星Galaxy手机销量
#读取Galaxy销售数据data = read.csv("tecdat/galaxy.csv")#获取系数res = lm(isales ~ cum_isales+cum_isales2)print(summary(res))
## Residuals:## Min 1Q Median 3Q Max ## -11.1239 -6.1774 0.4633 5.0862 13.2662 ## ## Coefficients:## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 5.375e+01 4.506e+00 11.928 2.87e-10 ***## cum_isales 7.660e-02 1.068e-02 7.173 8.15e-07 ***## cum_isales2 -2.806e-05 5.074e-06 -5.530 2.47e-05 ***## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## ## Residual standard error: 7.327 on 19 degrees of freedom## Multiple R-squared: 0.8206, Adjusted R-squared: 0.8017 ## F-statistic: 43.44 on 2 and 19 DF, p-value: 8.167e-08
b = res$coefficients#拟合模型m1 = (-b[2]+sqrt(b[2]^2-4*m2 = (-b[2]-sqrt(b[2]^print(c(m1,m2))
## cum_isales cum_isales ## -578.9157 3308.9652
## [1] 3308.965
## (Intercept) cum_isales2 ## "p,q=" "0.0162432614649845" "0.0928432001791269"
#绘制拟合模型nqtrs = 100t=seq(0plot(t,fn_f,type="l"lines(1:n,isales,col="red",lwd=2,lty=2)
寰球半导体销量
#读取半导体销售数据data = read.csv("tecdat/semi.csv")#获取系数isales = dres = lm(isales ~ cum_isales+cum_isales2)
## Residuals:## Min 1Q Median 3Q Max ## -42.359 -12.415 0.698 12.963 45.489 ## ## Coefficients:## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 5.086e+01 8.627e+00 5.896 3.76e-06 ***## cum_isales 9.004e-02 9.601e-03 9.378 1.15e-09 ***## cum_isales2 -6.878e-06 1.988e-06 -3.459 0.00196 ** ## ---## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1## ## Residual standard error: 21.46 on 25 degrees of freedom## Multiple R-squared: 0.9515, Adjusted R-squared: 0.9476 ## F-statistic: 245.3 on 2 and 25 DF, p-value: < 2.2e-16
#拟合模型m1 = (-b[2]+sqrt(b[2]^2m2 = (-b[2]-sqrt(b[print(c(m1,m2))
## cum_isales cum_isales ## -542.4036 13633.3003
## [1] 13633.3
## (Intercept) cum_isales2 ## "p,q=" "0.00373048366213552" "0.0937656034785294"
#绘制拟合的模型plot(t,fn_f,type="l",lines(1:n,isales,col="red"
显示数据框:
print(df)
## t V2 fn_f## 1 0 1988 50.858804## 2 1 1989 55.630291## 3 2 1990 60.802858## 4 3 1991 66.400785## 5 4 1992 72.447856## 6 5 1993 78.966853## 7 6 1994 85.978951## 8 7 1995 93.503005## 9 8 1996 101.554731## 10 9 1997 110.145765## 11 10 1998 119.282622## 12 11 1999 128.965545## 13 12 2000 139.187272
衡量p vs q
在Bass模型中,如果模拟系数绝对于翻新系数减少,那么以下哪一项是最无效的?
- 产品生命周期的顶峰产生在稍后。
- 产品生命周期的顶峰呈现得更快。
- 两个生命周期顶峰的机会可能会减少。
- 顶峰可能迟早会呈现,具体取决于翻新系数。
应用顶峰工夫公式,用x = q / p代替:
x的微分:
从Bass模型中,咱们晓得q> p> 0,即x> 1,否则咱们能够在0≤F<1区域取得负的接受度或形态,而没有最大值。因而,∂t∗ /∂x的符号与:
然而这个非线性方程
根x≈3.59
换句话说,当x> 3.59时,导数∂t∗ /∂x为负,而当x <3.59时为正。对于x = q / p的低值,模拟系数q的减少会减少达到销售顶峰的工夫,而对于q / p的高值,工夫会随着q的减少而缩小。因而,该问题的正确答案仿佛是“它取决于p和q的值”。
t = seq(0,5,.1)p = 0.1; lines(t,f(p,q,t),type="l",col="red",lwd=2)
在图中,当x变小时,峰值更早。
点击文末 “浏览原文”
获取全文残缺代码数据资料。
本文选自《R语言应用Bass模型进行手机市场产品周期预测》。
点击题目查阅往期内容
R语言Bass模型进行销售预测
R语言应用Bass模型进行手机市场产品周期预测
R语言Bass模型进行销售预测
数据挖掘:香水电商销售策略剖析
机器学习助推精准销售预测
Python对商店数据进行lstm和xgboost销售量工夫序列建模预测剖析
基于ARIMA、SVM、随机森林销售的工夫序列预测
亚马逊商品销售数据爬虫剖析报告
R语言工夫序列和ARIMA模型预测拖拉机销售的制作案例钻研
PYTHON中用PROPHET模型对天气工夫序列进行预测与异样检测
R语言用ARIMA模型,ARIMAX模型预测冰淇淋生产工夫序列数据
Python用ARIMA和SARIMA模型预测销量工夫序列数据