经管之家送您一份
应届毕业生专属福利!
求职就业群
感谢您参与论坛问题回答
经管之家送您两个论坛币!
+2 论坛币
model
{
#####################################
#### Model Estimation
#####################################
for ( i in 1:I) { # For-loop for customers
# Visit timing process
zeros[i,1]<-0 # "Zeros trick" is used because the pdf is not the standard Weibull distribution
zeros[i,1]~dpois( zeros.mean[i,1] )
zeros.mean[i,1]<- (-zeros.ll[i,1])
zeros.ll[i,1]<-log(v)+log(lambda[i,1])+(v-1)*log(A[i,1])-pow(A[i,1],v)
lambda[i,1]<-(K[i,1]*lambda1[i]+(1-K[i,1])*lambda2[i])
*exp(alpha[1]*HDay[Start[i]]+alpha[2]*Purch[Start[i]]+a1[i]*MKT[Start[i]] )
A[i,1]<-(K[i,1]*lambda1[i]+(1-K[i,1])*lambda2[i])* (
exp(alpha[1]*HDay[Start[i]]+alpha[2]*Purch[Start[i]])
*IntTimeBeforeMKT[Start[i]]
+ exp(alpha[1]*HDay[Start[i]]+alpha[2]*Purch[Start[i]]+a1[i]*MKT[Start[i]] )
*IntTimeAfterMKT[Start[i]] )
K[i,1]~dbern( p[i,1] )
KK[i,1]<-1-K[i,1]
# Clustering probability
logit(p[i,1])<-b[i,4]+theta1[i]*log(S[i,1])+theta2[i]*log(N[i,1])
+delta[1]*HDay[Start[i]]+delta[2]*Purch[Start[i]]+a2[i]*LMKT[Start[i]]
S[i,1]~dbern(1)
N[i,1]~dbern(1)
# Latent attrition
W[i,1]<-0
W[i,1]~dbern( q[i,1] )
logit(q[i,1])<-b[i,5]
# Purchase decision
Purch[Start[i]]~dbern( pp[i,1] )
logit(pp[i,1])<-b[i,1]+theta3[i]*log(S[i,1])+theta4[i]*log(N[i,1])
+gamma[1]*HDay[Start[i]]+gamma[2]*LPurch[Start[i]]+a3[i]*LMKT[Start[i]]
for ( j in 2:(NoVisits[i]-1) ) {
zeros[i,j]<-0
zeros[i,j]~dpois( zeros.mean[i,j] )
zeros.mean[i,j]<- (-zeros.ll[i,j])
zeros.ll[i,j]<-log(v)+log(lambda[i,j])+(v-1)*log(A[i,j])-pow(A[i,j],v)
lambda[i,j]<-(K[i,j]*lambda1[i]+(1-K[i,j])*lambda2[i])
*exp(alpha[1]*HDay[Start[i]-1+j]+alpha[2]*Purch[Start[i]-1+j]+a1[i]*MKT[Start[i]-1+j] )
A[i,j]<-(K[i,j]*lambda1[i]+(1-K[i,j])*lambda2[i])* (
exp(alpha[1]*HDay[Start[i]-1+j]+alpha[2]*Purch[Start[i]-1+j] )
*IntTimeBeforeMKT[Start[i]-1+j]
+ exp(alpha[1]*HDay[Start[i]-1+j]+alpha[2]*Purch[Start[i]-1+j]+a1[i]*MKT[Start[i]-1+j] )
*IntTimeAfterMKT[Start[i]-1+j] )
K[i,j]~dbern( p[i,j] )
KK[i,j]<-1-K[i,j]
logit(p[i,j])<-b[i,4]+theta1[i]*log(S[i,j])+theta2[i]*log(N[i,j])
+delta[1]*HDay[Start[i]-1+j]+delta[2]*Purch[Start[i]-1+j]+a2[i]*LMKT[Start[i]-1+j]
S[i,j]<-S[i,j-1]*K[i,j-1]+1
N[i,j]<-sum(KK[i,1:(j-1)])+1
W[i,j]<-0
W[i,j]~dbern( q[i,j] )
logit(q[i,j])<-b[i,5]
Purch[Start[i]-1+j]~dbern( pp[i,j] )
logit(pp[i,j])<-b[i,1]+theta3[i]*log(S[i,j])+theta4[i]*log(N[i,j])
+gamma[1]*HDay[Start[i]-1+j]+gamma[2]*LPurch[Start[i]-1+j]+a3[i]*LMKT[Start[i]-1+j]
}
# The last visit
K[i,NoVisits[i]]~dbern( p[i,NoVisits[i]] )
KK[i,NoVisits[i]]<-1-K[i,NoVisits[i]]
logit(p[i,NoVisits[i]])<-b[i,4]+theta1[i]*log(S[i,NoVisits[i]])+theta2[i]*log(N[i,NoVisits[i]])
+delta[1]*HDay[Start[i]-1+NoVisits[i]]+delta[2]*Purch[Start[i]-1+NoVisits[i]]
+a2[i]*LMKT[Start[i]-1+NoVisits[i]]
S[i,NoVisits[i]]<-S[i,NoVisits[i]-1]*K[i,NoVisits[i]-1]+1
N[i,NoVisits[i]]<-sum(KK[i,1:(NoVisits[i]-1)])+1
zeros[i,NoVisits[i]]<-0
zeros[i,NoVisits[i]]~dpois( zeros.mean[i,NoVisits[i]] )
zeros.mean[i,NoVisits[i]]<- (-zeros.ll[i,NoVisits[i]])
zeros.ll[i,NoVisits[i]]<-log( # The last observed intervist time is right-censored
(1-q[i,NoVisits[i]])*p[i,NoVisits[i]]*exp(-pow(A1[i,NoVisits[i]],v)) +
(1-q[i,NoVisits[i]])*(1-p[i,NoVisits[i]])*exp(-pow(A2[i,NoVisits[i]],v)) +
q[i,NoVisits[i]]
)
A1[i,NoVisits[i]]<-lambda1[i]*(
exp(alpha[1]*HDay[Start[i]-1+NoVisits[i]]+alpha[2]*Purch[Start[i]-1+NoVisits[i]] )
*IntTimeBeforeMKT[Start[i]-1+NoVisits[i]]
+ exp(alpha[1]*HDay[Start[i]-1+NoVisits[i]]+alpha[2]*Purch[Start[i]-1+NoVisits[i]]
+a1[i]*MKT[Start[i]-1+NoVisits[i]] )
*IntTimeAfterMKT[Start[i]-1+NoVisits[i]] )
A2[i,NoVisits[i]]<-lambda2[i]*(
exp(alpha[1]*HDay[Start[i]-1+NoVisits[i]]+alpha[2]*Purch[Start[i]-1+NoVisits[i]] )
*IntTimeBeforeMKT[Start[i]-1+NoVisits[i]]
+ exp(alpha[1]*HDay[Start[i]-1+NoVisits[i]]+alpha[2]*Purch[Start[i]-1+NoVisits[i]]
+a1[i]*MKT[Start[i]-1+NoVisits[i]] )
*IntTimeAfterMKT[Start[i]-1+NoVisits[i]] )
lambda2[i]<-exp(b[i,2])
lambda1[i]<-exp(b[i,2])+exp(b[i,3])
logit(q[i,NoVisits[i]])<-b[i,5]
Purch[Start[i]-1+NoVisits[i]]~dbern( pp[i,NoVisits[i]] )
logit(pp[i,NoVisits[i]])<-b[i,1]+theta3[i]*log(S[i,NoVisits[i]])+theta4[i]*log(N[i,NoVisits[i]])
+gamma[1]*HDay[Start[i]-1+NoVisits[i]]+gamma[2]*LPurch[Start[i]-1+NoVisits[i]]
+a3[i]*LMKT[Start[i]-1+NoVisits[i]]
}
#####################################
#### Customer Heterogeneity
#####################################
for ( i in 1:I) {
b[i,1:5]~dmnorm(mub[],taub[,])
theta1[i]~dnorm(mutheta[1],tautheta[1])
theta2[i]~dnorm(mutheta[2],tautheta[2])
theta3[i]~dnorm(mutheta[3],tautheta[3])
theta4[i]~dnorm(mutheta[4],tautheta[4])
a1[i]~dnorm(mua[1],taua[1])
a2[i]~dnorm(mua[2],taua[2])
a3[i]~dnorm(mua[3],taua[3])
}
#####################################
#### Prior Specification
#####################################
# Assign priors to model parameters
}
CustomerNo[] NoVisits[] Start[]
1 4 1
2 5 5
3 9 10
4 13 19
5 14 32
6 34 46
7 12 80
8 12 92
9 7 104
10 26 111
11 4 137
12 4 141
13 50 145
14 22 195
15 4 217
16 6 221
17 4 227
18 4 231
19 4 235
20 9 239
21 13 248
22 21 261
23 10 282
24 10 292
25 9 302
26 14 311
27 9 325
28 8 334
29 7 342
30 11 349
31 8 360
32 5 368
33 18 373
34 20 391
35 9 411
36 22 420
37 7 442
38 13 449
39 14 462
40 8 476
41 15 484
42 4 499
43 19 503
44 7 522
45 5 529
46 7 534
47 60 541
48 24 601
49 24 625
50 8 649
51 19 657
52 31 676
53 6 707
54 6 713
55 9 719
56 6 728
57 4 734
58 30 738
59 13 768
60 20 781
61 9 801
62 17 810
63 17 827
64 12 844
65 5 856
66 5 861
67 6 866
68 7 872
69 24 879
70 17 903
71 5 920
72 32 925
73 16 957
74 4 973
75 5 977
76 39 982
77 13 1021
78 6 1034
79 4 1040
80 16 1044
81 10 1060
82 29 1070
83 5 1099
84 19 1104
85 11 1123
86 7 1134
87 4 1141
88 7 1145
89 6 1152
90 12 1158
91 50 1170
92 9 1220
93 26 1229
94 42 1255
95 10 1297
96 33 1307
97 16 1340
98 17 1356
99 5 1373
100 23 1378
END
IntTime[] Purch[] LPurch[] HDay[] MKT[] LMKT[] IntTimeBeforeMKT[] IntTimeAfterMKT[]
101.18728 0 0 0 1 0 3.255808761 97.93147492
0.43793 0 0 0 0 1 0.437926149 0
78.98381 0 0 0 1 0 18.63059893 60.35320637
84.64679 0 0 0 1 1 16.64679363 68
11.86966 0 0 0 0 0 11.86965661 0
5.30372 0 0 0 0 0 5.303722704 0
3.77996 0 0 0 0 0 3.779957359 0
10.41298 0 0 0 0 0 10.41298119 0
322.28447 0 0 0 0 0 322.2844734 0
23.65847 0 0 0 0 0 23.65847206 0
51.94094 0 0 0 0 0 51.94094479 0
44.96256 0 0 0 1 0 16.510587 28.45197672
0.35180 1 0 0 0 1 0.351799207 0
0.31278 0 1 0 0 0 0.312776457 0
47.10440 0 0 0 1 0 22.88344762 24.22094858
0.38145 0 0 0 0 1 0.381446307 0
51.76386 0 0 0 1 0 40.39760511 11.36625808
133.63374 0 0 0 0 1 133.6337419 0
3.24970 0 0 0 0 0 3.249703126 0
2.08358 1 0 0 0 0 2.083575907 0
1.39570 0 1 0 0 0 1.395695262 0
1.77537 0 0 0 0 0 1.77536703 0
2.34434 0 0 0 0 0 2.344344133 0
0.88446 0 0 0 0 0 0.884460984 0
2.40175 0 0 0 0 0 2.401746946 0
2.34836 0 0 0 0 0 2.348358876 0
1.03303 0 0 0 0 0 1.033026119 0
2.26494 0 0 0 0 0 2.264936104 0
31.93496 0 0 0 1 0 3.205709838 28.72925366
0.49420 0 0 0 0 1 0.494197677 0
0.53354 0 0 0 0 0 0.533540845 0
0.68428 0 0 0 0 0 0.684282089 0
0.61105 0 0 0 0 0 0.611053546 0
1.39311 0 0 0 1 0 0.947672187 0.445438075
0.34740 0 0 0 0 1 0.347396342 0
7.20717 0 0 0 0 0 7.207165583 0
END
扫码加我 拉你入群
请注明:姓名-公司-职位
以便审核进群资格,未注明则拒绝
|