1  REM  ADBG:  AN ADVERTISING BUDGETING MODEL 7/23/73
2  REM  THIS VERSION WAS PREPARED FOR USE WITH CASTLE COFFEE (B)
3  REM  CASE1:  CASES IN COMPUTER AND MODEL ASSISTED MARKETING:PLANNING
4  REM  36790 REV A, 2/74     ADBUDG, PART 1 OF 5
10  DIM Z$[72],A[10],B[10],C[10],X[20],V[10],W[10],U[11],K[11]
15  DIM J[3,10]
17  DIM P[10],Q[10]
20  DIM E[10],F[10],H[10],T[10],S[10]
27  REM CASTLE COFFEE QUARTERLY DATA (TABLE 4) AT LINE 5000
29  PRINT 
30  Z3=0
35  Z5=0
40  Z4=1
50  PRINT "INPUT WITH DATA STATEMENTS ";
60  INPUT Z$
70  IF Z$[1,1]="N" THEN 120
80  Z3=1
90  READ N,M0,X0,M1,M9,M5,L9,E0,F0
100  READ C1,P1,K[1],U[1],P2
110  GOTO 420
120  PRINT "NUMBER OF PERIODS(MAX 10) ";
130  INPUT N
133  PRINT 
135  PRINT "REFERENCE CASE CONDITIONS"
140  PRINT "MKT SHARE AT START OF PERIOD ";
150  INPUT M0
160  PRINT "ADV RATE TO MAINTAIN SHARE (MM $/PERIOD) ";
170  INPUT X0
180  PRINT "MKT SHARE AT END OF PERIOD"
190  PRINT "  IF ADV REDUCED TO ZERO ";
200  INPUT M1
210  PRINT "  IF ADV INCREASED TO SATURATION ";
220  INPUT M9
230  PRINT "  IF ADV INCREASED 20% OVER MAINTENANCE RATE ";
240  INPUT M5
250  PRINT "MKT SHARE IN LONG RUN IF ADV REDUCED TO ZERO ";
260  INPUT L9
270  PRINT "INDEX OF MEDIA EFFICIENCY ";
280  INPUT E0
290  PRINT "INDEX OF COPY EFFECTIVENESS ";
300  INPUT F0
310  PRINT "CONTRIBUTION PROFIT (BEFORE ADV. EXP.)"
320  PRINT "EXPRESSED IN DOLLARS/SALES UNIT ";
330  INPUT C1
340  PRINT "AVERAGE BRAND PRICE($/UNIT)";
350  INPUT P1
355  PRINT "OTHER DATA:"
360  PRINT "MKT SHARE IN PREVIOUS PERIOD ";
370  INPUT K[1]
380  PRINT "PRODUCT SALES RATE AT START OF PERIOD (MM UNIT/PERIOD) ";
390  INPUT U[1]
400  PRINT "AVERAGE PRICE FOR PRODUCT($/UNIT) ";
410  INPUT P2
420  PRINT 
423  IF Z5=7 THEN 2360
425  PRINT "BUDGET HORIZON CONDITIONS"
430  PRINT "CONSIDER RESPONSE TO PRODUCT CLASS ADVERTISING ";
440  INPUT Z$
450  IF Z$[1,1]="N" THEN 640
460  IF Z3=0 THEN 490
470  READ T0,V0,T1,T9,T5,L8
480  GOTO 620
490  PRINT "PRODUCT SALES AT START OF PERIOD(UNITS/PERIOD) ";
500  INPUT T0
510  PRINT "ADV RATE TO@MAIN(AIN SALES (MM@$/PERIOD) ";
520  INPUT V0
530  PRINT "PRODUCT SALES AT END OF PERIOD :"
540  PRINT "  IF ADV REDUCED TO ZERO ";
550  INPUT T1
560  PRINT "  IF ADV INCREASED TO SATURATION ";
570  INPUT T9
580  PRINT "  IF ADV INCREASED 20% OVER MAINTENANCE RATE ";
590  INPUT T5
600  PRINT "PRODUCT SALES IN LONG RUN IF ADV RED TO ZERO ";
610  INPUT L8
620  Z2=1
630  GOTO 650
640  Z2=0
650  FOR I=1 TO N
670  E[I]=E0
680  F[I]=F0
690  J[1,I]=J[2,I]=1
695  J[3,I]=1
700  P[I]=P1
710  Q[I]=P2
720  C[I]=C1
730  NEXT I
740  PRINT "PRODUCT HAS A SEASONAL OR OTHER NON ADV TIME EFFECT ";
750  INPUT Z$
760  IF Z$[1,1]="N" THEN 870
770  IF Z3=0 THEN 820
780  FOR I=1 TO N
790  READ J[1,I]
800  NEXT I
810  GOTO 870
820  PRINT "INDEX OF PRODUCT CLASS SALES(REF CASE 1.00) FOR PERIOD:"
830  FOR I=1 TO N
840  PRINT I," ";
850  INPUT J[1,I]
860  NEXT I
870  PRINT "BRAND SHARE HAS A NON ADV TIME EFFECT ";
890  INPUT Z$
900  IF Z$[1,1]="N" THEN 995
910  IF Z3=0 THEN 960
920  FOR I=1 TO N
930  READ J[2,I]
940  NEXT I
950  GOTO 995
960  PRINT "INDEX OF NON ADV TIME EFFECT FOR PERIOD :"
970  FOR I=1 TO N
980  PRINT I," ";
990  INPUT J[2,I]
992  NEXT I
995  PRINT "MAINTENANCE ADVTG VARIES";
997  INPUT Z$
1000  IF Z$[1,1]="N" THEN 1020
1002  IF Z3=0 THEN 1012
1004  FOR I=1 TO N
1006  READ J[3,I]
1008  NEXT I
1010  GOTO 1020
1012  PRINT "INDEX OF MAINT ADV (REF CASE =1.00) FOR PERIOD:"
1014  FOR I=1 TO N
1016  PRINT I;" ";
1018  INPUT J[3,I]
1019  NEXT I
1020  PRINT "MEDIA EFFICIENCY VARIES ";
1030  INPUT Z$
1040  IF Z$[1,1]="N" THEN 1150
1050  IF Z3=0 THEN 1100
1060  FOR I=1 TO N
1070  READ E[I]
1080  NEXT I
1090  GOTO 1150
1100  PRINT "INDEX OF MEDIA EFFICIENCY FOR PERIOD "
1110  FOR I=1 TO N
1120  PRINT I," ";
1130  INPUT E[I]
1140  NEXT I
1150  PRINT "COPY EFECTIVENESS VARIES ";
1170  INPUT Z$
1180  IF Z$[1,1]="N" THEN 1290
1190  IF Z3=0 THEN 1240
1200  FOR I=1 TO N
1210  READ F[I]
1220  NEXT I
1230  GOTO 1290
1240  PRINT "INDEX OF COPY EFFECTIVENESS FOR PERIOD:"
1250  FOR I=1 TO N
1260  PRINT I," ";
1270  INPUT F[I]
1280  NEXT I
1290  PRINT "BRAND ADV RATE VARIES ";
1310  INPUT Z$
1320  IF Z$[1,1]="N" THEN 1460
1330  IF Z3=0 THEN 1390
1340  FOR I=1 TO N
1350  READ X[I]
1360  X[I+10]=X[I]
1370  NEXT I
1380  GOTO 1510
1390  PRINT "BRAND ADV (M"'26" DOLLARS) IN PERIOD :"
1400  FOR I=1 TO N
1410  PRINT I," ";
1420  INPUT X[I]
1430  X[I+10]=X[I]
1440  NEXT I
1450  GOTO 1510
1460  PRINT "BRAND ADVERTISING (MM DOLLARS) ";
1470  INPUT X[1]
1475  X[11]=X[1]
1480  FOR I=2 TO N
1490  X[I]=X[1]
1495  X[I+10]=X[I]
1500  NEXT I
1510  PRINT 
1515  Z3=0
1517  Z$[1,1]="N"
1520  PRINT "ACTION CODE :1=OUTPUT,2=CHANGE,3=STOP"
1530  PRINT 
1540  PRINT "ACTION ";
1550  INPUT Z5
1560  PRINT 
1570  GOTO Z5 OF 1580,1600,9999
1580  GOSUB 1620
1590  GOTO 1530
1600  GOSUB 2310
1610  GOTO 1530
1620  B9=M9-M1
1630  D9=(M9-M0)/(M0-M1)
1640  A9=(M1-L9)/(M0-L9)
1650  Y9=D9*(M5-M1)/(M9-M5)
1660  G9=LOG(Y9)/LOG(1.2)
1670  IF Z2=0 THEN 1730
1680  B8=T9-T1
1690  D8=(T9-T1)/(T0-T1)
1700  A8=(T1-L8)/(T0-L8)
1710  Y8=D8*(T5-T1)/(T9-T5)
1720  G8=LOG(Y8)/LOG(1.2)
1730  Z1=1
1740  GOSUB 2110
1750  Z1=0
1760  FOR I2=1 TO N
1770  X[I2]=X[I2]+.05*X0
1780  GOSUB 2110
1790  B[I2]=(P9-A[N])/(.05*X0)
1800  X[I2]=X[I2+10]
1810  NEXT I2
1815  GOSUB 2110
1830  PRINT 
1850  PRINT "PERIO SHARE    PRODUCT     BRAND    CONTR BRAND CONTR CUMUL SLOPE"
1860  PRINT "      PCT       SALES      SALES     BEF   ADV   AFT  CONTR CC$/$"
1870  PRINT "      UNITS UNITS DOLRS UNITS DOLRS  ADV  DOLRS  ADV"
1880  PRINT "             (MM)  (MM) (000) (000) (000) (000) (000) (000)"
1890  PRINT  USING 1900
1900  IMAGE 11("===== ")
1910  FOR I=1 TO N
1920  R1=100*H[I]
1930  R2=T[I]
1940  R3=T[I]*Q[I]
1950  R4=S[I]
1960  R4=1000*R4
1970  R5=S[I]*P[I]
1980  R5=1000*R5
1990  R6=S[I]*C[I]
2000  R6=1000*R6
2010  R7=X[I]
2020  R7=1000*R7
2030  R8=R6-R7
2040  R9=A[I]
2050  R9=1000*R9
2060  R0=B[I]
2070  PRINT  USING 2080;I,R1,R2,R3,R4,R5,R6,R7,R8,R9,R0
2080  IMAGE 2X,2D,2X,2D.2DX,8(5D,1X),2D.2D
2090  NEXT I
2100  RETURN 
2110  P9=0
2120  FOR I=1 TO N
2122  X3=X[I]
2124  X[I]=X[I]/J[3,I]
2130  I1=I+1
2140  U[I1]=U[1]
2150  IF Z2=0 THEN 2180
2160  V[I]=(V0-X0+X[I])/V0
2170  U[I1]=L8+A8*(U[I1-1]-L8)+B8*V[I]^G8/(D8+V[I]^G8)
2180  W[I]=E[I]*F[I]*X[I]/(E0*F0*X0)
2190  K[I1]=L9+A9*(K[I1-1]-L9)+B9*W[I]^G9/(D9+W[I]^G9)
2200  H[I]=K[I1]*J[2,I]
2210  T[I]=U[I1]*J[1,I]
2220  S[I]=T[I]*H[I]
2225  X[I]=X3
2230  P9=P9+C[I]*S[I]-X[I]
2240  IF Z1=0 THEN 2260
2250  A[I]=P9
2260  NEXT I
2270  RETURN 
2310  IF Z4=0 THEN 2360
2320  PRINT "CHANGE CODE :0=NO MORE, 1=MAINT. ADV., 2=MIN. FINAL SHARE"
2330  PRINT "3=MAX FINAL SHARE, 4=FINAL SHARE WITH 20% ADV OVER MAINT"
2340  PRINT "5=LONG RUN MIN., 6=BRAND ADV."
2345  PRINT "7=REFERENCE  CASE COND, 8=BUDGET HORIZON COND"
2350  Z4=0
2360  PRINT "CHANGE ";
2370  INPUT Z5
2380  GOTO Z5 OF 2400,2430,2460,2490,2520,2550,135,425
2390  RETURN 
2400  PRINT "MAINTENANCE ADVERTISING ";
2410  INPUT X0
2420  GOTO 2360
2430  PRINT "MINIMUM FINAL SHARE ";
2440  INPUT M1
2450  GOTO 2360
2460  PRINT "MAXIMUM FINAL SHARE ";
2470  INPUT M9
2480  GOTO 2360
2490  PRINT "FINAL SHARE WITH 20% ADV OVER MAINTENANCE LEVEL";
2500  INPUT M5
2510  GOTO 2360
2520  PRINT "LONG RUN MINIMUM SHARE ";
2530  INPUT L9
2540  GOTO 2360
2550  PRINT "BRAND ADVERTISING FOR PERIOD :"
2560  FOR I=1 TO N
2570  PRINT I,"  ";
2580  INPUT X[I]
2590  X[I+10]=X[I]
2600  NEXT I
2610  GOTO 2360
5000  DATA 4
5010  DATA .054
5020  DATA 1
5030  DATA .045,.063,.0553
5040  DATA 0
5050  DATA 1,1
5060  DATA 2.25,8.6
5070  DATA .055
5080  DATA 22,8.6
5085  DATA .85,1,1.15,1
5090  DATA .8,1,1.2,1
5100  DATA .8,1.2,1.44,1.2
9999  END 
