Citation
A Computer-based corporate modeling system

Material Information

Title:
A Computer-based corporate modeling system
Creator:
Zant, Robert Franklin, 1943-
Publication Date:
Copyright Date:
1972
Language:
English
Physical Description:
xi, 146 leaves. : illus. ; 28 cm.

Subjects

Subjects / Keywords:
Capital costs ( jstor )
Cost of sales ( jstor )
Depreciation ( jstor )
Fixed costs ( jstor )
Keywords ( jstor )
Model theory ( jstor )
Modeling ( jstor )
Overhead ( jstor )
Product lines ( jstor )
Sensitivity analysis ( jstor )
Dissertations, Academic -- Management and Business Law -- UF ( lcsh )
Management and Business Law thesis Ph. D ( lcsh )
Management games ( lcsh )
Simulation methods ( lcsh )
City of Palatka ( local )
Genre:
bibliography ( marcgt )
non-fiction ( marcgt )

Notes

Thesis:
Thesis -- University of Florida.
Bibliography:
Bibliography: leaves 144-145.
Additional Physical Form:
Also available on World Wide Web
General Note:
Typescript.
General Note:
Vita.

Record Information

Source Institution:
University of Florida
Holding Location:
University of Florida
Rights Management:
Copyright [name of dissertation author]. Permission granted to the University of Florida to digitize, archive and distribute this item for non-profit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
Resource Identifier:
022837831 ( AlephBibNum )
14145450 ( OCLC )
ADB0986 ( NOTIS )

Downloads

This item has the following downloads:


Full Text
















A COMP]UTER-BASED
CORPORATE MODELING SYSTEM






By





ROBERT FRANT}LIN ZANT


A DISSERTATION PRESENTED TO T:E GRADUATE COUT'CIL OF
THE UNIVERSITY OF PLORIDA
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE
DECREE OP DOCTOR OF PHILOSOPHY





UNIVERSITY OF FLORIDA
1972






























Copyright by

Robert Franklin Zant

1972






























To Sue, Lynn, and Tina












ACKNOWLEDGMENTS


The writer wishes to express his gratitude to the mem-

bers of his supervisory committee: Dr. William V. Wilmot,

Jr., Chairman; Dr. R. H. Blodgett; Dr. E. L. Jackson; and

Dr. W. E. Stone. They have generously contributed their

time and efforts in assisting the writer in this study.

The writer is particularly indebted to Dr. Wilmot,who

as a professor, department head, and supervisory committee

chairman, has contributed immeasurably to the writer's

graduate studies.

Mr. John Kisner, Mr. Joe Gothe, and Mr. Tom Cox of the

Riegel Textile Corporation have also provided much-needed

advice and encouragement throughout the course of this study.

Finally, the writer wishes to acknowledge the self-

denial which was graciously accepted by his wife, Sue, and

daughters, Lynn and Tina. Special appreciation is extended

to his wife who typed all drafts and the final manuscript

for this study.













TABLE OF CONTENTS


Page


ACKNOWLEDGMENTS


LIST OF TABLES. . . . . . . .

LIST OF FIGURES . . . . . .

ABSTRACT. . . . . . . .


. . vii

. . . viii


CHAPTER


I. INTRODUCTION. . . . . . .

Definition of Corporate Models. .
Functions of Corporate Models . .
Developments in Corporate Modeling.
Purpose of Study. . . . . .
Methodology . . . . . .
Overview. . . . . . .

II. MODELING SYSTEMS. . . . . .


. . . 1


* .
* .
* .


Desirable Characteristics of Modeling Systems
State of the Art. . . . . . . .

III. A CORPORATE MODELING SYSTEM . . . . .

Overview of CMS/1 . . . . . . .
General Design Concepts . . . . . .
Control Language . . . . . . .
Logic and Data Specification Language . .
Report Format Specification Language. . .

IV. IMPLEMENTATION OF CMS/ . . . . . .

Deterministic Model . . . . . . .
Sensitivity Analysis . . . . ..
Monte Carlo Simulation. . . . . . .
Interrelated Models . . . . . . .


V. SUMMARY AND RECOMMENDATIONS . . ..

Summary . . . . . . . .
Recommendations for Further Research.


S. 109

S. . 109
. . 110


. .


. . . . . . . .


. . .







TABLE OF CONTENTS

(continued)

Page

APPENDIX A. . . . . . . . . . . 113

BIBLIOGRAPHY. . . . . . . . . . 144

BIOGRAPHICAL SKETCH ............ . .. 146











LIST OF TABLES


Page
1. Summary of Characteristics of
Five Modeling Systems . . ... . 27

2. Summary of Control Language Keywords . . 50

A-1. Special Characters in the CMS/1
Languages . . . . . . . . 121

A-2. Summary of Operators in the Logic and
Data Specification Language . . . 128


vii













LIST OF FIGURES


1. Logical organization of CMS/1. . . .

2. Sample data module . . . . . .

3. Sample logic module. . . . . .

4. Sample report module . . . . .

5. Output from sample model . . . .

6. Sample deterministic model . . . .

7. Results with sum-of-the-years digits
depreciation . . . . . .

8. Results with double declining balance
depreciation . . . . . .

9. Addition to sample model for sensitivity
analysis . . . . . . .

10. Results of sensitivity analysis for the
initial market size. . . . .

11. Results of sensitivity analysis for the
maximum market share . . . .

12. Types of distributions accepted by CMS/1

13. Additions to sample model for Monte
Carlo simulation . . . . .

14. Results of Monte Carlo simulation. . .

15. Logic and report modules for products.

16. Data modules and execute statements
for products . . . . . .

17. Model results for Division One,
Product One . . . . . .

18. Model results for Division One,
Product Two . . . . ..


Page

. . 29

* . 30

. . 31

* . 32

* . 34

. . 65


. 78

. 84


S86

S 88

S 92


S 94


S 96


S 97


viii


* *


* *


* *


* *


. .

* .






LIST OF FIGURES

(continued)
Page


19. Model results for Division Two, Product One... 98

20. Model results for Division Two, Product Two. 99

21. Logic and report modules for divisions . .. 101

22. Data modules and execute statements for
divisions. . . . . . . . ... 102

23. Model results for Division One . . ... 103

24. Model results for Division Two.. . . .. 104

25. Complete corporate level model .. . . 106

26. Results for corporate level model. . . . 108

A-1. Schematic of CMS/1 translation pass. . . 116

A-2. Schematic of CMS/1 execution pass. . . 117

A-3. Example model. . . . . . . .118

A-4. Results from example model . . . . . 119






Abstract of Dissertation Presented to the Graduate Council
of the University of Florida in Partial Fulfillment of
the Requirements for the Degree of Doctor of Philosophy

A COMPUTER-BASED CORPORATE MODELING SYSTEM

By

Robert Franklin Zant


August, 1972



Chairman: Dr. William V. W'ilmot, Jr.
Major Department: Department of Management ahd Business Law


The use of formalized computer-based models in the

management of a firm has been primarily concentrated in

operational areas. There is, however, a growing interest in

the development of models which are broader in scope than

operational models. Models which interrelate all areas of

the firm.- production, finance, and marketing are called

corporate models.

Past efforts in the area of corporate modeling have

demonstrated the need for special purpose computer languages

which facilitate the construction of corporate models. The

purpose of this study is to determine the desirable charac-

teristics of such languages and then to develop prototype

languages which supply the facilities necessary to support

a corporate modeling effort.

A modeling system is developed which is composed of

three languages a control language, a logic and data

specification language, and a report format specification

language. Some of the features of the new system are





1) a high level of user orientation; 2) the ability to per-

form sensitivity analysis; 3) the ability to perform Monte

Carlo simulations; and, 4) the ability to transfer the

values of variables from one model to another.

The high level of user orientation of the modeling

system developed in this study makes the system particularly

well suited for the initial modeling effort of a firm, for

the development of exploratory and/or short-life models,

and as a pedagogical aid in introducing managers to the

concept of modeling.












CHAPTER I

INTRODUCTION


One of the fundamental concepts in management theory

is the concept of models. Managers use models everyday in

forming opinions and in making "intuitive" judgments as well

as in making decisions "scientifically." Indeed, everyone

interprets hi s perceptions in accordance with a conceptual

or mental model known as the person's "view of the world."

Many psychologists maintain that if a person's "view of the

world" can be understood then his behavior can be predicted.

And, a person's behavior can be altered by altering his con-

ceptual model. The implication for management scientists is

that they should be concerned with the formalization of the

models which managers are currently using (a positive theory)

and the models which managers should be using (a normative

theory). Management theory would thus form a base for the

improvement and the development of management techniques.

The formalization of models used by management has been

mostly concentrated in operational areas such as production

scheduling and inventory control systems. Operational prob-

lems are more easily formalized because they tend to be re-

petitive in nature and more well structured than other mana-

gerial problems. There is, however, a great deal of inter-

est in the development of models which are broader in scope







than operational models, models which consider the total

corporation; i.e., corporate models.

Definition of Corporate Models

The activity in the area of corporate modeling has been

so diverse that one author has concluded that there is "no

generally accepted definition of a corporate model..."[11,

p. 43]. Models reported in the literature have varied from

marketing oriented models [12] to production oriented mod-

els [2] to models used only in investment analysis [20 21].

In most cases, however, the models which are purported to

be corporate models have the common trait of considering

the impact of an action over the total organization. This

is usually accomplished by considering the impact on the

corporate financial statements; i.e., the income statement,

the balance sheet, cash flow statement, etc.

The most trivial corporate model would simply be the

relationship "corporate income equals total revenue minus

total expenses." This simple model would be utilized by

estimating the effect of a proposed action on revenues and

on expenses and then computing the estimated corporate in-

come. Of course, a model at this level of aggregation would

be of little use. In order to make the model more meaning-

ful, the detail of the model may be increased by segmenting

the revenues and expenses by divisions and by products.

The model would then consist of relationships such as "cor-

porate income equals the sum of the divisions' net incomes

minus corporate expenses" and "a division's net income






equals the sum of the net contributions per product minus

divisional expenses." The model could then be used to

study the effect of alternatives such as the reallocation

of advertising funds among products; or the effect of a new

pricing policy; or, if the model were sufficiently detailed,

the effect of a change in the production process. In this

way the corporate model could be used to analyze the effects

of various alternative actions on the entire corporation.


Functions of Corporate Models

The functions of corporate models have been defined in

varying ways by several different authors [see 16; 9; 13; and

7]. However, the functions may be generally classified into

three groups. First, corporate models serve as a focus for

planning and decision-making efforts; second, they assist in

the analysis of alternative courses of action; and, third,

they assist in the coordination of the firm's planning and

decision-making activities.

A corporate model serves as a focus for planning and

decision-making efforts during the developmental stage of

the model and serves as a continuing focus as the model is

being used. The development of a corporate model requires

the clear and precise specification of the inter-relation-

ships between elements within the firm. Since the model

is a representation of management's concept of the firm,

the creation of the model will highlight the areas in which

the manager's conceptual models are "fuzzy" or ill-defined.

By focusing attention on these areas, the model encourages







management to clarify their perceptions of the functional

inter-relationships in the organization. The creation of

the model thereby causes management to re-examine and to

improve their understanding of the firm. The continual use

of the model then both encourages and guides the re-evalua-

tion and improvement of this understanding [16, p. 611].

The rephrasing of management's perceptions in the form

of a model also has the effect of defining the information

needed in the planning and decision-making process. "As a

matter of fact, the approach used to develop a corporate

model is very similar to the method used to develop the re-

quirements for an information system, e.g., the identifica-

tion of key variables" [9, p. 33]. A model would define,

for example, the classification of costs or the form of in-

formation such as market forecasts which are needed for

managerial planning and decision-making.

Perhaps the most obvious function of corporate models

is that they may be used in the analysis of alternative

courses of action. A corporate model represents a compre-

hensive and interrelated view of the firm. Consequently,

the use of such a model broadens the scope of the analysis

of an alternative both in terms of the organizational unit

and the time span considered. That is, it is possible to

investigate the long-term effects of an alternative on the

entire organization. Furthermore, since corporate models

are usually solved with little delay by use of a computer,

more alternatives can be considered than would be otherwise

possible. Of course, the shorter response time could be







used to make decisions more rapidly instead of being used

to allow the consideration of more alternatives. Or, a

decision may be delayed until more information is available.

In any event, the use of a corporate model has a significant

impact on the managerial process.

The use of the computer in solving corporate models

also has the advantage of improving the analysis of alter-

natives through improved accuracy, through the determination

of critical variables, and through risk analysis.

Although the saying "Garbage In-Garbage Out" is cer-

tainly true with respect to computers, it is also true that,

given correct information and a correct formulation of the

procedure to be followed, the computer is much less prone to

error than arc humans. This increased accuracy is essential

in a corporate modeling effort because of the number of ma-

nipulations and the magnitude of the data base which is

involved.

The use of a corporate model in conjunction with sensi-

tivity analysis aids in the determination of the critical

variables for a particular decision. Sensitivity analysis

is accomplished by repeatedly solving a model with the value

of one input variable being changed between each solution.

If the behavior of the model changes significantly for small

changes in the input variable, then the system is said to be

sensitive to the value of the input variable. By carrying

out sensitivity analyses over many input variables, the

critical variables may be determined. More effort can then

be expended in estimating and controlling the critical







variables.

Corporate models may also be used in analyzing the risk

involved with the acceptance of various alterations. This

is usually accomplished by the use of Monte Carlo simulation.

Monte Carlo simulation refers to the process of sampling

from probabilistic variables and then using the sample val-

ues in solving a mathematical model. The sampling-solution

process is repeated numerous times in order to develop a

distribution of the responses of the model. In the case of

a corporate model the distribution would typically describe

the profitability of an alternative. The distribution

would depict the risk associated with the alternative by

disclosing the probability of loss as well as the probabil-

ity of receiving less than acceptable returns.

The third function of corporate models is the coordina-

tion of planning and decision-making activities. The devel-

opment of a corporate model requires the explicit considera-

tion of the assumptions that are to be made, the explicit

statement of the inter-relationships that are to be con-

sidered, and the specification of the information which is

needed. By unambiguously specifying the relationships

among variables and the values of variables, a model repre-

sents a common view of the firm which all managers can

comprehend. Planning and decision-making activities are

thereby undertaken with all parties having a common frame

of reference. As McKenney puts it, a model "is discernible

to a variety of managers and therefore discussible" [16,

p. 600].







Models also assist in coordination by virtue of their

comprehensiveness. When an alternative is analyzed, its

effect on the whole firm is considered. If a new policy

is to be considered, "it is possible to study how it re-

verberates and affects the entire company" [9, p. 33].

The use of models can also improve the consistency of

decision-making throughout the firm. The use of a model

over time and the use of a model by different areas in an

organization insures that the same variables are considered

in each decision-making process. If a process and model

are changed, then the new model would represent an explicit

statement of the new assumptions and criteria that are to

be used.

This broad use of modeling for consistency in decision-

making is exemplified by the Monsanto Company. The Mon-

santo Company has developed a modeling language which

affords them a convenient though advanced modeling capa-

bility. Monsanto now requires that all proposals for large

capital projects contain the results of sensitivity and

risk analysis [4, p. 12]. Proposals from all areas of the

firm can now be compared on the basis of common economic

assumptions.

In review, corporate models function as a focus for

the initial activity in a planning effort and as a focus

for the continued improvement of such efforts. Corporate

models aid in the analysis of alternatives because the

use of a computer allows the rapid analysis of complex







models. Corporate models also assist in the determination

of critical values through sensitivity analysis and the

consideration of risk through Monte Carlo simulation.

Finally, corporate models assist in the coordination of

planning and decision-making activities throughout the

organization.

Developments in Corporate Modeling

The construction of formalized corporate models is a

relatively new endeavor. The first modeling efforts began

in the late 1950's, but widespread interest in corporate

modeling did not develop until the late 1960's [9, p. 29].

The recent growth in corporate modeling seems to be a re-

sult of the fact that the initiation of a corporate model-

ing effort is usually an extension of a firm's formal cor-

porate planning activities. Thus, the interest in modeling

has lagged the interest in formal planning vhich experienced

a rapid growth in the late 1950's and early 1960's [9,

p. 30].
Corporate modeling has also been found to be an expen-

sive endeavor. The construction of most models has required

the expenditure of several man-years of effort. One large,

sophisticated model required a total of 23 man-years for

development [10, p. 44]. The large investment necessitated

by a corporate modeling effort has led to the development

of generalized models and to the development of specialized

modeling languages.

The generalized models are usually relatively simple






models which produce pro forma statements according to

common accounting definitions. They allow a varying degree

of freedom in the input of data but allow little or no

freedom in specifying the logic of the model or the form

of the output. Such models have a limited utility since,

in order to gain generality, the models sacrifice detail.

Several corporations such as IBM [14, 19] Dow

Chemicals [17], On-Line Decisions [2], and Monsanto [4] have

developed specialized modeling languages or modeling systems

which are designed to decrease the cost of developing a

corporate model. Modeling systems are not corporate models

themselves, but rather assist in the development of cor-

porate models by providing data structuring routines, pre-

defined mathematical routines, and report writing routines.

IBM's Planning Systems Generator (PSG), for example, pro-

vides a data structure which can contain over 10,000 values,

provides routines for computing the depreciation and the

retirement of investments, and provides capabilities for

printing reports complete with titles and column headings.

These specialized languages, while representing a major

improvement in modeling capabilities, have tended to be

oriented more towards the computer specialist than towards

the manager. Most managers would have difficulty in inter-

preting a corporate model when expressed in one of the

specialized languages. For example, in order to use PSG

the user must be capable of programming in the FORTRAN lan-

guage. Thus, language development has not yet attained the

desirable quality of allowing "the modeler and planner to





10

conceptualize the simulation model in the language it is to

be programmed" [15, p. 172].


Purpose of Study

The purpose of this study is to further the development

of modeling languages that can be used in constructing cor-

porate models. A modeling system consisting of three lan-

guages will be developed which will provide facilities for

data structuring, logic formulation, and report writing.

The system will be comprehensible to managers so that

a model will not have to be interpreted for the manager by

a computer specialist. This user orientation will make the

system particularly well suited for the initial modeling

effort of a firm, for the development of exploratory and/or

short-life models, and as a pedagogical aid in introducing

managers to the concept of modeling.


Methodology

This study will review the literature to determine the

characteristics of currently available modeling systems and

to determine the desirable characteristics of such systems.

A new modeling system will then be developed which supplies

the facilities necessary to support a corporate modeling

effort while retaining a high level of management orienta-

tion.


Overview

The results of this study are reported in four sections.

The first chapter introduces the concept and describes the







functions of corporate models. The growth of corporate

modeling activity is also reviewed. The purpose of this

study is given to be the development of a corporate model-

ing system that is suitable for use in a variety of model-

ing efforts including use as a pedagogical device.

The second chapter describes the desirable characteris-

tics of a modeling system. Several modeling systems current-

ly in use are discussed and are compared in relation to the

desirable characteristics which have been defined.

The third chapter introduces the corporate modeling

system which was developed in this study. General design

concepts are discussed, and then the three languages which

comprise the corporate modeling system are described.

The fourthchapter presents examples of the use of the

modeling system discussed in the previous chapter, while the

fifth chapter presents the conclusions of this study and

recommendations for future research.












CHAPTER II

MODELING SYSTEMS


The initial modeling effort of most firms has been ex-

pended in the development of individualized models [see 18;

4; and 3]. The individualized models could be executed

with different data, but the logic and the reports printed

by the models were "set in concrete.". The logical structure

and the report formats could only be altered with considera-

ble difficulty by reprogramming the model. This was found

to be an important deficiency, since model building is an

evolutionary process. Models are continually altered to

reflect new requirements and changing situations. As Mc-

Kenney states, "An adaptable and changing model is essential

if the model is to be used over an extended period of time"

[15, p. 170]. Thus, the initial modeling efforts high-

lighted the deficiency of the individualized model approach

and, in so doing, helped define the capabilities required

of corporate modeling systems.


Desirable Characteristics of Modeling Systems

The previous discussion of the functions of corporate

models indicated the necessity for the integration of the

modeling effort with the management process. That is, the

models should reflect the manager's view of the organization;

and,hence, the managers should be intimately involved in the






construction and operation of the models. The major diffi-

culty encountered in accomplishing this integration has been

the problem of interfacing managers and computers. McKenney

summarizes the problem thusly,

An impediment to more adequate rapport be-
tween modeler and planner is the state of pres-
ent computer languages. The language of the
program for the model has to be interpreted to
the planner. This interpretation creates am-
biguities and misunderstandings which limit the
effectiveness of present simulations as a tool
for most planners. Hopefully new computer lan-
guages will allow the modeler and planner to
conceptualize the simulation model in the lan-
guage it is to be programmed [15, p. 173].

Modeling systems consist of computer languages and data-

handling routines that simplify the construction of models

and facilitates the manager-computer interface. The desira-

ble characteristics of such systems may be summarized as

follows:

1. The modeling system should be comprehensible to

managers.

2. The logical structure of a model should be easily

translated into computer executable form.

3. The modeling system should have convenient report

generation capabilities.

4. The specification and the alteration of the values

of input variables should be easily accomplished.

5. The creation of the logical structure of a model,

of the report format, and the value of variables

should be independent.

6. The modeling system should support the performance

of simple logical and arithmetical tasks as well





14

as providing the capability of performing special

purpose calculations such as the discounting of

cash flows.

7. The modeling system should facilitate the perform-

ance of sensitivity analyses.

8. The modeling system should facilitate the perform-

ance of Monte Carlo simulations.

9. The communication of the values of variables among

models should be supported.

10. The modeling system itself should be alterable and

expandable.

The first requirement of a modeling system is that the

conceptual design of the system and the use of the system

be comprehensible to managers. A manager should be able to

understand the structure of the system and to develop un-

sophisticated models with a minimum amount of training.

Also, a manager should be able to comprehend the logical

structure ofa model created by others. This requirement

does not mean that all managers will actually be physically

creating computer-based models; nor does it mean that tech-

nically competent personnel will no longer be needed. What

is implied is that managers will be better able to inter-

face with technical personnel and with computers because

the modeling system will function as a common language.

In order for a modeling system to fulfill its role as

a common language, it must provide convenient methods for

the creation and manipulation of the three components of a

model the logical structure, the data structure, and the






reports. The logical structure should be easily expressed

in an "English-like" language that is both understandable

by humans and executable by computers. For example, the

sentence


MARGINAL INCOME EQUALS SALES MINUS VARIABLEEXPENSES


is comprehensible to managers and is an executable state-

ment under the corporate modeling system introduced in the

next chapter.

The data structuring capabilities are an important part

of a modeling system since most models are executed over

time periods rather than for just one time period. For ex-

ample, a budgeting model might be executed for twelve time

periods (i.e., twelve future months),while a long-range

planning model might be executed over five periods corres-

ponding to five future years. A modeling system should thus

accommodate a varying sized data structure.

The need for convenient report generation capabilities

might at first appear to be simply a convenience item, al-

most a "frill," since any computer output could be copied

over into a meaningful form for managers. But a report

generator is more than just a convenience item. The concept

of a modeling system is to increase the integration of

models into the management process by improving the inter-

face between managers and computers. This interface is a

two-way interface; the manager supplies information for the

computer and gets information out of the computer. The

objective is to lessen the need for intermediaries in both







cases. Thus, the output should not have to be interpreted

for the manager. Also, a report generator makes it easy to

alter the formats of reports to reflect changes in the

logical structure of models and new needs for information.

The fifth characteristic summarized above was that the

three components of a model (logic, data, and report) should

be created independently. This does not mean that the three

components are unrelated. Rather, the three components

should be created separately and then linked together when

the model is to be executed. This will allow different data

to be executed with the same logic, different logic to be

executed with the same data, and different reports to be

printed with appropriate logic-data combinations.

The sixth characteristic presented above is, of course,

the primary raison d'etre of models and modeling systems.

The purpose of a model is to perform some prescribed calcu-

lations which will assist the manager in his planning and

decision-making activities. A modeling system must thus

provide the capability of performing logical and arithmeti-

cal tasks and provide certain special purpose functions that

are commonly required in the business environment.

The modeling system should also provide capabilities

beyond simple arithmetical tasks by supplying facilities

for the performance of sensitivity analyses and Monte Carlo

simulations.

Sensitivity analysis requires that a model be repeated-

ly executed with a different value for a particular variable

being used in each execution. The modeling system must





17

therefore provide the facility for denoting the variable to

be used in the sensitivity analysis as well as the succes-

sive values it is to assume.

The requirement for the support of Monte Carlo simula-

tions is much more involved than the requirements for sen-

sitivity analysis. Monte Carlo simulation require repeated

executions as does sensitivity analysis, but it also re-

quires two further capabilities. First, some of the vari-

ables in the model must be expressed as random variables

which either conform to a mathematical distribution (e.g.,

a normal distribution) or conform to some empirical distri-

bution. Secondly, the results of the repeated executions

must be accumulated so that the relative frequency of the

occurrence of the different values for a particular variable

may bo determined. The report generating routines should

then have the capability of depicting these relative fre-

quencies.

A corporate model is typically composed of an inter-

related set of models. For example, a corporate model may

consist of a number of product models whose outputs are

summarized by divisional models whose outputs are in turn

summarized by a model for the total corporation. This

modularization of a corporate model is desirable for a num-

ber of reasons. Modularization allows for some areas of

the organization to be modeled in more detail than others,

allows more decentralization in the development and use of

the models, aids in the alteration and maintenance of the

models, and allows the independent execution of parts of







the corporate model.

The subdivision of a corporate model also gives rise

to a requirement for the ability to communicate the values

of variables among models. The values computed in one

model must be saved in such a manner that they may be ac-

cessed by a model which is executed later. In this way

models for different products may be executed with their

results being saved and later accessed by models which sum-

marize the performance of each division. Likewise, a model

could access values computed by the divisional models and

then summarize the performance of the total organization.

A final requirement of a modeling system is that it

should itself be amenable to alteration and expansion. As

a modeling system is used and as the modeling effort becomes

more sophisticated, it is likely that there will be a need

for capabilities which were not foreseen at the time of the

original development. This growth has been exemplified by

IBM's PSG which was revised to increase the number of

special purpose mathematical routines and to improve the

data strucuturing capabilities. Likewise, the Dow Chemical

Company's PSI has a history of continual alteration and ex-

pansion and is currently being completely rewritten [17].

The original development of a modeling system is the be-

ginning rather than the end. Thus, a modeling system should

be designed for alteration and expansion.


State of the Art

Although a number of corporate models and modeling:




19

systems have been reported in the literature, little detailed

information has been reported. Gershefski has presented in

detail the Sun Oil Company's corporate model [10]. Then

later, in studying the state of the art, he concentrated

more on general attributes such as the number of firms en-

gaged in the modeling activity, the organization and re-

sources required for a successful modeling effort, and the

general characteristics of models [9]. Dickson, Mauriel,

and Anderson have summarized with a bit more detail their

study of twenty models [5]. But, in general, corporate

modeling activity has not been reported in much detail.

In addition to the lack of reported detail, another

difficulty in determining the state of the art is the lack

of distinction in the literature between models and modeling

systems. Dickson et al. distinguish between two "philoso-

phies" of models the rigid structure approach versus the

flexible structure approach but fail to clearly distin-

guish modeling systems.

One philosophy exemplified by our findings noted
above is to adopt a fixed structure model approach
which forces the user to employ existing accounts,
fixed output reports, and a limited set of options
for attaching values to variables in the model.
There is an alternative philosophy--namely, to
build a more general and flexible model which al-
lows the user considerable latitude in choosing
model variables and methods for setting their
values over the projected horizon [5, p. 53].

Rigid or fixed structure models predefine the variables

which are used in the model, predefine the method for assign-

ing values to the variables, and predefine report formats

for the printing of variables. Most corporate models appear







to be of this type [5, p. 58].

A rigid structure model is difficult to alter in re-

sponse to changing situations so that it is desirable to

have a more flexible model structure. Flexibility is usu-

ally obtained by allowing the user to specify the "names"

of the variables used in the model, by allowing the user to

design the format of reports, and by allowing alternative

methods for assigning values to variables (e.g., the ex-

plicit statement of all values, the specification of be-

ginning values and growth rates, or the specification of a

variable as a function of another variable). Flexibility

is also obtained by allowing the input of values to override

values which would normally be calculated. Using these

techniques, considerable flexibility can be built into a

model in that the meaning of the variables, the logic of the

model, and the reports produced by the model can be altered.

There are a number of models of both the rigid and

flexible structure type reported in the literature. Two

easily compared models which are described in sufficient

detail in the literature are the rigid structure model de-

veloped by Dinter [6] and the flexible structure model

FINAN$ developed by General Electric [8]. Both models are

interactive financial models which produce pro forma income

statements, balance sheets, ratio analysis, etc. The logic

in both models is based upon general accounting definitions.

In the Dinter model the logic, variables, and reports

are predefined. The user interacts with the model by speci-

fying the values of variables and then noting the response







evidenced by the printed statements. The user can then

change some of the values of the variables and re-execute

the model. The user is assisted in this process by excep-

tion reports which highlight "out of bounds" conditions and

list possible causes for the exceptions.

The General Electric model does not have the exception

reporting feature but does allow the user more flexibility

in the application of the model. For example, the values

of variables may be assigned in several different ways.

There are three options for specifying the values of antici-

pated sales and four options for specifying the values of

other accounts. Two of these four options allow the user

to express the value of an account as a function of sales

and/or the change in sales. Thus the user has a limited

ability to create some of the logic of the model. There is

also flexibility, though limited, in the specification of

reports. The typesof reports and their formats are prede-

fined, but the user can specify the title that is printed

for each account.

A modeling system is different in philosophy from

either a rigid or flexible structured model. A modeling

system is a set of special purpose computer languages and

facilities which facilitate the construction, alteration,

and execution of models. It is not itself a corporate

model; it is used in the construction of corporate models.

A number of corporate modeling systems have been de-

veloped and reported in the literature. Several of these

systems are reviewed below with the intent of providing a







representative though not exhaustive view of the available

corporate modeling systems.

Perhaps the most widely used corporate modeling system

is the Planning Systems Generator (PSG) developed by Henry

Lande of IBM [14]. PSG consists basically of data input

and data structuring routines, report generation routines,

and arithmetic functions which can be incorporated into a

corporate model. The logic of a model is expressed in the

FORTRAN computer language. PSG is, undoubtedly, one of the

best corporate modeling systems currently available. It

does, however, have some limitations.

The foremost shortcoming is that the modeler must be

capable of programming in the FORTRAN computer language.

FORTRAN is not an extremely difficult language to learn but

it is algebraically oriented rather than being "English"

oriented. This is particularly bothersome in that variables

must be referenced by position rather than by name. For

example, the value of sales cannot be referenced by simply

referring to "SALES," rather the position in a table of values

must be known so that the values can be referenced by speci-

fying the appropriate line number in the table. The user

must thus coordinate the values, the positions, and the

meanings of variables.

Two other limitations of PSG are that there are no

built-in capabilities for the performance of sensitivity

analyses and Monte Carlo simulations. Sensitivity analysis

can, of course, be accomplished by the user repeatedly ini-

tiating the execution of a model after he has altered the




23

value of a variable. It is more desirable, however, for the

user to be able to initiate execution only once and have the

system automatically perform the sensitivity analysis for a

designated variable.

The support required for Monte Carlo simulation is more

involved and cannot easily be compensated for by simple re-

petitive executions. Monte Carlo simulation requires many

more repetitions than does a sensitivity analysis. It is

therefore desirable for the modeling system to be capable of

performing Monte Carlo simulations. This requires the capa-

bility of expressing variables as random variables, the

capability of selecting a value of the random variables to

be used in the calculations, and the capability of counting

the number of occurences of various outcomes. These capa-

bilities are not supported by PSG.

Another modeling system, the Financial Analysis and

Planning System (FAPS), developed by On-Line Decisions, Inc.

has capabilities similar to PSG [2]. In addition, PAPS has

the capability of performing sensitivity analyses and has

extensive capabilities for the statistical and mathematical

manipulation of time series data. But, just as with PSG,

the user must reference variables by position rather than

by the use of a meaningful name; and FAPS does not support

Monte Carlo simulations.

The Dow Chemical Company has developed a modeling sys-

tem called Planning Simulator 1 (PS1) in which variables

may be referenced either by position or by a one to six

character name [17]. PS1 is not, however, as versatile a






system as PSG or FAPS.

One of the major inconveniences of PS1 is that arith-

metical operations cannot be performed in series. For

example, the PS1 statement


Y = ADD(A,B)


denotes that the variable Y should assume a value equal to

the value of A added to the value of B. Likewise, the

statement


Z = SUB(Y,W)


denotes that the variable Z should assume a value equal to

the value of Y minus the value of W. Thus Z would have the

value of A plus B minus W. But the operations "ADD" and

"SJB" cannot be used in series to compute the value of Z

directly. Consequently, either all computations would have

to be broken down into single operations or a multitude of

special operations must be created. PS1 has evolved in

accordance with the latter approach so that there are cur-

rently over one hundred operations in the PS1 language. To

become proficient in the use of the language, the user would

have to familiarize himself with each of these operations.

Another problem in using PS1 is that there appears to

be no convenient method for saving the results from the

execution of a model and then later accessing the results

as inputs into another model. Values can be transferred

from one model to another only when the executions of the

models are contiguous. This is a significant handicap in







corporate modeling since a set of models is often used to

summarize plans on a product-division-corporation continuum.

Without the capability of permanently saving results, the

entire set of models must be run whenever any change is made.

Another shortcoming of PS1 is that the specification of

report formats is integrated with the specification of logic.

Thus, the user is not free to mix logic, data, and report

modules at the time of execution. And, if a report is to

be changed, the logic-report module must be altered.

Finally, PSI, like IBM's PSG, lacks the capability to

automatically perform sensitivity analyses and Konte Carlo

simulations.

A fourth modeling system, the CAPEX Corporation's

AUTOTAB is an interactive system available on General Elec-

tric's Time Sharing Service [1]. AUTOTAB is a relatively

simple system to use and has the advantages of referencing

variables by name and transferring values among models by

storing and retrieving them from permanent files.

One limitation of AUTOTAB is that reports, data, and

logic are contained in a single "package" so that the "pack-

age" must be altered to change any of the components. Also,

a common report could not be used with two different logic

components without duplicating the report specifications.

In addition, AUTOTAB does not support sensitivity

analyses and Monte Carlo simulations.

A final modeling system, reported by Buchman, is Mon-

santo's APEX system [4]. APEX was designed for use in

creating special purpose models rather than for use in





26

building a total corporate model. The system seems to be an

excellent system for its intended use. It obtains a higher

level of user orientation than all the other systems men-

tioned except AUTOTAB. It is simple to understand and easy

to use and yet offers advanced capabilities for sensitivity

analyses and Monte Carlo simulation.

APEX is not as well suited, however, for use in cor-

porate modeling when an interrelated set of models is used.

APEX does not allow the independent creation of logic, data,

and report modules and does not support the transfer of

values among models.

The previous discussion of five representative modeling

systems is summarized in Table 1. The systems are compared

in terms of a few major design concepts with no attempt

being made to discuss the details of implementing any of the

systems. However, the reported usage of PSG and FAPS has

shown that sophisticated modeling systems can be incorporated

into planning and decision-making activities and can make

significant contributions to these efforts. On the other

hand, systems such as AUTOTAB and APEX have demonstrated

the desirability and practicality of maintaining a high

level of user orientation. The next chapter describes a

modeling system that attempts to combine these two lessons.












0 10
02a


0 02,
zr 02


0 0
02a


0 O
o <",
R a


0 0 0
s O o V)
~ r, i= a


0 0 02
S S V>
i= Z >i


0 0 0 0 0
O K O


4'd (
02






-40
cxi0

H
S0



4xi 02
0 20
krg








OH
oa


k C
0 -.r
o CO


SP
oH H
4-3
*H 02



.r


I


cU
0

0 -H
04-
H cd
,--

dr-l


., -


r (.)
.H

1 rI
p44

4 0
0 2


4 0


*H 02
4> cd

4-H
ct E-'
co

*-H 0

024->
cM
Paw



43 4
0

> 0o


0 02


o0













C)
i-,-






0
43
















Pik F
-10
*H
* Hr







IOf





P L4
C H
o a)


Cxi CO

02








* em

*










CHAPTER III

A CORPORATE MODELING SYSTEM


This chapter describes a corporate modeling system

named CMS/1. The structure and the operating characteris-

tics are described first. Second, the major design concepts

of the system are discussed. Finally, more detailed expla-

nations of the characteristics and the use of the system

will be given.

This chapter is intended to be an introduction to the

concepts, capabilities, and use of CMS/1. It is not in-

tended to supply all of the details necessary for the use

of CMS/1. A USER'S MANUAL which does supply such detailed

information is contained in Appendix A.


Overview of CMS/1

The logical organization of CMS/1 is depicted in Fig-

ure 1. The user originates logic, data, and report modules

in the appropriate CMS/1 languages, i.e., the logic and data

specification language or the report format specification

language (see Figures 2, 3, and 4). Then the modules are

entered, usually via cards, into CMS/1 where they are trans-

lated into a more conveniently executed form and stored ona

magnetic disk. The user can then give a command for specif-

ic logic, data, and report modules to be retrieved from the

disk, combined into a complete model, and executed.

















CMS/1


Translatio)
Pass


User


CMS/1
Execution
Pass


Figure 1. Logical organization of CMS/1.


Saved
Results


























*DATA PRODUCT_DATA PERIODS 1 TO 5
SET INVESTMENT FOUAL TO 90CO3CC00. 0 C9 CG'
SET SALVAGE EQUAL TO C0 OC Ce 0* 4250000
SET TAX RATE EQUAL TO .48
SET PRICE EQUAL TO 516
SET FIXEDCOST EQUAL TO 306350
SET VARIABLE COST RATE EQUAL TO 421e65
SET BEGINNING MARKETSIZE EQUAL TO 220000
SET GROWTH RATE EQUAL TO c08, o06. .G033, 02
SET BEGINNINGSHARE EOUAL TO *01
SET MAXIMUM_SHARE EQUAL TO o15
SET DISCOUNTRATE EQUAL TO v12
SET DEPRECIATION EQUAL TO DEPRECIATL(,IENVESTMtENTSALVAGE


Figure 2. Sample data module.


















*LOGIC
SET MARKET SIZE EQUAL TO GROWTH(BEGINNINGMARKET_SIZE, ,
1 GROWTHRATE)
SET MARKETSHARE EQUAL TO LINEAR(BEGINNING SHARE,
I MAXIMUM_SHARE,)
SET UNITS SOLD EQUAL TO MARKETSIZE TIMES MARKET SHARE
SFT SALES EQUAL TO UNITS SOLD TIMES PRICE
SET VARIABLE_COSTS EQUAL TO VARIABLE COST RATE TIMES
1 UNITSSOLD
SET TOTAL_COSTS EQUAL TO FIXED_COST PLUS VARIABLE_COSTS
1 PLUS DEPRECIATION
SET OPERATING INCOME EQUAL TO SALES MINUS TOTAL COSTS
SET TAX EFFECT EQUAL TO TAXRATE TIMES DEPRECIATION
SET CASH FLOW EQUAL TO OPERATING INCOME PLUS SALVAGE
I PLUS DEPRECIATION PLUS TAX EFFECT
SET PRESENTVALUE EQUAL TO DISCOUNT(CASHFLOW,
1 DISCOUNT_RATE)
SET PROFITINDEX EQUAL TO PRESENTVALUE DIVIDED BY
1 INVESTMENT
SET ROI EQUAL TO IN1RLRATE(INVESTMENT, CASHFLOW)

Figure 3. Sample logic module.











*REPORT NEWPRODUCT
TITLE ANALYSIS OF NEW PRODUCT
MARGIN 0
COLUMN SIZES 15, O0 (9)
BEGIN NEW PAGE
SKIP 2 LINES
COLUMN HEADINGS "ACCOUNT". 1972" 1973",
1 1974 ". 1975" 1976"
COLUMN HEADINGS "-------", (" ----")
ITEM "INITIAL MARKET", BEGINNINGMARKETSIZE
ITEM 2, GROWTHRATE
ITEM 2- BEGINNINGSHARE
ITEM 2, MAXIMUM_SHARE
SKIP I L INE
ITEM INVESTMENT
ITEM DEPRECIATION
ITEM "SALVAGE VALUE". SALVAGE
SKIP 1 LINE
ITEM MARKETSIZE
ITEM "SHARE OF MARKET", 3, MARKETSHARE
ITEM UNITS_SOLD
SKIP 1 LINE
ITEM "PRICE PER UNIT". 2, PRICE
ITEM SALES
ITEM VARIABLECOSTS
ITEM FIXEDCOST
ITEM TOTAL COSTS
ITEM "NET INCOME", OPERATINGINCOME
SKIP 1 LINE
ITEM CASH_FLOW
ITEM PRESENTVALUE
ITEM 2. PROFIT INDEX
ITEM 3. ROI


Figure 4. Sample report module.





33
The execution of a model is actually a six-step process.

1. The first step is to examine the specified logic module

and report modules to determine the names of all varia-

bles which will be used.

2. The specified data modules are retrieved and the values

are assigned to the indicated variables. Variables are

ignored if they are contained in a data module but are

not contained in the logic module or in a report module.

3. The third step is to perform the calculations specified

in the logic module.

4. If a sensitivity analysis or Monte Carlo simulation is

in progress, the second and third steps are repeated.

5. If requested, the values of specified variables are

saved by creating a new data module.

6. The requested reports are printed (see Figure 5).


General Design Concepts

The design of CMS/1 is based upon two basic assumptions.

They are:

1) It is both necessary and desirable to improve the

interface between managers and computers with re-

spect to the creation and manipulation of corporate

models.

2) Corporate models are basically data manipulators.

Data must be acquired, "massaged," stored, and

printed out in reports.

Starting with these two assumptions about corporate

models and their environments, a number of more specific











ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLO

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972


220000
*
0.01
0015

9000000
950000
0


220000

2200

516 00
1135199
927630
306350
2183979
-1048780

357220
92073i09
1002
0.172


1973


220000
Oeo8
0.01

0.15

0
950000



237600
05, 045
10692

516c 00
5517067
4508277
30'6350
5764627
-247560

1158439
*
*
*


1974


220000






9500010
O 15

0
950000
0

251856
C0 .0 8
20140


516, G0
10396593
8495586
3( 6350
9751936
644657


1975

22000 O


C 15

0
9500 0
C'

25941 1

29832
29832


516.OU
15393451
12578773
3'635(-
13835123
1558328


1976

220000
0.02
0.01
0.15

0
9500U00
4250000

264599
0. 150
39690

516. 0 0
20479968
16735228
31 6350
17991568
24884t'89


2050656 2964327 8144399
*


Figure 5. Output from sample model.







design characteristics can be derived. The design charac-

teristics may be grouped into four categories: 1) the

"point of view" represented in the design of the system,

2) characteristics which promote ease of use, 3) character-

istics which provide flexibility, and 4) technical charac-

teristics.

The primary point of view reflected in the design of a

modeling system should be that of the manager and not the

computer specialist's point of view. This seems self-

evident, but it is a difficult distinction to maintain. It

is tempting to design the modeling system from the stand-

point of the ease with which the system itself can be con-

structed rather than from the standpoint of the ease with

which the system can be utilized. The designer must ask

himself "Vihat facilities are needed by the modeler?" and

not just "What facilities can be easily provided?" In order

to be better able to maintain this distinction, CeTS/1 is

written in the computer language PL/1. PL/1 is a very

powerful computer language developed by IBM. It has ad-

vanced capabilities that are not available in other lan-

guages such as FORTRAN and BASIC which have been used most

often in the development of modeling systems. The use of

PL/1 greatly reduces the number of restrictions imposed on

the modeling system by computer programming considerations.

A second characteristic of the modeling system is that

the system should be easy to use. One of the major contri-

butants to the ease of use is the utilization of "English-

like" languages for communication between the manager and







the computer. The objective is to design a satisfactory

language which falls between the extremes of the verbose,

sometimes imprecise English language and a cryptic, though

precise, numerical code. But the perceived successfulness

of this endeavor depends in part on the user. An experi-

enced user usually prefers a less verbose language than does

a novice. For this reason, CMS/1 is designed with both

"English-like" forms and short-forms that can be used to

designate a required operation.

Another contributant to ease of use is the existence

of default conditions. A system that is designed to be used

in corporate modeling must be capable of performing many

different tasks. However, flexibility increases the diffi-

culty of use since the user must denote which alternative

he wishes to select for each option that is available to

him. This problem may be mitigated by the use of defaults.

If no alternative is specified for an option, a predefined

alternative is assumed by the system. The employment of

selection by default greatly simplifies the use of a system.

Another contributant to ease of use is the provision

of extensive error checking routines. When an error is

detected, it should be diagnosed and noted by the printing

of a precise and clearly worded error message. Good diag-

nostic capabilities are an important part of a modeling

system. The system should be designed to assist the user

in identifying his mistakes as well as being designed to

execute error-free input.

A third design characteristic is flexibility. Model-





37
ing systems should be flexible enough to be used by differ-

ent organizations and to be used for different purposes.

They can be used in preparing budgets, in cash flow analyses,

in facilities planning, in long-range planning, and in spe-

cial projects such as capital investment analysis.

One method of providing the needed flexibility is to

provide the capability of creating models in segments. A

model is segmented into modules which contain only data,

modules which contain only report formats, and a module

which specifies the logical relationship among the variables.

Then, when the user wishes to execute a model, he can select

the appropriate modules and have them combined and executed.

There are several significant effects of this modular

approach. First, the logic module can be created totally

independently of the number of periods over which it will

be executed. A planning model could thus be executed over

three, five, ten, or any other number of years without

changing the logic of the model. The flexibility in the

specification of time periods also makes possible the de-

velopment of models which have different time horizons.

For example, budgeting is usually concerned with twelve

monthly periods, while long-range planning is typically con-

cerned with a five-year period, and capital investment de-

cisions may cover widely different periods. A modeling

system which supports varying horizons can be used in each

of these areas.

Second, the logic module can be created without regard as

to whether it will be executed as a deterministic or as a







stochastic model, or whether it will be executed in con-

junction with a sensitivity analysis. These alternatives

are a function of the data which are used and the manner in

which the model is executed; they need not be reflected in

the logic of the model. For example, the statement


DOLLAR SALES EQUAL UNIT SALES TIMES UNIT PRICE


defines the logical relationship between three variables.

If the two variables "UNIT SALES" and "UNIT PRICE" both are

single-valued variables, then the relationship is determin-

istic. But, if the variable "UNIT SALES" is defined to be

a random variable, then the relationship becomes stochastic.

However, the stated relationship has not been changed; only

the values assigned to the variables have been altered.

A third implication of the modular construction of

models is that multiple report and data modules can be com-

bined with one logic module. Multiple report modules can be

used to print out different reports or to tailor the same

basic report for different users. Multiple data modules can

be used to incorporate into a model the results saved pre-

viously by other models. The use of multiple data modules

also means that all the period values for variables need not

be contained in a single data module. That is, budgeted

values for the current year might be stored in one data

module with estimated values for the next five years stored

in another data module. The data modules could then be com-

bined with logic and report modules to produce reports

covering the current year and a five-year plan.




39

A final implication of the modular approach is that

the modeling system must maintain the modules on computer

accessible storage devices. This is required since the

modules are created independently and a combination is

selected for execution at a later time. The user can

therefore readily access models kept on magnetic Cisks

instead of primarily using cards as a storage medium.

Another method for increasing flexibility is the ref-

erencing of variables by user-supplied names. The use of

names complements the use of modules. A modeler simply uses

the variable's name in different modules. When the modules

are combined for execution, the like names can all be linked.

by the modeling system to the same values. When positions

instead of names are used to identify variables (as in PSG),

the user must insure the positional equivalence of variables

among modules and/or models that are to be interrelated.

Finally, the flexibility of a modeling system can be

increased by allowing arithmetic operations to be used in

the specification of data modules and by allowing values

specified in a data module to supersede values calculated in

a logic module. The use of arithmetic operations in defin-

ing data means that the statement


COST OF GOODS SOLD EQUALS SALES TIMES .75


could be used in a data module to define the values associ-

ated with the account "COST OF GOODS SOLD." Of course, the

values associated with "SALES" would have to be previously

defined. The second method, the superseding of values cal-







culated in the logic module, means simply that if a value

for a variable is given in a data module, then any equation

appearing in the logic module that would alter the value is

ignored. These two methods provide the user great flexi-

bility in temporarily altering the logical structure of a

model without physically altering the logic module. The

user can accomplish the alterations by simply temporarily

adding to the model a data module consisting only of the

desired changes.

The last classification of design characteristics is

composed of two technical considerations. The first is the

consideration of size limitations placed on the model, and

the second deals with the procedure used in executing a

model over several time periods.

CMS/1 is designed so that a user will be restricted by

the physical capacity of his computer rather than by the

modeling system. Storage areas in CMS/1 are allocated dy-

namically so that capacity is limited only by the "counters"

which are used to reference the storage areas. Consequently,

a model may contain as many as 32,767 different variables.

Also, each variable may be defined over a maximum of 32,767

time periods. Thus, CMS/1 has a capacity of over one billion

values. This compares to IBM's PSG which has a capacity of

less than eleven thousand values. The number of statements

which may be included in a model is a function of the size

of the statements. However, over five million "average-

sized" statements could easily be accommodated. All of

these limitations are much in excess of the physical capaci-






ty of current computing equipment.

The second technical consideration deals with the pro-

cedure used in executing a model over several time periods.

A model could be executed from beginning to end for the

first time period, executed again for the second time peri-

od, and so on until all time periods have been accounted

for. Or, each equation could be executed in turn over all

time periods. That is, the first equation would be executed

over each time period, then the second equation, and so on

until all equations have been executed. A third alternative

would be to execute in turn each operation within an equation

over all time periods. Thus, if the statement


SET INTEREST EXPENSE EQUAL TO LOANS TIMES INTEREST RATE


were executed over twelve time periods, the multiplication

would be carried out twelve times; and then the twelve prod-

ucts would be assigned to the variable "INTERESTEXPENSE."

The third alternative would actually yield the most

rapid execution since CMS/1 is executed by an interpreter

rather than by being compiled. This procedure has, however,

some undesirable characteristics. The procedure cannot be

used 1) when a variable is a function of its own values

in previous time periods, 2) when a variable is a function

of another lagged variable and the equation defining the

first variable precedes the equation defining the variable

which is lagged, and 3) when a condition which exists in

one time period alters the sequence in which the equations

are executed.







The first problem can be avoided by using the second

procedure described above, i.e., the execution of each

equation in turn over all time periods. But the second and

third problems would remain. All three problems can be

avoided by executing the complete model over each time

period. This, however, is accomplished at the expense of

longer execution times. Thus, this execution procedure is

followed by CIS/1 only when one or more of the three prob-

lems actually occurs. In all other cases, CKS/1 uses the

more efficient procedure of executing in turn each operation

within an equation over all time periods.

This section has discussed the major design concepts

of CMS/1. The next three sections will discuss the three

CMS/1 languages which embody these concepts.

Control Language

The purpose of the control language is to allow the

user to direct the activity of the modeling system. It is

through the use of the control language that the user insti-

gates the creation of modules and the execution of models.

The general form of a control language statement is


*KEYWORD parameter-list


Each control statement begins with an asterisk in the first

position followed by none, or one or more blanks. The first

non-blank characters encountered after the asterisk must be

one of seven control keywords. Each control keyword unique-

ly designates an activity performed by CMS/1. Following the






control keyword and separated from it by blanks is a list

of parameters. The parameter list provides additional in-

formation which is needed to carry out the activity which

has been requested. The parameter list is composed of sets

of parameter keywords and parameter values. Each set must

be separated from surrounding sets by a comma or by blanks.

In the following discussion and examples of control

language statements, keywords will be denoted by capital

letters whereas user-dependent information will be denoted

by small letters.

There are five types of activities which the user can

specify. The user can specify that a module (logic, data,

or report) is to be created, that modules are to be combined

and executed, that modules are to be destroyed, that no

action is to be taken (i.e., the null activity); and, the

user can govern whether or not the logic, data, and report

statements he supplies to CMS/1 are to be printed.

The first type of activity is the action of creating a

module. A statement such as


*LOGIC


signifies that the following statements conform to the re-

quirements of the logic specification language. The state-

ments are read by CMS/1, checked for errors, and translated

into a more easily executed form. The translated form is

then temporarily stored on a magnetic disk. If the user

wishes to permanently store the logic module, a name for

the module is specified as a parameter on the LOGIC state-





44

ment. The following statement specifies that a logic module

named "sample" is to be created and saved.


*LOGIC sample


The statements for creating data and report modules are

analogous to the LOGIC statement. That is,


*DATA budget


and


*REPORT balance sheet


would be used, respectively, in creating a data module named

"budget" and a report module named "balance_sheet."

The DATA statement may also contain the parameter key-

word PERIODS followed by numbers representing the first and

last periods for which data is given. For example, either

the statement


*DATA budget, PERIODS 1970 TO 1972


or


*DATA budget, PERIODS 1970, 1972


could be used to create a data module named "budget" con-

taining values for the years 1970, 1971, and 1972. If the

periods parameter is not given, CMS/1 assumes the specifica-

tion


PERIODS 1 TO 5






The second type of activity the user may specify is

the activity of combining and executing modules. This

activity is accomplished by the use of the EXECUTE statement.

The simplest form of the statement is


*EXECUTE


The above statement would cause the most recently created

unnamed logic, data, and report modules to be combined and

executed. If an unnamed logic module does not exist, an

error message is printed. If an unnamed report module does

not exist, a default report format is used and the values

of all variables defined in the logic module are printed.

Named (i.e., permanently saved) logic, data, and report

modules may be combined for execution by use of the para-

meter keywords LOGIC, DATA, and REPORT in the following

manner.


*EXECUTE LOGIC sample, DATA budget, REPORT balance sheet


Multiple data and report modules can also be specified.


*EXECUTE LOGIC sample, DATA budget_70, budget_71,
1 REPORT balance sheet, incomestatement


Multiple reports are printed in the same sequence in which

their names appear in the REPORT parameter set. Multiple

data modules are "overlayed" on each other in the same se-

quence in which their names appear in the DATA parameter

set. Thus, if a variable is assigned values in several

different data modules, the resulting values of the varia-





46

bles will be the values assigned by the data module appear-

ing latest in the sequence specified by the DATA parameter

set.

If a named logic module is specified, an unnamed logic

module is, of course, not used. Likewise, the default re-

port format is not used if a named report module is desig-

nated. However, the most recently created unnamed data

module is always used. It is incorporated into a model as

though it were the last named data module in the DATA

parameter set. Consequently, it overlays all named data

modules.

Another parameter set that may appear on an EXECUTE

statement specifies the number of times the model is to be

executed in a sensitivity analysis or in a Monte Carlo sim-

ulation. The form of the parameter set is


ITERATIONS n


where n is the number of times the model is to be executed.

The value of n must be between 1 and 32,767. If this para-

meter set is not given, n is assumed to have a value of 1.

An additional parameter set that may be used in con-

junction with Monte Carlo simulations specifies the "seed"

number for a pseudo random number generator. The form of

the parameter set is


INITIAL RANDOM NUMBER IS n






INITIAL n


where n is the value to be used as the seed. The seed

should be an odd number containing at least five digits.

Its value must be between 1 and 231-1. If a Monte Carlo

simulation is performed without specifying a value for the

seed, a value of 65,549 is assumed.

CMS/1 allows the saving of values computed in one logic

module for later use in another logic module. The values

are stored in a data module that is created by CIIS/1. The

user may name this data module by specifying the desired

name in a SAVE parameter set. The EXECUTE statement


*EXECUTE LOGIC product SAVE results


would execute the logic module named "product" along with

the most recently created unnamed data module. The default

report would be printed, and the values of variables saved

by the logic module "product" would be stored in a data

module named "results."

If variables are saved by a logic module when the SAVE

parameter set is not given on the EXECUTE statement, the

resulting data module is given a name created from the logic

module name and the date.

Finally, headings that are to be printed at the top of

each report may be given on the EXECUTE card. Two headings

may be given the first is printed in the center at the top

of each page of output, and the second is printed against

the right margin at the top of every page. The form of the







HEADINGS parameter set is


HEADINGS "first heading" "second heading"


If only one heading is specified, it is assumed to be the

first heading.

The third type of activity the user may request of CMS/1

is the destroying of named modules. The following DESTROY

statement would erase from the magnetic disk a logic module

named "sample," a data module named "budget," and a report

module named "balance sheet."


*DESTROY LOGIC sample, DATA budget, REPORT balancesheet


More than one logic, or data, or report module can be

erased by simply listing the module names sequentially after

the appropriate parameter keyword. The statement


*DESTROY LOGIC sample, product


would cause the logic modules named "sample" and "product"

to be erased.

The fourth type of activity the governing of the

printing of logic, data, and report statements is con-

trolled by the PRINT statement. The user can have printed

all statements received by CIS/1 or can delete the printing

of logic, data, and/or report specification statements.

Normally, all statements received by CMS/1 are printed. To

stop the printing of logic, data, and report statements, a

PRINT statement with no parameters would be used.






*PRINT


To print only data statements, the PRINT statement


*PRINT DATA


would be used. To begin printing logic, dita, and report

specification statements again, the statement


*PRINT LOGIC, DATA, REPORT


or


*PRINT ALL


would be used.

The final control Janguage statement, the CONTINUE

statement, initializes no system activity. However, it can

terminate previous system activity.. For example, the two-

statement sequence


*DATA
*CONTINUE


begins the creation of an unnamed data module and then ter-

minates the module. The two statements thereby assure that

the most recently created unnamed data module is empty.

This can be useful since the most recently created unnamed

data module is always included in the executed model.

This section has discussed the control language of CMS/1.

The keywords for each statement in the language are summa-

rized in Table 2. The next section describes the logic and













TABLE 2

Summary of Control Language Keywords


Control Keyword


LOGIC

DATA

REPORT

EXECUTE


Parameter Keywords


PERIODS


LOGIC, DATA, REPORT, PERIODS,
ITERATIONS, SAVE, HEADINGS,
INITIAL


LOGIC, DATA, REPORT


ALL, LOGIC, DATA, REPORT


CONTINUE


DESTROY


PRINT


_ __







data specification language.


Logic and Data Specification Language

The contents of a logic and of a data module are ex-

pressed in the logic and data specification language. The

language is composed of four types of statements assign-

ment, group, control, and null statements. Only the first

two types may be used in creating a data module; all four

types may be used in creating a logic module.

The first type of statement, the assignment statement,

is used to calculate the value of an arithmetic expression

and then to relate this value to a named variable. The

assignment statement is a very powerful and flexible in-

strument for performing calculations. Among the operations

which can be performed are addition; subtraction; multi-

plication; division; and predefined procedures for deter-

mining depreciation, present values, and rates of return.

An example of the simplest form of an assignment state-

ment is


SET SALES EQUAL TO 500


In this simple case no arithmetic is performed; the value

500 is just related to the name SALES. Then, if the next

statement executed were


SET MISC EXPENSE EQUAL TO SALES TIMES .05


the variable MISC EXPENSE would be assigned a value of 25.

Since CMS/1 executes a model over multiple periods, the





52

assignment statement may specify multiple values for a vari-

able. The statement


SET SALES EQUAL TO 500, 600, 650, 700, 750


defines a value of SALES over a five-period horizon. If a

model containing this statement were executed over a ten-

period horizon, the values for the last five periods would

be undefined. This type of statement may be used to speci-

fy the initial values of variables in data modules with the

succeeding values being calculated by a logic module.

If a variable is to have the same value in all periods,.

then the value need be expressed only once. Hence, the

following two statements are equivalent over a five-year

horizon.


SET SALES EQUAL TO 600, 600, 600, 600, 600
SET SALES EQUAL TO 600


Note, however, that the second statement assigns a value of

600 to SALES over any horizon.

A second type of data and logic specification statement

is the GROUP statement. This statement is used to associate

a number of variables with a common group name. The whole

group of variables can then be referenced by simply using

the group name. For example, assuming that the variables

LABOR, MATERIALS, OVERHEAD, and SALES have all been assigned

values, the second statement of the two following statements

would sum the values of LABOR, MATERIALS, and OVERHEAD; sub-

tract that sum from the values of SALES; and associate the






resulting value with OPERATINGINCOME.


GROUP LABOR, MATERIALS, OVERHEAD UNDER MPFGEXPENSES
SET OPERATING INCOME EQUAL TO SALES MINUS MFG EXPENSES


The use of a group name (iIlicits a different response

when it represents variables whose values are being computed.

This use of a group name is exemplified by the following

three statements.


GROUP LABOR, MATERIALS, OVERHEAD UNDER MFGEXPENSES,
1 STANDARDS
SET IMFG EXPENSES EQUAL TO SALES TIMES STANDARDS
SET OPERATING INCOME EQUAL TO SALES MINUS FMG_EXPENSES


The second of the three above statements is executed by mul-

tiplying the labor standard times the value of sales, giving

the value of the labor component of the manufacturing ex-

pense; then the materials standard is multiplied times the

value of sales, giving the value of the materials used in

manufacturing; finally, the standard overhead rate is mul-

tiplied times the value of sales, giving the overhead ab-

sorbed by the units sold. The procedure for executing the

third statement is the same as in the previous example.

A single element (i.e., variable) of a group can be

referenced by "qualifying" the element name with the group

name. The previous group statement defines two groups with

three elements each giving a total of six variables. Ref-

erences to the individual variables is accomplished as

follows:







MFG EXPENSES: LABOR
MFG EXPENSES: MATERIALS
MFG EXPENSES: OVERHEAD
STANDARDS: LABOR
STANDARDS: MATERIALS
STANDARDS: OVERHEAD


In this manner the variables may be used individually as

well as by groups.

The third type of statement, the control statement, may

be used only in a logic module. There are three statements

of the control type two which control the sequence in

which statements are executed, and a third which terminates

the execution of a logic module.

In CMS/1 as in most computer languages, statements are

normally executed in the sequence they are encountered.

However, the sequential execution can be altered by "jump-

ing" over statements. The execution can be jumped forward

down the list of statements or backwards to a previous

statement. The method of exercising this type of control

is illustrated by the following sequence of statements.




JUMP TO COMPUTE
SET RATIO) SET RATIO EQUAL TO .25
COMPUTE) SET ACCOUNT EQUAL TO AMOUNT TIMES RATIO



The first statement in the sequence causes the second

statement to be bypassed with control being transferred to

the statement named "COMPUTE." The second statement could






be reached via a JUMP TO statement appearing at another

point in the logic module. However, if the second statement

did not have a name, it could never be reached so an error

message would be printed at the time the logic module is

created.

Sequential execution may also be altered by the condi-

tional statement. The conditional statement performs a com-

parison and then,depending on the results of the comparison,

executes one of two statements. For example, the following

two conditional statements can be used as a simple means of

estimating corporate income taxes.


IF NET INCO"IE IS GREATER THAN 25000THEN SET TAXES EQUAL
1 TO NET INCOME TIMES .48 MINUS 6500 ELSE SET TAXES
1 EQUAL TO NET INCOME TIMES .22
IF NET INCOME IS LESS THAN 0 THEN SET TAXES EQUAL TO O


The second conditional statement does not specify an alter-

native if the net income is not less than zero. In this

event, the value of TAXES computed in the first conditional

statement would not be altered.

The third type of control statement terminates the exe--

cution of the logic module. The form of the statement is

simply


STOP


A logic module does not have to contain a STOP state-

ment. Execution will terminate when the end of the sequence

of statements is reached.







The final type of statement in the logic language is

the null statement. The null statement consists solely of

a statement name. For example,


START)


and


FINISH)


are valid null statements.

The null statement is used to designate a point in the

logic module to which control may be passed by a JUMP TO

statement.

Sample logic and data modules which demonstrate the

use of some of the previously discussed statements are pre-

sented in Figures 2 and 3, respectively.


Report Format Specification Language

The third language in the corporate modeling system is

used to describe the desired form of reports. The language's

statements allow the user to specify the size of the printed

page; the number, size, and headings for the columns of

values; the spacing between lines of information; and the

information that is to be printed on each line of the report.

In addition, the report headings, if any, that were given in

the EXECUTE control statement are printed at the top of each

page.

The page size is determined by three statements. The

default form for each of the statements is given below. The






PAGE LENGTH statement defines the maximum number of lines

that are to be printed on a page excluding the lines con-

tained in a footing, if one is utilized. The LINE LENGTH

statement defines the maximum number of characters, includ-

ing blanks, that may be contained in a printed line. A

printed line may begin in the first physical print position,

or it may begin to the right of the first position. The

extent of indentation is governed by the MARGIN statement.

The margin may be changed within a printed page. Normally,

the page and line length should remain constant for a given

page.


PAGE LENGTH 60
LINE LENGTH 130
MARGIN 2


The number of columns contained in a report is equal to

the number of periods over which the model was executed,

plus two. The two additional columns contain a description

of the variable whose values are being printed and a de-

scription of the units of the values (e.g., tons, gallons,

or dollars).

The width and the headings of columns are specified in

statements of the types shown below. If the sum of the

columns' widths is greater than the line length specified,

the report is automatically continued on another page.

Both column widths and headings may be changed within a

report.







COLUMN SIZES 20, 4, 8, 8, 8
COLUMN HEADINGS "ACCOUNT", "UNIT", "1972", "1973", "1974"


The lines in a report would normally be single spaced,

but the user may also request double or triple spacing over

an entire report or over parts of a report. In addition, a

series of lines may be skipped at any time with the statement


SKIP x LINES


where x is a number. A final method for controlling the

spacing of lines is the use of a statement which causes the

beginning of a new page. The form of the statement is sim-

ply


BEGIN NEW PAGE


The final type of statement in the report format speci-

fication language is the type used to specify the information

to be printed on a line. The user can indicate a page title

that is printed at the top of each page, a footing that is

printed at the bottom of each page, a variable whose values

are to be printed, or just a line of information that is to

be printed.

A report is primarily produced in order to print the

values calculated in a logic module. The stimulus for the

printing of the values of a variable is given by an ITEM

statement. The ITEM statement, such as the one below,

specifies a description of the variable that is to be printed

in the first column of the report, a description of the units

of the values which is printed in the second column of the




59

report, the number of decimal places the printed values are

to have, and lastly the name of the variable as it appears

in the logic module.


ITEM "COST OF GOODS SOLD", "(M$)", 0, CGS


The minimum information that must appear in an ITEM

statement is the keyword "ITEI" and the name of the variable

to be printed. If the description is not specified, the

name of the variable is printed in the first column of the

report. When no units are given, the second column of the

report is left blank. In the event that the number of

decimal places is not given, zero decimal places are assumed.

In order to specify that a line of information other

than the values of variables is to be printed, a statement

is used which consists of the word "LINE" in positions two

through five with the information to be printed appearing

in positions seven through seventy-two. Should more space

be needed, the information may be continued in positions

seven through seventy-two of the next line in the report

module. Thus a maximum of 132 positions (2 times 72-7+1) is

available for specifying a line of information.

Titles and footings that are printed at the top and

bottom of each page, respectively, can be created using

statements similar to the LINE statement. The only differ-

ence in form is that the words "TITLE" and "FOOT" are used

instead of the word "LINE" and the body of a title cannot

begin before the eighth position of the first line, giving

a maximum title length of 131 characters.





60

A sample report module which demonstrates the use of

the report format specification language is presented in

Figure 4.

This chapter has described the structure of CMS/1 and

has discussed the general design concepts and the capabili-

ties of the system. The next chapter demonstrates the im-

plementation of CMS/1 by presenting several models which

depict the capabilities of the system.











CHAPTER IV

IMPLEIMETATION OF CMiS/1


The previous chapters have introduced the concepts of

corporate models and corporate modeling systems. The de-

sired characteristics of corporate modeling systems were

discussed and CMS/1, a new corporate modeling system, was

introduced.

The present chapter demonstrates the capabilities of

CMS/1 by demonstrating its use in two hypothetical situa-

tions in the analysis of the potential profitability of a

new product and in planning for a multi-divisional firm.

The models developed for these hypothetical problems are

relatively simple models. The intention is to demonstrate

the use of CYIS/1, not to develop sophisticated models.

The use of CMS/1 is demonstrated with the simple execu-

tion of a deterministic model, with sensitivity analyses,

with a Monte Carlo simulation, and with the execution of a

set of interrelated models.


Deterministic Model

A deterministic model for the analysis of the potential

profitability of a new product was introduced previously in

Figures 2, 3, and 4. The execution of that model would be

initiated by the control statement


*EXECUTE DATA PRODUCTDATA, REPORT NEW PRODUCT





62

This statement would cause the data module "PRODUCT DATA,"

the report module "NEW_PRODUCT," and the most recently

created unnamed logic and data modules to be combined and

executed. (The results of such an execution are depicted

in Figure 5.)

Deterministic models are usually used to "try out" dif-

ferent alternatives. By changing data and/or logical re-

lationships, various assumptions and "what if" questions

can be investigated. For example, the model of the new

product venture could be used to determine the effects of

using different methods of depreciation.

The results of the sample model, depicted in Figure 5,

are based on the use of straight-line depreciation of the

original investment. The impact of different depreciation

methods can be easily ascertained by altering the model.

The simplest way to alter the model is to add an unnamed

data module containing the new depreciation method. The

following statements, when appended to the previous model,

would create a data module which specifies the use of the

sum-of-the-years-digits method of depreciation (method num-

ber 2), and then initiate the execution of the "new" model.


*DATA PERIODS 1 TO 5
SET DEPRECIATION EQUAL TO DEPRECIATE (2, INVESTMENT,
1 SALVAGE)
*EXECUTE DATA PRODUCT_DATA, REPORT NEW PRODUCT


A complete sequence of modules and EXECUTE statements

for the comparison of straight-line, sum-of-the-years-digits,

and double declining balance methods of depreciation are







presented in Figure 6. The results for each of the three

methods are presented in Figures 5, 7, and 8, respectively.


Sensitivity Analysis

As indicated above, a deterministic model is usually

executed more than once in order to investigate various al-

ternatives. Repetitive execution may also be used to deter-

mine the variables in a model which most affect the behavior

of the model.

An example of the investigation of various alternatives

was given in the previous section. In that case the inves-

tigator had to specify changes for each new alternative and

then initiate a new execution. This procedure may be sim-

plified when the objective is to determine the "sensitive"

variables rather than to investigate new alternatives.

Sensitivity analysis is accomplished by repeatedly exe-

cuting a model with the value of only one variable being

changed for each new execution. Thus, if the multiple

values can be specified for a variable before the repetitive

executions begin, all of the executions may be carried out

automatically. This is accomplished in CMS/1 by the use of

the ITERATE function. The statement


SET BEGINNING MARKET SIZE EQUAL TO ITERATE (180000,
1 260000, 20000)


denotes that the variable BEGINNING MARKET SIZE is to have

the value 180000 the first time the model is executed. The

variable will then be incremented by 20000 in succeeding






























Figure 6. Sample deterministic model.











*LOGIC
SET MARKETSIZE EQUAL TO GROWTH(UEGINNING_MARKET SIZE, *
I GROWTH RATE)
SET MARKET_SHARE EQUAL TO LINEAR(BEGINNINGSHARE,
1 MAXIMUM SHARE )
SET UNITS SOLD EQUAL TO MARKET_SIZE TIMES MARKETSHARE
SET SALES EQUAL TO UNITS SOLD TIMES PRICE
SET VARIABLECOSTS EQUAL TO VARIABLECOSTRATE TIMES
1 UNITS_SOLD
SET TOTAL_COSTS EQUAL TO FIXEDCOST PLUS VARIABLE_COSTS
I PLUS DEPRECIATION
SET OPERATINGINCOME EQUAL TO SALES MINUS TOTAL_COSTS
SET TAX_EFFECT EQUAL TO TAX RATE TIMES DEPRECIATION
SET CASH FLOW EQUAL TO OPERATING INCOME PLUS SALVAGE
1 PLUS DEPRECIATION PLUS TAX_EFFECT
SET PRESENTVALUE EQUAL TO DISCOUNT(CASH FLOW,
1 DISCOUNT_RATE)
SET PROFITINDEX EQUAL TO PRESENT_VALUE DIVIDED BY
I INVESTMENT
SET ROI EQUAL TO INTRLRATE(INVESTMENT, CASH FLOW)
*DATA PRODUCT_DATA PERIODS I TO 5
SET INVESTMENT EQUAL TO 9(COCG.C 0O. OC 0, (
SET SALVAGE EQUAL TO O CD, 0, 0, 4250000
SET TAX_RATE EQUAL TO *48
SET PRICE EQUAL TO 51G
SET FIXED_COST EQUAL TO 306350
SET VARIABLE COST_RATE EQUAL TO 421.65
SET BEGINNINGMARKET_SIZE EQUAL TO 220000
SET GROWTH_RATE EQUAL TO .08, .C6, *03, .02
SET BEGINNINGSHARE EQUAL TO o?1
SET MAXIMUM SHARE EQUAL TO 15
SET DISCOUNTRATE EQUAL TO 12
SET DEPRECIATION EQUAL TO DEPRECIATE( ,INVESTMENTsSALVAGE)
*REPORT NEW_PRODUCT
TITLE ANALYSIS OF NEW PRODUCT
MARGIN 0
COLUMN SIZES 15, 0, (9)
BEGIN NFW PAGE
SKIP 2 LINES
COLUMN HEADINGS "ACCOUNT", 1972", 1973",
1 1974", 1975", 1976"
COLUMN HEADINGS "----- --" (" ----")
ITEM "INITIAL MARKET". BEGINNNINGMARKETSIZE
ITEM 2, GROWTHRATE
ITEM 2, BEGINNINGSHARE
ITEM 2, MAXIMUM SHARE
SKIP 1 LINE
















ITEM INVESTMENT
ITEM DEPRECIATION
ITEM "SALVAGE VALUE", SALVAGE
SKIP I LINE
ITEM MARKET_SIZE
ITEM "SHARE OF MARKET", 3, MARKET_SHARE
ITEM UNITS_SOLD
SKIP 1 LINE
ITEM "PRICE PER UNIT". 2. PRICE
ITEM SALES
ITEM VARIABLE_COSTS
ITEM FIXED_COST
ITEM TOTAL_COSTS
ITEM "NET INCOME", OPERATING_INCOME
SKIP I LINE
ITEM CASH_FLOW
ITEM PRESENT_VALUE
ITEM 2, PROFIT_INDEX
ITEM 3, ROI
'EXECUTE DATA PRODUCT_DATA, REPORT NEW_PRODUCT
*DATA PERIODS 1 TO 5
SET DEPRECIATION EQUAL TO DEPRECIATE(2,INVESTMENTSALVAGE)
*EXECUTE DATA PRODUCT_DATA, REPORT NEW_PRODUCT
*DATA PERIODS 1 TO 5
SET DEPRECIATION EQUAL TO DEPRECIATE(3, INVESTMENT, 5)
*EXECUTE DATA PRODUCT_DATAt REPORT NEW_PRODUCT











ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972

220000
*
0.01
0.15

9000000
1583333
0

22000000
C., 10
2200

516c00
1135199
927630
306350
2817312
-1682113

661220
9330820
IC04
0 180


1973

226(,0C0

0.01
0.15
0 5

0
1266666
0

237600
0 0 45
10692

51600CO
5517067
4508277
306350
6081293
-564226

1310439
*:
*
*


1974

22000 '
0.06
0.01
C* 15

0
950000(
0

251856
00C 80
20148


516 00C
10396593
8495586
306350
9751936
644657

2050656
*
*


1975

220000

C*01
0.15

0
633333
0

259411
0O 115
29832


516o00
15393451
12570773
306350
13518456
1874995

2812327
*
*


1976

220001
e0.02
0.01
9o15

0
316667
4250000

264599
0.150
39690

516.00
20479968
16735228
306350
17358224
3121744

7840409
*
*


Figure 7. Results with sum-of-the-years digits depreciation.












ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PEP UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972


2200,00
*

0.15

90C0000
3599999
0

22G0C.0
00010
2200

516oC00
1135199
927630
306350
4833978
-3698779

1629219
10739990
lo19
C 2 59


1973


220000

0.01
0.15

0
2159999
0

2376C0
0,045
10692

516.00
5517067
4508277
306350
6974626
-1457559


1974

220000
Oe06
0o01
0.15

0
1295999
0

251856
0.08C
20148

516.00
10396593
8495586
306350
1C(97935
298658


1739239 2216736
*
*


1975

220000
0.03
o.01
C0015

0
777600
0

259411
C0 115
29832


516,00
15393451
12578773
3'6350
13662722
1730729

2881575
*
*


1976

220000
0.02
0o01
OoC 1
0.15

0
46656')
4250000

264599
0o15C
39690

516c00
2r479968
16735228
306350
17508112
2971856

7912363
*
if


Figure 8. Results with double declining balance depreciation.







executions of the model until a maximum value of 260000 is

reached.

The ITERATE function specifies the values for a varia-

ble but does not control the number of times the model is

executed. The number of repetitions is specified on the

EXECUTE statement. The statement


*EXECUTE DATA PRODUCT_DATA, REPORT NEWPRODUCT,
1 ITERATIONS 5


could be used in conjunction with the previous ITERATE

function to ascertain the effects of varying the variable

BEGINNING MARKET SIZE between the values 180000 and 260000.

Complete sequences of modules and EXECUTE statements

which could be utilized in sensitivity analyses of the vari-

ables "BEGINNING MARKET SIZE" and "MAXIMUMl SHARE" are pre-

sented in Figure 9. (The assumption is made that the modules

depicted in Figure 6 have been previously processed.) The

results of each analysis are presented in Figures 10 and 11,

respectively.


Monte Carlo Simulation

A deterministic model is useful in specifying the basic

structure of a problem, in investigating alternative courses

of action, and in determining the sensitive variables. But

additional information concerning the riskiness of a course

of action is often needed by management.

The deterministic model discussed above indicated that

a return on investment of about 17 percent may be expected


























*DATA PERIODS 1 TO 5
SET BEGINNING_MARKET_SIZE EQUAL TO ITERATE(18t9000 260D000D
1 20r(. 0 )
*EXECUTE DATA PRODUCT DATA, REPORT NEWPRODUCT
1 ITERATIONS 5
*DATA PERIODS 1 TO 5
SET MAXIMUM_SHARE EQUAL TO ITERATE(lO, o18, c02)
*EXECUTE DATA PRODUCTDATAs REPORT NEW_PRODUCT
1 ITERATIONS 5

Figure 9. Addition to sample model for sensitivity
analysis.
































Figure 10. Results of sensitivity analysis for the ini-
tial market size.











ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NJET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972

180000
*
0.01
0.15

9000000
95C00;0
0

180000
S.0 10
1800


516.C0
928800
758970
306350
2015319
-1086519

319481
8169800
090
0*122


1973

18000Q
0 *08
0.01



0
950000
0

194400
o0 045
8748

5160ot0
4513963
3688590
306350
4944940
-430977

975023

*


1974

180000

OoOl
0015


0
95000 C
0

206(C64
0Co080
16485

516. C
8506304
6950934
306350
8207284
299020

1705019

*
*


1975

18C000
0 'j 3
0C01
1. 15

0
950000
C

212246
40115
24408


516a C;
12594642
1(291724
306350
11548074
1046568

2452567
4


1976

18000

0.01
1.15

0
950 00
4250000

216490
0o 150
32474

516 03
16756338
13692457
306350
14948807
1807531

7463530
Y.










ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROT


1972

200000



0O15

9000000
950CrCO
0

2000CO
e0010
2000

516CO0
1032000
8433C r:
306350
2099649
-1067649

338351
8638545
0G96
0.147


1973

2COO0;C
Oo08
cl8
0.01
0. 15

0
950 rCO
0

216000
0C045
9720

516.00
51 15515
4098433
366350
5354783
-339268

1C66731
*
*
4


1974

200 (..00
0 06

C, 15

0
95C000
0

228960
S* C 80
18317

516.00
9451451
7723262
306350
8979612
471839

1877838


*


1975

200000
0.03
C .01
0.15



950(000
0

235829
S0.115
27120


516.00
13994049
11435250
306350
1269160( .
1302449

2708448


1976

2000GO
0.02

Oe15

0
950 (001
4250000

240545
0.150
36082

516.00
18618144
15213846
306350
16470196
2147948

7803947











ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGIIfNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972

2200C (,

Ce C1
0.15

90CC C('C
950000
0

220000
0.010
22C 0

516e (0
1135199
927630
306350
2183979
-1048780

357220
9207309
1 C 2
0 172


1973

22t COG
0.08
Oo 0 1
0.15

G
0
950000
0

237600
0.045
10692

516.00
551 7r67
450 8277
30(6350
5764627
-247560

1158439
*,
*
*


1974


22COnC
220000
0.06

0,15

0
950000
0

251856
00080
20148


51 6c00
1 396593
8495586
306350
9751936
644657


1975


2200000
0.03
0.01



0
950000
0

259411
0.115
29832


516,00
15393451
12578773
3i 635C'
S3835123
1558328


1976


220000
0.02
0,01
0.15

0
950000
42500C0

264599
C 150
39690

516.00
2C479968
16735228
306353
17991568
2488400


2050656 2964327 8144399
*











ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHAPE
MAXIMUM SHARE

1 INVEST MENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOv
PRESENT VALUE
PROFIT INDEX
POI


1972

240000

0.01
0.15

9C00CO0
950C(C



2400C0
0.010
240C,

51 6. (
1238399
C1011959
3C.635i
22683C9
-1029910

376090
9776057
1.L9
0.197


1973

240000

S95000C 1
0 15



950000



25920C
(- c. 45
11664

516eOC
6C18617
4916119
306350
6174469
-155852


1974

240000

0.01
0.15

0
95CCO0
C

274752
C C80
21980


516. 3
11341740
9267914
3C6350
1C524264


1975

240000





0
950000
C.

282994
. 115
32544


1976

240000
0.02
C.01
0.15

0
950000
425 00C

288654
C 151
43298


516.00 516.00
16792848 22341776
13722299 18256638
3C635L 3C635'
14978649 19512944


817476 1814199 2828832


1250147 2223475 3220198 8484831
*











ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHAPE

INVESTMENT
DEPRECI ATI ON
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972


260000

,OC 1
0.15

90OOCOc
950000
0

260000

2600

516o0(0
1341599
1096289
30'6350
2352639
-101 1(40

394960
10344810
1.15
0.221


1973

260000

0.01
0.15

0
950000
0

280800
r rf 45
12636

51 6c C-C
6520169
5327963
3J6350
6584313
-64144

1341855
*
*
*


1974

260000
Oo06
0401
0.15

0
950000
0


297648
0 2080
23812


516co0
12286887
1O04C.?41
316350
S1296591
990296

2396295

*


1975

26C000

0.01
Oel5
0O15

0
950000
0

306577
P0115
35256


516o0
18192256
14865827
306350
16122177
2070079

3476078
*
*


1976

260000
) c02
0.01
0.15

0
950C00
4250C00

312708
C. 150
46906

51 6e00
24203600
19778C00
306350
21034336
3169264

8825263
*
*































Figure 11. Results of sensitivity analysis for the maximum
market share.












ANALYSIS OF NEW PRODUCT


ACCOUNT


INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972


220000
*
0 01
0.10

900C0000
950000



2200(.0
0 .0 1 0
2200

516.00C
1135199
927630,
30635n
21 3979
-1048780

357220
7269483
0081
0C084


1973


220000
0o08
001

0"
o

950000 O
0

237600
o 0 32
7722

5160o r
3984547
3255977
30 6350
4512327
-527780

878220

*
&


1974


220000
0,06
0001
0.10

0
950000
0

251855
Co055
13852

516o000
7147660
5840717
3C06350
7097067
51 593

1456592
*


1975


22000 C
0.03
0.01



0
950000
0

259411
0. r77
20104


516f Cc
10373847
8476999
306350
97333349
640498

2046497
*


1976

220009
Oe01




0
9500 ,
4250000

264599
0. 100
26460

516600
13653313
11156818
306350
12413168
1240145

6896144
&











ANALYSIS OF NEW PRODUCT


ACCOUNT


INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
RO1


1972

220L'rC 0

0.01
O. 12

90000CO
95C0000



220000
0 1 r"
2200

516.00
1135199
92763(0
306350
2183979
-1048780

357220
8044612
0.89
0. 121


1973

22('000
0.08
0.01
0.12

0
950000
C

237600
o 0 37
8910

5156o C'
4597553
3756895
306350
5013245
-415692

990308
*

*


1974

22UG00
0.06
0.01
(Co 12

0
950C00
0

251856
Co 065
16371

516o00
8447232
69 2664
306350
8159014
288218

1694217
*

*


1975

220000
0.03
0.01
C. 12

0
950000



259411
C *. 92
23996

516.0C
12381690
1C117710
31635(;
11374060
10 07630

2413629
*
*


1976

220C00
0.02
0001
0.12

0
95000,0
4250000

264599
0 o 120
31752

516 c, 0Q
16383977
13388183
306350
14644533
1739444

7395443
*
*












ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
T(TAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
R1O


1972

220000
*
0.01
0a 14

90GO000
950000



220W'CO

2200

516eC 0
1135199
927630
3C6350
2183979
-1048780

357220
8819736
0 98
Oo 155


1973

22000

Oc.01
c 14

0
950000
0

237600
C 0 (42
10098

516.00
5210561
4257815
306350
5514 65
-3036Q04

1102395

4


1974

22C0 C
0 006
Oo~1Ol
0.14

0
950000
0

251856
0.075
18889

516e.00
9746806
7964612
306350
9220962
525844

1931843
*

*


197b

22000

0.c03
0.01
0. 14

0
95.0000
0

259411
0Lc 107
27887


516e00
14389530
11758419
306350
13014769
1374761

2780760


1976

220000
p.02
0.01
0o14

0
950000
4250000

264599
o 140
37044

516.00
19114624
15619546
306350
1687588
2238736

7894735
*

*











ANALYSIS OF NEW


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED CUST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972




0.01
0.16

9000000
950Ci 0
0

220CC 0
0010
22CC

516.00
1135199
927630
306350
2183979
-1048780

357220
9594882
1.07
Oc 1U9


1973

22C000



0.16

0
95(000
0

237600'
0O047
11286

516.00
5823567
4758734
30635C
601 5' 84
-191517

1214482
*

*


PRODUCT



1974

2200C0

0 .0 1
0. 16

0
950000
0

251856
0,085
21408


516.00
11046380
90'26560
306350
10282910
763470


1975

220000
0.03
C0.01



0
950000
0

259411
0. 122
31778


516.00
16397373
13399129
306350
14655479
1741894


1976

220000

0.01
0.16

0

95000r
4250U00

264599
0.160
42336

516.00
21845296
1785 '896
306350
19107232
2738064


2169469 3147893 8394063
*











ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972

220(C '



0.18

900 C 0 C
950000
0

220000
0 o 0
2200

516. 0
1135199
927630
306350
2183979
-1048780

357220
10369990
lo15
0*220


1973

22000C0

C-o 0 1
Oo08

Cio 1 8

0
950000
0

23760-0
0&052
12474

516o00
6436577
5259655F
306350
6516C n5
-79428

1326571

y,


1974

22000 (
0.06

18

0
950000
0

251856
0o095
23926


516e00
12345955
1CC885C9
366350'
11344859
10C0196


1975

220000
0*03
0.01
0o18

C
950000
0


259411
O 137
35669


516o00
18405200,
1. 5039838
306350
16296188
2109012


1976

22C000
0.02
0. 1
0018

0
950000
425r000

264599
00180
47628

516 00
24575952
20082272
306350
21338608
3237344


24L7095 3515011 8893343
*






from the hypothetical new product venture (see Figure 5).

But no information was provided concerning the riskiness of

the venture. Can the venture lose money? What is the mini-

mum return that may be expected? What is the maximum?

These questions concerning the probability of occurence of

the various possible outcomes cannot be answered by deter-

ministic models.

This type of information can be derived, however, from

Monte Carlo simulations. Monte Carlo simulation requires

that the modeling system be capable of dealing with random

variables and be capable of executing a model repetitively.

CYS/1 can accept four types of random variables. A

random variable may conform to a normal distribution, a

Weibull distribution, a uniform distribution, or an arbi-

trary distribution expressed as a relative frequency distri-

bution (see Figure 12). The normal distribution may often

be used in describing empirical data, particularly the

distribution of averages such as an average per unit cost.

The Weibull distribution has the useful characteristic of

being bounded on one side. This is advantageous for ex-

pressing variables such as percentages as random variables.

In that particular case a Weibull distribution with an

upper bound of 100 percent could be used. If a normal,

Weibull, or uniform distribution is not appropriate, a dis-

tribution may be expressed as a relative frequency distri-

bution. This capability is particularly useful in describ-

ing empirical data which may not conform to any known mathe-

matical distribution; e.g., the age distribution of accounts





















A. Normal Distributions


H
Cd
10
0


X
B. Weibull Distributions


0




cd 0
rl1u


0
o



rA
10
Cd
0
o


X
C. Uniform Distributions


4-D
Cd0"
H0) i


D. Relative Frequency Distributions


Figure 12. Types of distributions accepted by CMS/1.


_r


t-H * ** -- !** I . | I I *


.... m


--


I I


n-~h






receivable or a distribution of the costs associated with

an operation.

In order to perform a Monte Carlo simulation, the num-

ber of times the model is to be executed must be stated.

This is accomplished by the same procedure used in sensi-

tivity analysis. That is, the parameter "ITERATIONS" is

stipulated on the EXECUTE statement.

The sample deterministic model presented in Figure 6

may be altered for execution in a Monte Carlo simulation

with the addition of the modules depicted in Figure 13. The

data module in Figure 13 alters three variables to make them

random variables. In addition, the report module named

"RISK" is added in order to print out the new information

supplied by the Monte Carlo simulation. The results of the

simulation are presented in Figure 14.

The values in Figure 14 that are printed in the format

specified by the report "NEW PRODUCT" are the average values

of the variables for the two hundred iterations. The report

"RISK" displays the distributions of the values of two se-

lected variables (i.e., CASH FLOW and ROI). The distribu-

tions indicate that the average value of the cash flow in-

creases over the years but the distribution of possible

values "spreads out." Also, while the expected return on

investment is high (29.8%), there is more than a 2.5 percent

chance that the rate of return will be negative and approxi-

mately one chance in seven that the rate of return will be

less that 11.5 percent. The Monte Carlo simulation thus

provides information concerning the risk involved in the


















*DATA PERIODS 1 TO 5
SET BEGINNING MARKET_SIZE EQUAL TO NORMAL(18COGO, 2603DCO)
SET MAXIMUMSHARE EQUAL TO WEIBULL(o2U0 *15, .06)
VARIABLE COST_RATE IS DISTRIBUTED(360*.1. 375,.1,
I 390,ll, 405,*12, 420,.13, 435,.13. 450,.11,
1 465,*68, 48C..06, 495,.04, 51Co.02)
*REPORT RISK
TITLE ANALYSIS OF NEW PRODUCT
MARGIN 0
COLUMN SIZES 15, 0. (9)
BEGIN NEW PAGE
SINGLE SPACE
DISTRIBUTION
SKIP 2 LINES
COLUMN HEADINGS "ACCOUNT", 1972", 1973",
1 1974", 1975", 1976"
COLUMN HEADINGS "-------", (" ----.")
ITEM CASHFLOW
BEGIN NEW PAGE
SKIP 2 LINES
COLUMN HEADINGS "ACCOUNT". 1972". 1973".
1 1974", 1975". 1976"
COLUMN HEADINGS "------- (* ----.")
ITEM 3, ROI
*EXECUTE DATA PRODUCT DATA, REPORT NEW PRODUCT, RISK
1 ITERATIONS 200


Figure 13. Additions to sample model for Monte Carlo simu-
lation.
































Figure 14. Results of Monte Carlo simulation.











ANALYSIS OF NEW PRODUCT


ACCOUNT

INITIAL MARKET
GROWTH RATE
BEGINNING SHARE
MAXIMUM SHARE

INVESTMENT
DEPRECIATION
SALVAGE VALUE

MARKET SIZE
SHARE OF MARKET
UNITS SOLD

PRICE PER UNIT
SALES
VARIABLE COSTS
FIXED COST
TOTAL COSTS
NET INCOME

CASH FLOW
PRESENT VALUE
PROFIT INDEX
ROI


1972

219500

O.C1
0.23

9000000
950000
0

219500
0.010
2195

516.CO
1132641
921659
306350
2177963
-1045362

360624
12595430
1.40
0.298


1973

219500
0.08
0.01
0.23

0
950000
0

237061
0.066
15618

516.00
8058922
6558469
306350
7814827
244102

1650076
*
*
*


1974


219500
0006
0.01
0.23

0
950000
0

251284
0.122
30597


516.CO
15788382
12848931
3;6 350
14105287
1683051


1975


219500
0.03
0.01
0.23

0
950000
0

258823
0.178
45979


516.00
23725136
19308256
3C6350
20564608
3160625


1976


219500
e002
0.01
0.23

0
950000
4250000

263999
0.234
61652

516.00
31811712
25889392
306350
27145776
4666165


3089004 4566593 10322124
*





89




ANALYSIS OF NEW PRODUCT


ACCOUNT 1972 1973 1974 1975 1976

CASH FLOW 0.015
186161
0.985 0.215 0.045 0.020
1038575
0.395 0.170 0.055
1890988
0.335 0.195 0.140
2743401
0.050 0.210 0.095
3595814
0.005 0.245 0.180
4448227
0.080 0.125 0.015
5300640
0.050 0.180 0.030
6153053
0.100 0.055
7005466
0.005 0.045 0.115
7857879
0.040 0.065
8710292
0.015 0.120
9562705
0.115
10415118
0.005 0.095
11267531
0.160
12119944
0.085
12972357
0.050
13824770
0.035
14677183
0.040
15529596
0.020



MEAN VALUE 360624 1650076 3C89C04 4566593 10322124
STD. DEV. 87232 652111 1286853 1939049 2603743




Full Text
xml version 1.0 encoding UTF-8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchema-instance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd
INGEST IEID ED2MT4N45_3YRB74 INGEST_TIME 2017-07-14T21:23:15Z PACKAGE UF00097652_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES



PAGE 1

A COLIPUTER-BASED CORPORATE MODELING SYSTEM By ROBERT FR/JIIOjIN ZANT A LISSERTATlOK PRESENTED TO Tr'.E GRADUATE COUT'JOIL OP THE UNIVERSITY OF PLORIIOA IN PARTIAL FULFILLMENT OP THE REQUIKEKENTS FOR THE DEGREE OP DOCTOR OP PHILOSOPHY UNIVERSITY OP FLORIDA 1972

PAGE 2

Copyright by Robert Franklin Zant 1972

PAGE 3

To Sue, Lynn, and Tina

PAGE 4

ACKNOY/LEDGHENTS The writer wishes to express his gratitude to the members of his supervisory committee: Dr. William V. Wilmot, Jr., Chairman; Dr. R. H. Blodgett; Dr. E. L. Jackson; and Dr. W. E. Stone. They have generously contributed their time and efforts in assisting the writer in this study. The writer is particularly indebted to Dr. Y.'ilmot, who as a professor, department head, and supervisory committee chairman, has contributed immeasurably to the writer's graduate studies. Mr. John Kisner, Kr. Joe Gothe, and Mr. Tom Cox of the Riegel Textile Corporation have also provided much-needed advice and encouragement throughout the course of this study. Finally, the writer wishes to acknowledge the selfdenial which was graciously accepted by his wife, Sue, and daughters, Lyr-n and Tina, Special appreciation is extended to his wife who typed all drafts and the final manuscript for this study.

PAGE 5

TABLE OP CONTENTS Page ACKNOWLEDGMENTS iv LIST OF TABLES vii LIST OF FIGURES viii ABSTRACT -X CHAPTER I. INTRODUCTION 1 Definition of Corporate Models 2 Functions of Corporate Models 3 Developments in Corporate Modeling 8 Purpose of Study 10 Methodology 10 Overview r 10 II. MODELING SYSTEMS 12 Desirable Characteristics of Modeling Systems 12 State of the Art 18 III. A CORPORATE MODELING SYSTEM 28 Overview of CMS/l 28 General Design Concepts 33 Control Language 42 Logic and Data Specification Language .... 51 Report Format Specification Language 56 IV. IMPLEMENTATION OF CMS/1 61 Deterministic Model 61 Sensitivity Analysis 63 Monte Carlo Sim.ulation 69 Interrelated Models 91 Y. SUl^IMARY AlW RECOMiMENDATIONS 109 Summary 109 Recommendations for Further Research HO

PAGE 6

TABLE OF CONTENTS (continued) Page APPENDIX A 113 BIBLIOGRAPHY 144 BIOGRAPHICAL SKETCH 146 VI

PAGE 7

LIST OF TABLES Page 1. Summary of Characteristics of Five Modeling Systems , , . . . 27 2. Summary of Control Language Keywords 50 A-1. Special Characters in the CMS/l Languages 121 A-2, Summary of Operators in the Logic and Data Specification Language 128 Vll

PAGE 8

LIST OF FIGURES Page 1. Logical organization of CI.IS/1 29 2. Sample data module 30 3. Sample logic module 31 4. Sample report module 32 5. Output from sample model 34 6. Sample deterministic model 65 7. Results with sum-of-the-years digits depreciation 67 8. Results with double declining balance depreciation 68 9. Addition to sample model for sensitivity analysis 70 10. Results of sensitivity analysis for the initial market size 72 11. Results of sensitivity analysis for the maximum market share 78 12. Types of distributions accepted by CMS/l ... 84 13. Additions to sample model for Monte Carlo simulation 86 14. Results of Monte Carlo simulation 88 15. Logic and report modules for products 92 15. Data modules and execute statements for products 94 17. Model results for Division One, Product One 96 18. Model results for Division One, Product Two 97 Vlll

PAGE 9

LIST OF FIGURES (continued) Page 19. Model results for Division Two, Product One... 98 20. Model results for Division Two, Product Two. . 99 21. Logic and report modules for divisions .... 101 22. Data modules and execute statements for divisions 23. Model results for Division One 103 24. Model results for Division Two. 25. Complete corporate level model 26. Results for corporate level model A-1. Schematic of CMS/l translation pass 116 A-2. Schematic of CMS/l execution pass 117 -1 -1 o A-3. Example model A-4. Results from example model 115 104 106 108 IX

PAGE 10

Abstract of Dissertation Presented to the Graduate Council of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy A COMPUTER-BASED CORPORATE MODELING SYSTEM By Robert Franklin Zant August, 1972 Chairman: Dr. V/illiam V. Wilmot, Jr. Major Department: Department of Management and Business Law The use of formalized computer-based models in the management of a firm has been primarily concentrated in operational areas. There is, however, a growing interest in the development of models v»'hich are broader in scope than operational models. Models which interrelate all areas of the firm production, finance, and marketing are called corporate models. Past efforts in the area of corporate modeling have demonstrated the need for special purpose computer languages which facilitate the construction of corporate models. The purpose of this study is to determine the desirable characteristics of such languages and then to develop prototype languages which supply the facilities necessary to support a corporate modeling effort. A modeling system is developed which is composed of three languages a control language, a logic and data specification language, and a report format specification language. Some of the features of the new system are

PAGE 11

1) a high level of user orientation; 2) the ability to perform sensitivity analysis; 3) the ability to perform Monte Carlo simulations; and, 4) the ability to transfer the values of variables from one model to another. The high level of user orientation of the modeling system developed in this study makes the system particularly well suited for the initial modeling effort of a firm, for the development of exploratory and/or short-life models, and as a pedagogical aid in introducing managers to the concept of modeling. XI

PAGE 12

CHAPTER I INTRODUCTION One of the fundamental concepts in management theory is the concept of models. Managers use models everyday in forming opinions and in making "intuitive" judgments as well as in making decisions "scientifically." Indeed, everyone interprets his perceptions in accordance with a conceptual or mental model known as the person's "view of the world." Many psychologists maintain that if a person's "view of the world" can be understood then his behavior can be predicted. And, a person's behavior can be altered by altering his conceptual model. The implication for management scientists is that they should be concerned with the formalization of the models which managers are currently using (a positive theory) and the models which managers should be using (a normative theory). Management theory would thus form a base for the improvement and the development of management techniques. The formalization of models used by management has been mostly concentrated in operational areas such as production scheduling and inventory control systems. Operational problems are more easily formalized because they tend to be repetitive in nature and more well structured than other managerial problems. There is, however, a great deal of interest in the development of models which are broader in scope

PAGE 13

than operational models, models which consider the total corporation; i.e., corporate models. Definition of Corporate Models The activity in the area of corporate modeling has been so diverse that one author has concluded that there is "no generally accepted definition of a corporate model. .. "[11, p. 43]. Models reported in the literature have varied from marketing oriented models [12] to production oriented models [2] to models used only in investment analysis [20, 21]. In most cases, however, the models which are purported to be corporate models have the common trait of considering the impact of an action over the total organization. This is usually accomplished by considering the impact on the corporate financial statements; i.e., the income statement, the balance sheet, cash flow statement, etc. The most trivial corporate model would simply be the relationship "corporate income equals total revenue minus total expenses." This simple model would be utilized by estimating the effect of a proposed action on revenues and on expenses and then computing the estimated corporate income. Of course, a model at this level of aggregation would be of little use. In order to make the model more meaningful, the detail of the model may be increased by segmenting the revenues and expenses by divisions and by products. The model would then consist of relationships such as "corporate income equals the sum of the divisions' net incomes minus corporate expenses" and "a division's net income

PAGE 14

3 equals the sum of the net contributions per product minus divisional expenses." The model could then be used to study the effect of alternatives such as the reallocation of advertising funds among products; or the effect of a new pricing policy; or, if the model were sufficiently detailed, the effect of a change in the production process. In this way the corporate model could be used to analyze the effects of various alternative actions on the entire corporation. Functions of Corporate Models The functions of corporate models have been defined in varying ways by several different authors [see 16; 9; 13; and 7]. However, the functions may be generally classified into three grQups. First, corporate models serve as a focus for planning and decision-making efforts; second, they assist in the analysis of alternative courses of action; and, third, they assist in the coordination of the firm's planning and decision-making activities. A corporate model serves as a focus for planning and decision-making efforts during the developmental stage of the model and serves as a continuing focus as the model is being used. The development of a corporate model requires the clear and precise specification of the inter-relationships between elements within the firm. Since the model is a representation of management's concept of the firm, the creation of the model will highlight the areas in which the manager's conceptual models are "fuzzy" or ill-defined. By focusing attention on these areas, the model encourages

PAGE 15

4 management to clarify their perceptions of the functional inter-relationships in the organization. The creation of the model thereby causes management to re-examine and to improve their understanding of the firm. The continual use of the model then both encourages and guides the re-evaluation and improvement of this imderstanding [16, p. 611], The rephrasing of management's perceptions in the form of a model also has the effect of defining the information needed in the planning and decision-making process. "As a matter of fact, the approach used to develop a corporate model is very similar to the method used to develop the requirements for an information system, e.g., the identification of key variables" [9, p. 33] • A model would define, for example, the classification of costs or the form of information such as market forecasts which are needed for managerial planning and decision-making. Perhaps the most obvious function of corporate models is that they may be used in the analysis of alternative courses of action. A corporate model represents a comprehensive and interrelated view of the firm. Consequently, the use of such a model broadens the scope of the analysis of an alternative both in terms of the organizational unit and the time span considered. That is, it is possible to investigate the long-term effects of an alternative on the entire organization. Furthermore, since corporate models are usually solved with little delay by use of a computer, more alternatives can be considered than would be otherwise possible. Of course, the shorter response time could be

PAGE 16

5 used to make decisions more rapidly instead of being used to allow the consideration of more alternatives. Or, a decision may be delayed until more information is available. In any event, the use of a corporate model has a significant impact on the managerial process. The use of the computer in solving corporate models also has the advantage of improving the analysis of alternatives through improved accuracy, through the determination of critical variables, and through risk analysis. Although the saying "Garbage In-Garbage Out" is certainly true with respect to computers, it is also true that, given correct information and a correct formulation of the procedure to be followed, the computer is much less prone to error than are humans. This increased accuracy is essential in a corporate modeling effort because of the number of manipulations and the magnitude of the data base which is involved. The use of a corporate model in conjunction with sensitivity analysis aids in the determination of the critical variables for a particular decision. Sensitivity analysis is accomplished by repeatedly solving a model with the value of one input variable being changed between each solution. If the behavior of the model changes significantly for small changes in the input variable, then the system is said to be sensitive to the value of the input variable. By carrying out sensitivity analyses over many input variables, the critical variables may be determined. More effort can then be expended in estimating and controlling the critical

PAGE 17

6 variables. Corporate models may also be used in analyzing the risk involved with the acceptance of various alterations. This is usually accomplished by the use of Monte Carlo simulation. Monte Carlo simulation refers to the process of sampling from probabilistic variables and then using the sample values in solving a mathematical model. The sampling-solution process is repeated n\imerous times in order to develop a distribution of the responses of the model. In the case of a corporate model the distribution would typically describe the profitability of an alternative. The distribution would depict the risk associated with the alternative by disclosing the probability of loss as well as the probability of receiving less than acceptable returns. The third function of corporate models is the coordination of planning and decision-making activities. The development of a corporate model requires the explicit consideration of the assiimptions that are to be made, the explicit statement of the inter-relationships that are to be considered, and the specification of the information which is needed. By unambiguously specifying the relationships among variables and the values of variables, a model represents a common viev/ of the firm which all managers can comprehend. Planning and decision-making activities are thereby undertaken with all parties having a common frame of reference. As McKenney puts it, a model "is discernible to a variety of managers and therefore discussible" [16, p. 600].

PAGE 18

7 Models also assist in coordination by virtue of their comprehensiveness. Y/hen an alternative is analyzed, its effect on the whole firm is considered. If a new policy is to be considered, "it is possible to study how it reverberates and affects the entire company" [9, p. 33]. The use of models can also improve the consistency of decision-making throughout the firm. The use of a model over time and the use of a model by different areas in an organization insures that the same variables are considered in each decision-making process. If a process and model are changed, then the new model would represent an explicit statement of the new assumptions and criteria that are to be used. This broad use of modeling for consistency in decisionmaking is exemplified by the Monsanto Company. The Monsanto Company has developed a modeling language which affords them a convenient though advanced modeling capability. Monsanto now requires that all proposals for large capital projects contain the results of sensitivity and risk analysis [4, p. 12]. Proposals from all areas of the firm can now be compared on the basis of common economic assumptions. In review, corporate models function as a focus for the initial activity in a planning effort and as a focus for the continued improvement of such efforts. Corporate models aid in the analysis of alternatives because the use of a computer allows the rapid analysis of complex

PAGE 19

8 models. Corporate models also assist in the determination of critical values through sensitivity analysis and the consideration of risk through Konte Carlo simulation. Finally, corporate models assist in the corrdination of planning and decision-making activities throughout the organization. Developments in Corporate Modeling The construction of formalized corporate models is a relatively new endeavor. The first modeling efforts began in the late 1950' s, but widespread interest in corporate modeling did not develop until the late 1960's [9, p. 29]. The recent growth in corporate modeling seems to be a result of the fact that the initiation of a corporate modeling effort is usually an extension of a firm's formal corporate planning activities. Thus, the interest in modeling has lagged the interest in formal planning which experienced a rapid growth in the late 1950's and early 1960's [9, p. 30]. Corporate modeling has also been found to be an expensive endeavor. The construction of most models has required the expenditure of several man-years of effort. One large, sophisticated model required a total of 23 man-years for development [10, p. 44]. The large investment necessitated by a corporate modeling effort has led to the development of generalized models and to the development of specialized modeling languages. The generalized models are usually relatively simple

PAGE 20

9 models which produce pro forma statements according to common accounting definitions. They allow a varying degree of freedom in the input of data but allow little or no freedom in specifying the logic of the model or the form of the output. Such models have a limited utility since, in order to gain generality, the models sacrifice detail. Several corporations such as IBM [14, 19] , Dow Chemicals [17], On-Line Decisions [2], and Monsanto [4] have developed specialized modeling languages or modeling systems which are designed to decrease the cost of developing a corporate model. Modeling systems are not corporate models themselves, but rather assist in the development of corporate models by providing data structuring routines, predefined mathematical routines, and report writing routines. IBM's Planning Systems Generator (PSG), for example, provides a data structure which can contain over 10,000 values, provides routines for computing the depreciation and the retirement of investments, and provides capabilities for printing reports complete with titles and column headings. These specialized languages, while representing a major improvement in modeling capabilities, have tended to be oriented more towards the computer specialist than towards the manager. Most managers would have difficulty in interpreting a corporate model when expressed in one of the specialized languages. P'or example, in order to use PSG the user must be capable of programming in the FORTRATJ language. Thus, language development has not yet attained the desirable quality of allowing "the modeler and planner to

PAGE 21

10 conceptualize the simulation model in the language it is to be programmed" [15, p. 172], Purpose of Study The purpose of this study is to further the development of modeling languages that can be used in constructing corporate models. A modeling system consisting of three languages will be developed which v»'ill provide facilities for data structuring, logic formulation, and report writing. The system will be comprehensible to managers so that a model will not have to be interpreted for the manager by a computer specialist. This user orientation will make the system particularly well suited for the initial modeling effort of a firm, for the development of exploratory and/or short-life models, and as a pedagogical aid in introducing managers to the concept of modeling. Methodology This study will review the literature to determine the characteristics of currently available modeling systems and to determine the desirable characteristics of such systems. A new modeling system will then be developed which supplies the facilities necessary to support a corporate modeling effort while retaining a high level of management orientation. Overview The results of this study are reported in four sections. The first chapter introduces the concept and describes the

PAGE 22

11 functions of corporate models. The growth of corporate modeling activity is also reviewed. The purpose of this study is given to be the development of a corporate modeling system that is suitable for use in a variety of modeling efforts including use as a pedagogical device. The second chapter describes the desirable characteristics of a modeling system. Several modeling systems currently in use are discussed and are compared in relation to the desirable characteristics which have been defined. The third chapter introduces the corporate modeling system which was developed in this study. General design concepts are discussed, and then the thr-eo languages which comprise the corporate modeling system are described. The fourthchapter presents examples of the use of the modeling system discussed in the previous chapter, while the fifth chapter presents the conclusions of this study and recommendations for futixre research.

PAGE 23

CHAPTEl^ II MODELING SYSTEMS The initial modeling effort of most firms has been expended in the development of individualized models [see l8; 4; and 3]. The individualized models could be executed with different data, but the logic and the reports printed by the models were "set in concrete."The logical structure and the report formats could only be altered with considerable difficulty by reprogramming the model. This was found to be an important deficiency, since model building is an evolutionary process. Models are continually altered to reflect new requirements and changing situations. As McKenney states, "An adaptable and changing model is essential if the model is to be used over an extended period of time" [15, p. 170]. Thus, the initial modeling efforts highlighted the deficiency of the individualized model approach and, in so doing, helped define the capabilities required of corporate modeling systems. Desirable Characteristics of Modeling Systems The previous discussion of the functions of corporate models indicated the necessity for the integration of the modeling effort with the management process. That is, the models should reflect the manager's view of the organization; and, hence, the managers should be intimately involved in the 12

PAGE 24

13 construction and operation of the models. The major difficulty encountered in accomplishing this integration has been the problem of interfacing managers and computers. McKenney summarizes the problem thusly, An impediment to more adequate rapport between modeler and planner is the state of present computer languages. The language of the program for the model has to be interpreted to the planner. This interpretation creates ambiguities and misunderstandings which limit the effectiveness of present simulations as a tool • for most planners. Hopefully new computer languages will allow the modeler and planner to conceptualize the simulation model in the language it is to be programmed [15, p. 173] • Modeling systems consist of computer languages and datahandling routines that simplify the construction of models and facilitates the manager-computer interface. The desirable characteristics of such systems may be summarized as follows: 1. The modeling system should be comprehensible to managers . 2. The logical structure of a model should be easily translated into computer executable form. 3. The modeling system should have convenient report generation capabilities, 4. The specification and the alteration of the values of input variables should be easily accomplished. 5. The creation of the logical structirre of a model, of the report format, and the value of variables should be independent. 6. The modeling system should support the performance of simple logical and arithmetical tasks as well

PAGE 25

14 as providing the capability of performing special purpose calculations such as the discoujiting of cash flows. 7. The modeling system should facilitate the performance of sensitivity analyses. 8. The modeling system should facilitate the performance of Monte Carlo simulations. 9. The commimication of the values of variables among models should be supported. 10. The modeling system itself should be alterable and expandable. The first requirement of a modeling system is that the conceptual design of the system and the use of the system be compiehensible to managers. A manager should be able to \Hiderstand the structure of the system and to develop unsophisticated models with a minimum amount of training. Also, a manager should be able to comprehend the logical structure of a model created by others. This requirement does not mean that all managers will actually be physically creating computer-based models; nor does it mean that technically competent personnel will no longer be needed. V/hat is implied is that managers will be better able to interface with technical personnel and with computers because the modeling system will function as a common language. In order for a modeling system to fulfill its role as a common language, it must provide convenient methods for the creation and manipulation of the three components of a model the logical structure, the data structure, and the

PAGE 26

15 reports. The logical structure should tie easily expressed in an "English-like" language that is both understandable by humans and executable by computers. For example, the sentence MARGINAL_INCOME EQUALS SALES MINUS VARIADLE_EXPENSES is comprehensible to managers and is an executable statement under the corporate modeling system introduced in the next chapter. The data structiiring capabilities are an important part of a modeling system since most models are executed over time periods rather than for just one time period. For example, a budgeting model might be executed for twelve time periods (i.e., tv/elve future months), while a long-range planning model might be executed over five periods corresponding to five future yeai's. A modeling system should thus accommodate a varying sized data structure. The need for convenient report generation capabilities might at first appear to be simply a convenience item, almost a "frill," since any computer output could be copied over into a meaningful form for managers. But a report generator is more than just a convenience item. The concept of a modeling system is to increase the integration of models into the management process by improving the interface between managers and computers. This interface is a two-way interface; the manager supplies information for the computer and gets information out of the computer. The objective is to lessen the need for intermediaries in both

PAGE 27

16 cases. Thus, the output should not have to be interpreted for the manager. Also, a report generator makes it easy to alter the formats of reports to reflect changes in the logical structure of models and new needs for information. The fifth characteristic summarized above was that the three components of a model (logic, data, and report) should be created independently. This does not mean that the three components are unrelated. Rather, the three components should be created separately and then linked together when the model is to be executed. This will allow different data to be executed with the same logic, different logic to be executed with the same data, and different reports to be printed with appropriate logic-data combinations. The sixth characteristic presented above is, of course, the primary raison d'etre of models and modeling systems. The purpose of a model is to perform some prescribed calculations v/hich will assist the manager in his planning and decision-making activities. A modeling system must thus provide the capability of performing logical and arithmetical tasks and provide certain special purpose functions that are commonly required in the business environment. The modeling system should also provide capabilities beyond simple arithmetical tasks by supplying facilities for the performance of sensitivity analyses and Monte Carlo simulations. Sensitivity analysis requires that a model be repeatedly executed with a different value for a particular variable being used in each execution. The modeling system must

PAGE 28

17 therefore provide the facility for denoting the variable to be used in the sensitivity analysis as well as the successive values it is to assume. IPhe requirement for the support of Konte Carlo simulations is much more involved than the requirements for sensitivity analysis. Monte Carlo simulation require repeated executions as does sensitivity analysis, but it also requires two further capabilities. First, some of the variables in the model must be expressed as random variables which either conform to a mathematical distribution (e.g., a normal distribution) or conform to some empirical distribution. Secondly, the results of the repeated executions must be accumulated so that the relative frequency of the occ\ir-ence of the different values for a particular variable may be determined. The report generating routines should then have the capability of depicting these relative frequencies. A corporate model is typically composed of an interrelated set of models. For example, a corporate model may consist of a number of product models whose outputs are summaxized by divisional models whose outputs are in turn summarized by a model for the total corporation. This modu-larization of a corporate model is desirable for a number of reasons. Modularization allows for some areas of the organization to be modeled in more detail than others, allows more decentralization in the development and use of the models, aids in the alteration and maintenance of the models, and allows the independent execution of parts of

PAGE 29

18 the corporate model. The subdivision of a corporate model also gives rise to a requirement for the ability to communicate the values of variables among models. The values computed in one model must be saved in such a manner that they may be accessed by a model which is executed later. In this way models for different products may be executed with their results being saved and later accessed by models which summarize the performance of each division. Likewise, a model could access values computed by the divisional models and then summarize the performance of the total organization. A final requirement of a modeling system is that it should itself be amenable to alteration and expansion. As a modelj.ng system is used and as the modeling effort becomes more sophisticated, it is likely that there will be a need for capabilities which were not foreseen at the time of the original development. This growth has been exemplified by IBM's PSG which was revised to increase the number of special purpose mathematical routines and to improve the data strucuturing capabilities. Likewise, the Dow Chemical Company's PS1 has a history of continual alteration and expansion and is currently being completely rewritten [17]. The original development of a modeling system is the beginning rather than the end. Thus, a modeling system should be designed for alteration and expansion. State of the Art Although a number of corporate models and modeling

PAGE 30

19 systems have been reported in the literature, little detailed information has been reported. Gershefski has presented in detail the Sun Oil Company's corporate model [10]. Then later, in studying the state of the art, he concentrated more on general attributes such as the number of firms engaged in the modeling activity, the organization and resources required for a successful modeling effort, and the general characteristics of models [9]. Dickson, Kauriel, and Anderson have summarized with a bit more detail their study of twenty models [5]. But, in general, corporate modeling activity has not been reported in much detail. In addition to the lack of reported detail, another difficulty in determining the state of the art is the lack of distinction in the literature between models and modeling systems . Dickson c_t al. distinguish between two "philosophies" of models the rigid structure approach versus the flexible structure approach but fail to clearly distinguish modeling systems. One philosophy exemplified by our findings noted above is to adopt a fixed structure model approach which forces the user to employ existing accounts, fixed output reports, and a limited set of options for attaching values to variables in the model. There is an alternative philosophy — namely, to build a more general and flexible model which allows the user considerable latitude in choosing model variables and methods for setting their values over the projected horizon [5, p. 53]. Rigid or fixed structure models predefine the variables which are used in the model, predefine the method for assigning values to the variables, and predefine report formats for the printing of variables. Most corporate models appear

PAGE 31

20 to be of this type [5, p. 58]. A rigid structure model is difficult to alter in response to changing situations so that it is desirable to have a more flexible model structure. Flexibility is usually obtained by allowing the user to specify the "names" of the variables used in the model, by allowing the user to design the format of reports, and by allowing alternative methods for assigning values to variables (e.g., the explicit statement of all values, the specification of beginning values and growth rates, or the specification of a variable as a function of another variable). Flexibility is also obtained by allowing the input of values to override values which would normally be calculated. Using these techniques, considerable flexibility can be built into a model in that the meaning of the variables, the logic of the model, and the reports produced by the model can be altered. There are a number of models of both the rigid and flexible structure type reported in the literature. Two easily compared models which are described in sufficient detail in the literature are the rigid structure model developed by Dinter [6] and the flexible structure model FINANS developed by General Electric [8]. Both models are interactive financial models which produce £ro forma income statements, balance sheets, ratio analysis, etc. The logic in both models is based upon general accounting definitions. In the Dinter model the logic, variables, and reports are predefined. The user interacts with the model by specifying the values of variables and then noting the response

PAGE 32

21 evidenced by the printed statements. The user can then change some of the values of the variables and re-execute the model. The user is assisted in this process by exception reports which highlight "out of bounds" conditions and list possible causes for the exceptions. The General Electric model does not have the exception reporting feature but does allow the user more flexibility in the application of the model. For example, the values of variables may be assigned in several different ways. There are three options for specifying the values of anticipated sales and four options for specifying the values of other accounts. Two of these four options allow the user to express the value of an account as a function of sales and/or the change in sales. Thus the user has a limited ability to create some of the logic of the model. There is also flexibility, though limited, in the specification of reports. The types of reports and their formats are predefined, but the user can specify the title that is printed for each account. A modeling system is different in philosophy from either a rigid or flexible structured model. A modeling system is a set of special purpose computer languages and facilities which facilitate the construction, alteration, and execution of models. It is not itself a corporate model; it is used in the construction of corporate models. A niimber of corporate modeling systems have been developed and reported in the literature. Several of these systems are reviewed below with the intent of providing a

PAGE 33

22 representative though not exhaustive view of the available corporate modeling systems. Perhaps the most widely used corporate modeling system is the Planning Systems Generator (PSG) developed by Henry Lande of IBM [14]. PSG consists basically of data input and data structuring routines, report generation routines, and arithmetic functions which can be incorporated into a corporate model. The logic of a model is expressed in the FORTRAN computer language. PSG is, undoubtedly, one of the best corporate modeling systems currently available. It does, however, have some limitations. The foremost shortcoming is that the modeler must be capable of programming in the FORTRAN computer language. FORTRAN is not an extremely difficult language to learn but it is algebraically oriented rather than being "English" oriented. This is particularly bothersome in that variables must be referenced by position rather than by name. For example, the value of sales cannot be referenced by simply refering to "SALES," rather the position in a table of values must be known so that the values can be referenced by specifying the appropriate line number in the table. The user must thus coordinate the values, the positions, and the meanings of variables. Two other limitations of PSG are that there are no built-in capabilities for the performance of sensitivity analyses and Monte Carlo simulations. Sensitivity analysis can, of course, be accomplished by the user repeatedly initiating the execution of a model after he has altered the

PAGE 34

23 value of a variable. It is more desirable, however, for the user to be able to initiate execution only once and have the system automatically perform the sensitivity analysis for a designated variable. The support required for Monte Carlo simulation is more involved and cannot easily be compensated for by simple repetitive executions. Monte Carlo simulation requires many more repetitions than does a sensitivity analysis. It is therefore desirable for the modeling system to be capable of performing Monte Carlo simulations. This requires the capability of expressing variables as random variables, the capability of selecting a value of the random variables to be used in the calculations, and the capability of counting the number of occurences of various outcomes. These capabilities are not supported by PSG. Another modeling system, the Financial Analysis and Planning System (FAPS), developed by On-Line Decisions, Inc. has capabilities similar to PSG [2]. In addition, FAPS has the capability of performing sensitivity analyses and has extensive capabilities for the statistical and mathematical manipulation of time series data. But, just as with PSG, the user must reference variables by position rather than by the use of a meaningful name; and FAPS does not support Monte Carlo simulations. The Dow Chemical Company has developed a modeling system called Planning Simulator 1 (PSi) in which variables may be referenced either by position or by a one to six character name [17]. PSI is not, however, as versatile a

PAGE 35

24 system as PSG or FAPS. One of the major inconveniences of PSI is that arithmetical operations cannot be performed in series. For example, the PSI statement Y ^ ADD(A,B) denotes that the variable Y should assume a value equal to the value of A added to the value of B. Likewise, the statement Z = SUB(Y,V.') denotes that the variable Z should assume a value equal to the value of Y minus the value of V/. Thus Z v.'ould have the value of A plus B minus W. But the operations "ADD" and "SUB" cannot be used in series to compute the value of Z directly. Consequently, either all computations would have to be broken down into single operations or a multitude of special operations must be created. PSI has evolved in accordance with the latter approach so that there are currently over one hundred operations in the PSI language. To become proficient in the use of the language, the user would have to familiarize himself with each of these operations. Another problem in using PSI is that there appears to be no convenient method for saving the results from the execution of a model and then later accessing the results as inputs into another model. Values can be transferred from one model to another only when the executions of the models are contiguous. This is a significant handicap in

PAGE 36

25 corporate modeling since a set of models is often used to summarize plans on a product-division-corporation continuum. Without the capability of permanently saving results, the entire set of models must be run whenever any change is made. Another shortcoming of PSI is that the specification of report formats is integrated with the specification of logic. Thus, the user is not free to mix logic, data, and report modules at the time of execution. And, if a report is to be changed, the logic-report module must be altered. Finally, PSI, like IBM's PSG , lacks the capability to automatically perform sensitivity analyses and Monte Carlo simulations. A fourth modeling system, the CAPEX Corporation's AUTOTAB is an interactive system available on General Electric 's Time Sharing Service [1]. AUTOTAB is a relatively simple system to use and has the advantages of referencing variables by name and transferring values among models by storing and retrieving them from permanent files. One limitation of AUTOTAB is that reports, data, and logic are contained in a single "package" so that the "package" must be altered to change any of the components. Also, a common report could not be used with two different logic components without duplicating the report specifications. In addition, AUTOTAB does not support sensitivity analyses and Monte Carlo simulations. A final modeling system, reported by Buchman, is Monsanto's APEX system [4]. APEX was designed for use in creating special purpose models rather than for use in

PAGE 37

26 building a total corporate model. The system seems to be an excellent system for its intended use. It obtains a higher level of user orientation than all the other systems mentioned except AUTOTAB. It is simple to understand and easy to use and yet offers advanced capabilities for sensitivity analyses and Monte Carlo simulation. APEX is not as well suited, however, for use in corporate modeling when an interrelated set of models is used. APEX does not allow the independent creation of logic, data, and report modules and does not support the transfer of values among models. The previous discussion of five representative modeling systems is summarized in Table 1. The systems are compared in terms of a few major design concepts with no attempt being made to discuss the details of implementing any of the systems. However, the reported usage of PSG and FAPS has shown that sophisticated modeling systems can be incorporated into planning and decision-making activities and can make significant contributions to these efforts. On the other hand, systems such as AUTOTAB and APEX have demonstrated the desirability and practicality of maintaining a high level of user orientation. The next chapter describes a modeling system that attempts to combine these two lessons.

PAGE 38

27 X!

PAGE 39

CHAPTER III A CORPORATE MODELING SYSTEM This chapter describes a corporate modeling system named CMS/l . The structure and the operating characteristics are described first. Second, the major design concepts of the system are discussed. Finally, more detailed explanations of the characteristics and the use of the system v/ill be given. This chapter is intended to be an introduction to the concepts, capabilities, and use of CMS/l . It is not intended to supply all of the details necessary for the use of CMS/1. A USER'S MNUAL which does supply such detailed information is contained in Appendix A. Overview of CMS/1 The logical organization of CMS/l is depicted in Figure 1. The user originates logic, data, and report modules in the appropriate CMS/l languages, i.e., the logic and data specification language or the report format specification language (see Figures 2, 3, and 4). Then the modules are entered, usually via cards, into CMS/l where they are translated into a more conveniently executed form and stored on a magnetic disk. The user can then give a command for specific logic, data, and report modules to be retrieved from the disk, combined into a complete model, and executed. 28

PAGE 40

29 Logic Module Data Module Report Module Q A L User \ » CMS/1 Translation Pass Saved Results Figure 1. Logical organization of CMS/l

PAGE 41

30 DATA PKOOUCT_DATA PERIODS 1 TO 5 SET INVESTMENT EQUAL TO 9CC0CCO. 0. ft C. C SET SALVAGE EQUAL TO C» Ct Cf 0. 42500C0 , SET TAX_RATE EQUAL TO .48 SET PRICE EQUAL TO 516 SET FIXED_COST EQUAL TO 3C6350 SET VARl ABLE„COST_RATE EQUAL TO 421.65 ; SET BEGINNING_MAPKET_SIZt EQUAL TO 220000 j SET GROWTH_RATE EQUAL TO • «08» .OC. .'03« .02 j SET BEGINNING_SHARE EQUAL TO .01 SET MAXI MUM_SHARE EQUAL TO .IS SET DISCOUNT_RATE EQUAL TO ,12 SET DEPRECIATION EQUAL TO DEPREC I ATE { 1 . I N VESTMENT » SAL VAGE > Figure 2. Sample data module. i

PAGE 42

31 LOGIC SET MARKET_SIZE EQUAL TO GROWTH ( BEG I NN I NG_M ARKET_SI ZE , * 1 GROWTH_RATF) SET MARKET_SHARe EQUAL TO L I NE AR ( BEG I NN ING_SHARE . 1 MAXIMUM_SHARE t ) SET UNITS_SOL0 EQUAL TO MARKET_SIZE TIMES MARKET_SHARE SFT SALhS EQUAL TO UN1TS_S0LD TIMES PRICE SET VARIABLE_COSTS EQUAL TO VAR I AOLE_COST_RATE TIMES 1 UNITS_SOLD SET TOTAL_COSTS EQUAL TO FIXED_COST PLUS VAR I ABLE_COSTS 1 PLUS DEPRECIATION SET OPERATING_INCOMF EQUAL TO SALES MINUS TOTAL_COSTS SET TAX_EKFECT EQUAL TO TAX_RATE TIMES DEPRECIATION SET CASH_FLOW EQUAL TO OPER AT I NG_I NCOME PLUS SALVAGE 1 PLUS DEPRECIATION PLUS TAX_EFFECT SET PRESENT_VALUE EQUAL TO D I SCOUNT ( CASH_FLOW . 1 DISCOUNT_RATE) SET PROFIT_INDEX EQUAL TO PRESE NT_V ALUE DIVIDED BY 1 INVESTMENT SET ROI EQUAL TO I Nl RL_RATE ( I N V ESTMENT CASH_FLOW) Figure 3« Sample logic module.

PAGE 43

32 REPORT NEW_PRODUCT TITLE ANALYSIS OF NEW PRODUCT MARGIN COLUMN SIZES 15, 0. (9) BEGIN NEW PAGE SKIP 2 LINES COLUMN HEADINGS "ACCOUNT", •• 1972", •• 1973"» 1 " 1974", •• 1975", " 1976" COLUMN HEADINGS " ", (" ") ITEM "INITIAL MARKET", BEG 1 NNI NG_MARKET_SI ZE ITEM 2, GHOWTH_RATE ITEM 2» BEGINNI NG_SHARE ITEM 2, MAX. IMUM_SHARE SKIP I LINE ITEM INVESTMENT ITLf-'. DEPRECIATION ITEM "SALVAGE VALUE", SALVAGE SKIP I LINE ITEM MARKET_SIZE ITEM "SHARE OF MARKET". 3» MARKET_SHARE ITEM UNITS_SOLD SKIP 1 LINE ITEM "PRICE PER UNIT", 2, PRICE ITEM SALES ITEM VARIABLE_COSTS ITEM FIXED_CaST ITEM TOTAL_COSTS ITEM "NET INCOME", OPERAT I NG_I NCOME SKIP 1 LINE ITEM CASH_FLOW ITEM PRESENT_VALUE ITEM 2, PROFIT_IND£X ITEM 3, ROI Figure 4. Sample report module.

PAGE 44

33 The execution of a model is actually a six-step process. 1. The first step is to examine the specified logic module and report modules to determine the names of all variables which will be used. 2. The specified data modules are retrieved and the values are assigned to the indicated variables. Variables are ignored if they are contained in a data module but are not contained in the logic module or in a report module. 3. The third step is to perform the calculations specified in the logic module. 4. If a sensitivity analysis or Monte Carlo simulation is in progress, the second and third steps are repeated. 5. If requested, the values of specified variables are saved by creating a new data module. 6. The requested reports are printed (see Figure 5). General Design Concepts The design of CMS/l is based upon two basic assumptions. They are: 1) It is both necessary and desirable to improve the interface betv/een managers and computers with respect to the creation and manipulation of corporate models. 2) Corporate models are basically data manipulators. Data must be acquired, "massaged," stored, and printed out in reports. Starting with these two assumptions about corporate models and their environments, a nimber of more specific

PAGE 45

ANALYSIS OF NPW PRODUCT ACCOUNT 1972 1973 1974 1975 34 1976 INITIAL MARKET

PAGE 46

35 design characteristics can be derived. The design characteristics may be grouped into four catagories: 1) the "point of view" represented in the design of the system, 2) characteristics which promote ease of use, 3) characteristics which provide flexibility, and 4) technical characteristics. The primary point of view reflected in the design of a modeling system should be that of the manager and not the computer specialist's point of view. This seems selfevident, but it is a difficult distinction to maintain. It is tempting to design the modeling system from the standpoint of the ease with which the system itself can be constructed rather than from the standpoint of the ease with which the system can be utilized. The designer must ask himself "ViTiat facilities are needed by the modeler?" and not just "V/hat facilities can be easily provided?" In order to be better able to maintain this distinction, CIv;S/l is written in the computer language PL/l . PL/l is a very powerful computer language developed by IBM. It has advanced capabilities that are not available in other languages such as FORTRAN and BASIC which have been used most often in the development of modeling systems. The use of PL/1 greatly reduces the niimber of restrictions imposed on the modeling system by computer programming considerations. A second characteristic of the modeling system is that the system should be easy to use. One of the major contributants to the ease of use is the utilization of "Englishlike" languages for communication between the manager and

PAGE 47

36 the computer. The objective is to design a satisfactory language which falls betv/een the extremes of the verbose, sometimes imprecise English language and a cryptic, though precise, numerical code. But the perceived successfulness of this endeavor depends in part on the user. An experienced user usually prefers a less verbose language than does a novice. For this reason, CKS/l is designed with both "English-like" forms and short-forms that can be used to designate a required operation. Another contributant to ease of use is the existence of default conditions. A system that is designed to be used in corporate modeling must be capable of performing many different tasks. However, flexibility increases the difficulty of use since the user must denote which alternative he wishes to select for each option that is available to him. This problem may be mitigated by the use of defaults. If no alternative is specified for an option, a predefined alternative is assumed by the system. The employment of selection by default greatly simplifies the use of a system. Another contributant to ease of use is the provision of extensive error checking routines. V/hen an error is detected, it should be diagnosed and noted by the printing of a precise and clearly worded error message. Good diagnostic capabilities are an important part of a modeling system. The system should be designed to assist the user in identifying his mistakes as well as being designed to execute error-free input. A third design characteristic is flexibility. Model-

PAGE 48

37 ing systems should be flexible enough to be used by different organizations and to be used for different purposes. They can be used in preparing budgets, in cash flow analyses, in facilities planning, in long-range planning, and in special projects such as capital investment analysis. One method of providing the needed flexibility is to provide the capability of creating models in segments. A model is segmented into modules which contain onl;y' data, modules which contain only report formats, and a module v/hich specifies the logical relationship among the variables. Then, when the user wishes to execute a model, he can select the appropriate modules and have them combined and executed. There are several significant effects of this modular approach. First, the logic module can be created totally independently of the number of periods over which it will be executed. A planning model could thus be executed over three, five, ten, or ar:y other number of years without changing the logic of the model. The flexibility in the specification of time periods also makes possible the development of models which have different time horizons. For example, budgeting is usually concerned with twelve monthly periods, while long-range planning is typically concerned with a five-year period, and capital investment decisions may cover widely different periods. A modeling system which supports varying horizons can be used in each of these areas. Second, the logic module can be created without regard as to whether it will be executed as a deterministic or as a

PAGE 49

38 stochastic model, or whether it will be executed in conjunction with a sensitivity analysis. These alternatives are a function of the data which are used and the manner in v;hich the model is executed; they need not be reflected in the logic of the model. For example, the statement DOLLAR_SALES EQUAL UNIT_SALES TIMES UNIT_PRICE defines the logical relationship between three variables. If the two variables "UNIT_SALES" and "UNIT__PRICE" both are single-valued variables, then the relationship is deterministic. But, if the variable "UNIT_SALES" is defined to be a random variable, then the relationship becomes stochastic. However, the stated relationship has not been changed; only the values assigned to the variables have been altered. A third implication of the modular construction of models is that multiple report and data modules can be combined with one logic, module. Multiple report modules can be used to print out different reports or to tailor the same basic report for different users. Multiple data modules can be used to incorporate into a model the results saved previously by other models. The use of multiple data modules also means that all the period values for variables need not be contained in a single data module. That is, budgeted values for the current year might be stored in one data module with estimated valued for the next five years stored in another data module. The data modules could then be combined with logic and report modules to produce reports covering the current year and a five-year plan.

PAGE 50

39 A final implication of the modular approach is that the modeling cystem must maintain the modules on computer accessible storage devices. This is required since the modules are created independently and a combination is selected for execution at a later time. The user can therefore readily access models kept on magnetic oisks instead of primarily using cards as a storage medium. Another method for increasing flexibility is the referencing of variables by user-supplied names. The use of names complements the use of modules. A modeler simply uses the variable's name in different modules. When the modules are combined for execution, the like names can all be linked by the modeling system to the same values. V/hen positions instead of names are used to identify variables (as in PSG ) , the user must insure the positional equivalence of variables among modules and/or models that are to be interrelated. Finally, the flexibility of a modeling system can be increased by allowing arithmetic operations to be used in the specification of data modules and by allowing values specified in a data module to supersede values calculated in a logic module. The use of arithmetic operations in defining data means that the statement COST_OF_GOODS_SOLD EQUALS SALES TIMES .75 could be used in a data module to define the values associated with the account "COST_OF_GOODS_SOLD. " Of course, the values associated with "SALES" would have to be previously defined. The second method, the superseding of values cal-

PAGE 51

40 culated in the logic module, means simply that if a value for a variable is given in a data module, then any equation appearing in the logic module that would alter the value is ignored. These two methods provide the user great flexibility in temporarily altering the logical structure of a model without physically altering the logic module. The user can accomplish the alterations by simply temporarily adding to the model a data module consisting only of the desired changes. The last classification of design characteristics is composed of two technical considerations. The first is the consideration of size limitations placed on the model, and the second deals with the procedure used in executing a model over several time periods. CMS/l is designed so that a user will be restricted by the physical capacity of his computer rather than by the modeling system. Storage areas in CMS/l are allocated dynamically so that capacity is limited only by the "counters" which are used to reference the storage areas. Consequently, a model may contain as many as 32,767 different variables. Also, each variable may be defined over a maximum of 32,767 time periods. Thus, CMS/l has a capacity of over one billion values. This compares to IBM's PSG which has a capacity of less than eleven thousand values. The number of statements which may be included in a model is a function of the size of the statements. However, over five million "averagesized" statements could easily be accommodated. All of these limitations are much in excess of the physical capaci-

PAGE 52

41 ty of current computing equipment. The second technical consideration deals with the procedure used in executing a model over several time periods. A model could be executed from beginning to end for the first time period, executed again for the second time period, and so on until all time periods have been accounted for. Or, each equation could be executed in turn over all time periods. That is, the first equation v.ould be executed over each time period, then the second equation, and so on until all equations have been executed. A third alternative would be to execute in turn each operaion within an equation over all time periods. Thus, if the statement SET INTEREST_EXPEKSE EQUAL TO LOANS TIMES INTEREST_RATE were executed over twelve time periods, the multiplication would be carried out twelve times; and then the twelve products would be assigned to the variable "INTEREST_EXPENSE." The third alternative would actually yield the most rapid execution since CMS/l is executed by an interpreter rather than by being compiled. This procedure has, hov/ever, some undesirable characteristics. The procedure cannot be used 1) when a variable is a function of its own values in previous time periods, 2) when a variable is a fixnction of another lagged variable and the equation defining the first variable precedes the equation defining the variable which is lagged, and 3) when a condition which exists in one time period alters the sequence in which the equations are executed.

PAGE 53

42 The first protlem can be avoided by using the second procedure described above, i.e., the execution of each equation in turn over all time periods. But the second and third problems would remain. All three problems can be avoided by executing the complete model over each time period. This, however, is accomplished at the expense of longer execution times. Thus, this execution procedure is followed by CMS/l only v^'hen one or more of the three problems actually occirrs. In all other cases, CMS/l uses the more efficient procedure of executing in turn each operation within an equation over all time periods. This section has discussed the major design concepts of CMS/1 . The next three sections will discuss the three CMS/l languages v/hich embody these concepts. Control Larguage The purpose of the control language is to allov; the user to direct the activity of the modeling system. It is through the use of the control language that the user instigates the creation of modules and the execution of models. The general form of a control language statement is *KEYY.'ORD parameter-list Each control statement begins with an asterisk in the first position follov/ed by none, or one or more blanks. The first non-blank characters encoimtered after the asterisk must be one of seven control keywords. Each control keyword uniquely designates an activity performed by CMS/l . following the

PAGE 54

43 control keyword and separated from it by blanks is a list of parameters. The parameter list provides additional information which is needed to carry out the activity which has been requested. The parameter li^t is composed of sets of parameter keywords and parameter values. Each set must be separated from surrounding sets by a comma or by blanks. In the following discussion and examples of control language statements, kej'^words will be denoted by capital letters whereas user-dependent information will be denoted by small letters. There are five types of activities v.'hich the user can specify. The user can specify that a module (logic, data, or report) is to be created, that modules are to be combined and executed, that modules are to be destroyed, that no action is to be taken (i.e., the null activity); and, the user can govern whether or not the logic, data, and report statements he supplies to CMS/l are to be printed. The first type of activity is the action of creating a module. A statement such as *LOGIC signifies t-.at the following statements conform to the requirements of the logic specification language. The statements are read by CMS/l , checked for errors, and translated into a more easily executed form. The translated form is then temporarily stored on a magnetic disk. If the user wishes to permanently store the logic module, a name for the module is specified as a parameter on the LOGIC state-

PAGE 55

44 raent. The following statement specifies that a logic module named "sample" is to be created and saved. *LOGIC sample The statements for creating data and report modules are analogous to the LOGIC statement. That is, *DATA budget and ^REPORT balance_sheet would be used, respectively, in creating a data module named "budget" and a report module named "balance_sheet . " The DATA statement may also contain the parameter keyword PERIODS followed by numbers reprerjenting the first and last periods for which data is given. For example, either the statement *DATA budget, PERIODS 1970 TO 1972 or *DATA budget, PERIODS 1970, 1972 could be used to create a data module named "budget" containing values for the years 1970, 1971, and 1972. If the periods parameter is not given, CMS/l assumes the specification PEl^IODS 1 TO 5

PAGE 56

45 The second type of activity the user may specify is the activity of combining and executing modules. This activity is accomplished by the use of the EXECUTE statement. The simplest form of the statement is *< EXECUTE The above statement would cause the most recently created unnamed logic, data, and report modules to be combined and executed. If an unnamed logic module does not exist, an error message is printed. If an unnamed report module does not exist, a default report format is used and the values of all variables defined in the logic module are printed. Named (i.e., permanently saved) logic, data, and report modules may be combined for execution by use of the parameter keywords LOGIC, LATA, and REPORT ^n the following manner. ^EXECUTE LOGIC sample, DATA budget, REPORT balance_sheet Multiple data and report modules can also be specified. ^EXECUTE LOGIC sample, DATA budge t_70, budget_71, 1 REPORT balance_sheet , income__statement Multiple reports are printed in the same sequence in which their names appear in the REPORT parameter set. Multiple data modules are "overlayed" on each other in the same sequence in which their names appear in the DATA parameter set. Thus, if a variable is assigned values in several different data modules, the resulting values of the varia-

PAGE 57

45 bles will be the values assigned by the data module appearing latest in the sequence specified by the DATA parameter set. If a named logic module is specified, an unnamed logic module is, of course, not used. Likewise, the default report format is not used if a named report module is designated. However, the most recently created imnamed data module is always used. It is incorporated into a model as though it were the last named data module in the DATA parameter set. Consequently, it overlays all named data modules. Another parameter set that may appear on an EXECUTE statement specifies the number of times the m.odel is to be executed in a sensitivity analysis or in a Monte Carlo simulation. The form of the parameter set is ITERATIONS n where n is the number of times the model is to be executed. The value of n must be between 1 and 32,767. If this parameter set is not given, n is assumed to have a value of 1. An additional parameter set that may be used in conJ\inction with Monte Carlo simulations specifies the "seed" number for a pseudo random number generator. The form of the parameter set is INITIAL RANDOM NUIvIBER IS n or

PAGE 58

47 INITIAL n v/here n is the value to be used, as the seed. The seed should be an odd ntunber containing at least five digits. Its value must be betv/een 1 and 2-^ -1. If a Monte Carlo simulation is performed without specifying a value for the seed, a value of 5^,549 is assumed. CMS/l allows the saving of values computed in one logic module for later use in another logic module. The values are stored in a data module that is created by CK;S/l . The user may name this data module by specifying the desired name in a SAVE parameter set. The EXECUTE statement ^EXECUTE LOGIC product SAVE results would execute the logic module named "product" along with the most recently created unnamed data module. The default report would be printed, and the values of variables saved by the logic module "product" would be stored in a data module named "results," If variables are saved by a logic module when the SAVE parameter set is not given on the EXECUTE statement, the resulting data module is given a name created from the logic module name and the date. Finally, headings that are to be printed at the top of each report may be given on the EXECUTE card. Two headings may be given the first is printed in the center at the top of each page of output, and the second is printed against the right margin at the top of every page. The form of the

PAGE 59

48 HEADINGS parameter set is HEADINGS "first heading" "second heading" If only one heading is specified, it is assxxmed to be the first heading. The third type of activity the user may request of CMS/l is the destroying of named modules. The follov/ing DESTROY statement would erase from the magnetic disk a logic module named "sample," a data module named "budget," and a report module named "balance_sheet . " ^DESTROY LOGIC sample, DATA budget, REPORT balance_sheet More than one logic, or data, or report module can be erased by simply listing the module names sequentially after the appropriate parameter keyword. The statement ^DESTROY LOGIC sample, product would cause the logic modules named "sample" and "product" to be erased. The fourth type of activity the governing of the printing of logic, data, and report statements is controlled by the PRINT statement. The user can have printed all statements received by CMS/l or can delete the printing of logic, data, and/or report specification statements. Normally, all statements received by CMS/l are printed. To stop the printing of logic, data, and report statements, a PRINT statement with no parameters v/ould be used.

PAGE 60

49 *PRIKT To print only data statements, the PRINT statement *PRINT DATA would "be used. To begin printing logic, data, and report specification statements again, the statement *PRINT LOGIC, LATA, REPORT or *PRIKT ALL would be used. The final control language statement, the CONTINUE statement, initializes no system activity. However, it can terminate previous system activity,. For example, the tv/ostatement sequence *DATA *CONTIIWE begins the creation of an unnamed data module and then terminates the module. The two statements thereby assure that the most recently created unnamed data module is empty. This can be useful since the most recently created tmnamed data module is always included in the executed model. This section has discussed the control language of CMS/l . The keywords for each statement in the language are summarized in Table 2. The next section describes the logic and

PAGE 61

50 TABLE 2 Summary of Control Language Keywords Control Keyword Parameter Keywords LOGIC DATA REPORT EXECUTE DESTROY PRINT CONTINUE PERIODS LOGIC, DATA, REPORT, PERIODS, ITERATIONS, SAVE, HEADINGS, INITIAL LOGIC, DATA, REPORT ALL, LOGIC, DATA, REPORT

PAGE 62

51 data specification language. Logic and Data Specification Language The contents of a logic and of a data module are expressed in the logic and data specification language. The language is composed of four types of statements assignment, group, control, and null statements. Only the first two types may be used in creating a data module; all four types may be used in creating a logic module. The first type of statement, the assignment statement, is used to calculate the value of an arithmetic expression and then to relate this value to a named variable. The assignment statement is a very powerful and flexible instrument for performing calculations. Among the operations which can be performed are addition; subtraction; multiplication; division; and predefined procedures for determining depreciation, present values, and rates of return. An example of the simplest form of an assignment statement is SET SALES EQUAL TO 500 In this simple case no arithmetic is performed; the value 500 is just related to the name SALES. Then, if the next statement executed were SET MISC_EXPENSE EQUAL TO SALES TIMES .05 the variable MISC_EXPENSE would be assigned a value of 25. Since CMS/l executes a model over multiple periods, the

PAGE 63

52 assignment statement may specify multiple values for a variable. The statement SET SALES EQUAL TO 500, 600, 650, 700, 750 defines a value of SALES over a five-period horizon. If a model containing this statement were executed over a tenperiod horizon, the values for the last five periods would be undefined. This type of statement may be used to specify the initial values of variables in data modules with the succeeding values being calculated by a logic module. If a variable is to have the same value in all periods','; then the value need be expressed only once. Hence, the following two statements are equivalent over a five-year horizon. SET SALES EQUAL TO 600, 600, 600, 600, 600 SET SALES EQUAL TO 600 Note, however, that the second statement assigns a value of 600 to SALES over any horizon. A second type of data and logic specification statement is the GROUP statement. This statement is used to associate a number of variables with a common group name. The whole group of variables can then be referenced by simply using the group name. For example, assuming that the variables LABOR, MTERIALS , OVERHEAD, and SALES have all been assigned values, the second statement of the tv;o following statements would s\Am the values of LABOR, MATERIALS, and OVERHEAD; subtract that sum from the values of SALES; and associate the

PAGE 64

53 resulting value with OPERATING_INCOME. GROUP LABOR, LIATERIALS, OVERHEAD UNDER MPG_EXPENSES SET OPERATING_INCOIvIE EQUAL TO SALES MINUS MFG_EXPENSES The use of a group name ^licits a different response when it represents variables v/hose values are being computed. This use of a group name is exemplified by the following three statements. GROUP LABOR, I.1ATERIALS, OVERHEAD UNDER MFG_EXPENSES , 1 STANDAjmS SET MFG_EXPENSES EQUAL TO SALES TIMES STANDARDS SET OPERATING_INCOME EQUAL TO SALES MINUS MFG_EXPENSES The second of the three above statements is executed by multiplying the labor standard times the value of sales, giving the value of the labor component of the manufacturing expense; then the materials standard is multiplied times the value of sales, giving the value of the materials used in manufacturing; finally, the standard overhead rate is multiplied times the value of sales, giving the overhead absorbed by the units sold. The procedure for executing the third statement is the same as in the previous example. A single element (i.e., variable) of a group can be referenced by "qualifying" the element name with the group name. The previous group statement defines two groups with three elements each giving a total of six variables. References to the individual variables is accomplished as follows:

PAGE 65

54 MFG_EXPENSES MFG_EXPENSES MFG_EXPENSES STANDARDS STANDARDS STANDARDS LABOR I.'IATKRIALS OVERHEAD LABOR MATERIALS OVERHEAD In this manner the variables may be used individually as well as by groups. The third tj'pe of statement, the control statement, may be used only in a logic module. There are three statements of the control type two which control the sequence in which statements are executed, and a third which terminates the execution of a logic module. In CMS/l as in most computer languages, statements are normally executed in the sequence they are encountered. However, the sequential execution can be altered by "jumping" over statements. The execution can be jumped forward down the list of statements or backwards to a previous statement. The method of exercising this type of control is illustrated by the following sequence of statements. JUMP TO COMPUTE SET RATIO) SET RATIO EQUAL TO .25 COMPUTE) SET ACCOUNT EQUAL TO AI,50UNT TIMES RATIO The first statement in the sequence causes the second statement to be bypassed v,-ith control being transferred to the statement named "COMPUTE." The second statement could

PAGE 66

55 be reached via a JUMP TO statement appearing at another point in the logic module. However, if the second statement did not have a name, it could never be reached so an error message would be printed at the time the logic module is created. Sequential execxition may also be altered by the conditional statement. The conditional statement performs a comparison and then, depending on the results of the comparison, executes one of two statements. For example, the following two conditional statements can be used as a simple means of estimating corporate income taxes. IF NET_INCOI;lE IS GREATER THAN 25000THEN SET TAXES EQUAL 1 TO NE?_IKCOME TIMES .48 MINUS 6500 ELSE SET TAXES 1 EQUAL TO NET_INCOr-:E TIMES .22 IP NET_INCOi,lE IS LESS THAN THEN SET TAXES EQUAL TO The second conditional statement does not specify an alternative if the net income is not less than zero. In this event, the value of TA>:ES computed in the first conditional statement would not be altered. The third type of control statement terminates the execution of the logic module. The form of the statement is simply STOP A logic module does not have to contain a STOP statement. Execution will terminate when the end of the sequence of statements is reached.

PAGE 67

56 The final type of statement in the logic language is the null statement. The null statement consists solely of a statement name. For example, START) and FINISH) are valid nul3 statements. The null statement is used to designate a point in the logic module to which control may be passed by a JUMP TO statement. Sample logic and data modules which demonstrate the use of some of the previously discussed statements are presented in Figures 2 and 3, respectively. Report Format Specification Language The third language in the corporate modeling system is used to describe the desired form of reports. The language's statements allow the user to specify the size of the printed page; the number, size, and headings for the columns of values; the spacing between lines of information; and the information that is to be printed on each line of the report. In addition, the report headings, if any, that were given in the EXECUTE control statement are printed at the top of each page. The page size is determined by three statements. The default form for each of the statements is given below. The

PAGE 68

57 PAGE LENGTH statement defines the maximum number of lines that are to be printed on a page excluding the lines contained in a footing, if one is utilized. The LINE LENGTH statement defines the maximum number of characters, including blanks, that may be contained in a printed line. A printed line may begin in the first physical print position, or it may begin to the right of the first position. The extent of indentation is governed by the MARGIN statement. The margin may be changed within a printed page. Normally, the page and line length should remain constant for a given page. PAGE LENGTH 60 LINE LENGTH 130 MARGIN 2 The niimber of columns contained in a report is equal to the number of periods over which the model was executed, plus two. The two additional columns contain a description of the variable whose values are being printed and a description of the units of the values (e.g., tons, gallons, or dollars). The width and the headings of columns are specified in statements of the types shov/n below. If the sum of the columns' widths is greater than the line length specified, the report is automatically continued on another page. Both column widths and headings may be changed within a report.

PAGE 69

58 COLUM SIZES 20, 4, 8, 8, 8 COLUMN HEADINGS "ACCOUNT", "UNIT", "1972", "1973", "1974" The lines in a report v/ould normally be single spaced, but the user may also request double or triple spacing over an entire report or over parts of a report. In addition, a series of lines may be skipped at any time with the statement SKIP X LINES where x is a number. A final method for controlling the spacing of lines is the use of a statement which causes the beginning of a nevvpage. The form of the statement is simply BEGIN NEW PAGE The final type of statement in the report format specification language is the type used to specify the information to be printed on a line. The user can indicate a page title that is printed at the top of each page, a footing that is printed at the bottom of each page, a variable v*hose values are to be printed, or just a line of information that is to be printed, A report is primarily produced in order to print the values calculated in a logic module. The stimulus for the printing of the values of a variable is given by an ITEM statement. The ITEM statement, such as the one below, specifies a description of the variable that is to be printed in the first column of the report, a description of the units of the values which is printed in the second column of the

PAGE 70

59 report, the niiinber of decimal places the printed values are to have, and lastly the name of the variable as it appears in the logic module. ITEM "COST OF GOODS SOLD", "(Me)", 0, CGS The minimum information that must appear in an ITEM statement is the keyword "ITEM" and the name of the variable to be printed. If the description is not specified, the name of the variable is printed in the first column of the report. When no units are given, the second column of the report is left blank. In the event that the number of decimal places is not given, zero decimal places are assumed. In order to specify that a line of information other than the values of variables is to be printed, a statemeni is used which consists of the word "LINE" in positions two through five with the information to be printed appearing in positions seven through seventy-two. Should more space be needed, the information may be continued in positions seven through seventy-two of the next line in the report module. Thus a maximum of 132 positions (2 times 72-7+1) is available for specifying a line of information. Titles and footings that are printed at the top and bottom of each page, respectively, can be created using statements similar to the LINE statement. The only difference in form is that the words "TITLE" and "FOOT" are used instead of the word "LINE" and the body of a title cannot begin before the eighth position of the first line, giving a maximum title length of 131 characters.

PAGE 71

60 A sample report module which demonstrates the use of the report format specification language is presented in Figure 4. This chapter has described the structure of CIvlS/l and has discussed the general design concepts and the capabilities of the system. The next chapter demonstrates the implementation of CMS/1 by presenting several models which depict the capabilities of the system.

PAGE 72

CIIAI^TER IV IMPLEME?JTATION OF CMS/l The previous chapters have introduced the concepts of corporate models and corporate modeling systems. The desired characteristics of corporate modeling systems were discussed and CMS/l , a new corporate modeling system, was introduced. The present chapter demonstrates the capabilities of CMS/1 by demonstrating its use in two hypothetical situations in the analysis of the potential profitability of a new product and in planning for a multi-divisional firm. The models developed for these hypothetical problems are relatively simple models. The intention is to demonstrate the use of CIkS/I , not to develop sophisticated models. The use of CKS/l is demonstrated with the simple execution of a deterministic model, with sensitivity analyses, with a Monte Carlo simulation, and with the execution of a set of interrelated models. Deterministic Model A deterministic model for the analysis of the potential profitability of a new product was introduced previously in Figures 2, 3, and 4. The execution of that model would be initiated by the control statement ^EXECUTE DATA PRODUCT_DATA , REPORT NE\Y_PRODUCT 61

PAGE 73

62 This statement would cause the data module "PRODUCT_DATA, " the report module "NE\V_PRODUCT, " and the most recently created xxnnamed logic and data modules to be combined ajid executed. (The results of such an execution are depicted in Figure 5 . ) Deterministic models are usually used to "try out" different alternatives. By changing data and/or logical relationships, various assumptions and "what if" questions can be investigated. For example, the model of the new product venture could be used to determine the effects of using different methods of depreciation. The results of the sample model, depicted in Figure 5, are based on the use of straight-line depreciation of the original investment. The impact of different depreciation methods can be easily ascertained by altering the model. The simplest way to alter the model is to add an unnamed data module containing the new depreciation m.cthod. The following statements, when appended to the previous model, would create a data module which specifies the use of the sum-of-the-years-digits method of depreciation (method number 2), and then initiate the execution of the "new" model. *DATA PERIODS 1 TO 5 SET DEPRECIATION EQUAL TO DEPRECIATE (2, INVESTMENT, 1 SALVAGE) ^EXECUTE DATA PRODUCT_DATA, REPORT NEV/_PRODUCT A complete sequence of modules and EXECUTE statements for the comparison of straight -line, sura-of-the-years-digits , and double declining balance methods of depreciation are

PAGE 74

63 presented in Figure 6. The results for each of the tl-iree methods are presented in Figures 5, 7» and 8, respectively. Sensitivity Analysis As indicated above, a deterministic model is usually executed more than once in order to investigate various alternatives. Repetitive execution may also be used to determine the variables in a model which most affect the behavior of the model. An example of the investigation of various alternatives was given in the previous section. In that case the investigator had to specify changes for each new alternative and then initiate a new execution. This procedure may be simplified when the objective is to determine the "sensitive" variables rather than to investigate new alternatives. Sensitivity analysis is accomplished by repeatedly executing a model v/ith the value of only one variable being changed for each new execution. Thus, if the multiple values can be specified for a variable before the repetitive executions begin, all of the executions may be carried out automatically. This is accomplished in CMS/l by the use of the ITERATE function. The statement SET BEGINNING_MARKET_SIZE EQUAL TO ITERATE (180000, 1 260000, 20000) denotes that the variable BEGINNING_MARKET_SIZE is to have the value 180000 the first time the model is executed. The variable will then be incremented by 20000 in succeeding

PAGE 75

Figure 6. Sample deterministic model.

PAGE 76

55 LOGIC SET MARKeT_SIZE EQUAL TO GROWTH ( OEG I NN I NG_M ARKET_SI ZE« « 1 GRnWTH_«ATE) SET MARKET_SHARE EQUAL TO L INE AR( BEG INN ING_SHARE t 1 MAXIMUM._SHARE, ) SET UNITS_SOLD EQUAL TO MARKET_SIZE TIMES MARKET_SHARE SET SALES EQUAL TO UNITS_SOLO TIMES PRICE SET VARIADLE_COSTS EQUAL TO VAR I ABLE_COST_RATE TIMES 1 UNITS_S0LO SET T0TAL_C0STS EQUAL TO FIXED_C0ST PLUS V AR I ABLE_COSTS 1 PLUS DEPRECIATION SET OPERAT ING_INCOME EQUAL TO SALES MINUS TOTAL_CnSTS SET TAX_EFFECT EQUAL TO TAX_RATE TIMES DEPRECIATION SET CASH_FLOW EQUAL TO OPERAT I NG_I NC OME PLUS SALVAGE 1 PLUS DEPRECIATION PLUS TAX_EFFECT SET PRESENT_VALUE EQUAL TO D I SCOUNT ( CASH_FLOW t 1 DISCOUNT_RATE) SET PRaFIT_INDEX EQUAL TO PRESENT_V ALUE DIVIDED BY 1 INVESTMENT SET ROI EQUAL TO INTRL_RATE ( I N V ESTMENT . CASH_FLOW) DATA PRODUCT_DATA PERIODS 1 TO 5 SET INVESTMENT EQUAL TO 9f.-C0C:CC. tit C t 0, SET SALVAGE EQUAL TO 0. T. Ci Ot 425C000 SET TAX_RATE EQUAL TO ,^B SET PRICE EQUAL TO 516 SET FIXEO_COST EQUAL TO 3C 635C SET VARIABLE_COST_RATE EQUAL TO 421.65 SET BEGINNING_MARKET_SIZ£ EQUAL TO 22CCC0 SET GROWTH_RATE EQUAL TO , •OQ* .C6. .03, ,02 SET BEGINNING_SHARE EQUAL TO cC'l SET MAXIMUM_SHARE EQUAL TO .15 SET DISCOUNT_RATE EQUAL TO ,12 SET DEPRECIATION EQUAL TO DEPREC I AT E( 1 I NVESTMENT , SAL V AGE > REPORT NEW_PRODUCT TITLE ANALYSIS OF NEW PRODUCT MARGIN COLUMN SIZES 15, 0, (9) BEGIN NEW PAGE SKIP 2 LINES COLUMN HEADINGS "ACCOUNT**, •• 1972", " 1973", 1 " 1974", " 1975", " 1976" COLUMN HEADINGS " ", (" ") ITEM "INITIAL MARKET", BEG I NN I NG_MARKET_S I ZE ITEM 2, GROWTH_RATE ITEM 2, DEGINnTnG_SHARE ITEM 2, MAXIMUM_SHARE SKIP 1 LINE

PAGE 77

66 ITEM INVESTMENT ITEM DEPRECIATION ITEM "SALVAGE VALUE"* SALVAGE SKIP I LINE ITEM MARKET_SIZE ITEM "SHARE OF MARKET", 3. MARKET_SHARE ITEM UNITS_SnLD SKIP 1 LINE ITEM "PRICE PER UNIT«i 2, PRICE ITEM SALES ITEM VARIABLE_COSTS ITEM FIXED_COST ITEM TDTAL_COSTS ITEM "NET INCOME", OPERAT I NG_I NCOME SKIP 1 LINE ITEM CASH_FLOW ITEM PRESENT_VALUE ITEM 2, PROFIT_INOEX ITEM 3, ROI EXECUTE DATA PRODUCT_OAT A , REPORT NEW_PRODUCT DATA PERIODS 1 TO 5 SET DEPRECIATION EQUAL TO DEPREC I ATE ( 2 , I NVESTMENT SALV AGE ) EXECUTE DATA PRODUCT_DAT A , REPORT NEv;_PROOUCT DATA PERIODS 1 TO 5 SET DEPRECIATION EQUAL TO DEPREC I ATE{ 3, INVESTMENT, 5) EXECUTE DATA PRODUCT DATA, REPORT NEW_PRODUCT

PAGE 78

67 ANALYSIS OF NEW PRODUCT ACCOUNT 1972 1973 1974 1975 1976 INITIAL MARKET 220000 22f/CCC 22G0C0 220CC'0 220005 GROWTH RATE * 0,08 0.06 0»C3 0.02 BEGINNING SHARE 0.01 0.01 0.01 C.Ol 0.01 MAXIMUM SHARE n.l5 0.15 C.15 0#15 0.15 INVESTMENT 90C0CC0 DEPRECIATION 1583333 1266666 950000 633333 316667 SALVAGE VALUE 4250000 MARKET SIZE 22CCG0 237600 251856 259411 264599 SHARE OF MARKET C.CIO C.045 0.C80 C .. 1 1 5 C.150 UNITS SOLO 22C0 10692 2C140 29032 39690 PRICE PER UNIT 516.00 516.00 516.00 516.00 516.00 SALES 1135199 5517067 1C396593 15393451 20479968 VARIABLE COSTS 9^^7630 4508277 8495586 12570773 16735228 FIXED COST 3C6350 306350 306350 306350 306350 TOTAL COSTS 2817312 6081293 9751936 13518456 17358224 NET INCOME -1682113 -564226 644657 1074995 3121744 CASH FLOW 661?:?0 1310439 2C50656 2812327 7840409 PRESENT VALUE 933»'-820 * * * * PROFIT INDEX 1.C4 * * * Roi c.ieo * * * * Figure 7. Results with sura-of-the-years digits depreciation.

PAGE 79

68 ANALYSIS OF NEW PRODUCT ACCOUNT 1972 1973 197A 1975 1976 INITIAL MARKET 220000 220D00 220CCIJ 22CC0C' 2200CO GROWTH RATE 0.C8 0.06 0»C3 0.02 BEGINNING SHARE CoOl 0«01 C.Ol 0.01 OoOl MAXIMUM SHARE 0*15 0.15 Co 15 Cci5 C'»15 INVESTMENT DEPRECIAT ION SALVAGE VALUE 9000000 3599999 2159999 C 1295999 7 77600 46656'> t250C00 MARKET SIZE 220CCC 2376CC 251856 259411 264599 SHAt479968 16735228 306350 4833978 6974626 ICU97935 13662722 17508112 -3698779 -1457559 298650 1730729 2971856 CASH FLOW PRESENT VALUE PROFIT INDEX ROI 1629219 IC 7 39990 1.19 C .259 1739239 2216736 * 2881575 * 7912363 * * Figure 8. Results with double declining balance depreciation.

PAGE 80

69 executions of the model until a maximum value of 260000 is reached. The ITERATE function specifies the values for a variable but does not control the number of times the model is executed. The number of repetitions is specified on the EXECUTE statement. The statement ^EXECUTE DATA PROI)UCT_DATA, REPORT NEW_PROBUCT , 1 ITERATIONS 5 could be used in conjunction with the previous ITERATE function to ascertain the effects of varying the variable BEGINNING_MARKET_SIZE between the values 180000 and 260000. Complete sequences of modules and EXECUTE statements which could be utilized in sensitivity analyses of the variables "BEGINNINGJ/IARKET_SIZE" and "MAXIKUM_SHARE" are presented in Figure 9. (The assumption is made that the modules depicted in Figure 6 have been previously processed.) The results of each analysis are presented in Figures 10 and 11, respectively. Monte Carlo Simulation A deterministic model is useful in specifying the basic structure of a problem, in investigating alternative courses of action, and in determining the sensitive variables. But additional information concerning the riskiness of a course of action is often needed by management. The deterministic model discussed above indicated that a return on investment of about 17 percent may be expected

PAGE 81

70 *DATA PERIODS 1 TO 5 SET DEGINNING_MARKET_SIZE EQUAL TO I TERATE ( 1 S-VPOC , 260000. 1 20r5f:O) EXECUTE DATA PRODUCT_DAT A , REPORT NEW.PRODUCT 1 ITERATIONS 5 *DATA PERIODS 1 TO 5 SET MAXIMUM_SHARE EQUAL TO ITERATE(elO» ol8. «.02) EXECUTE DATA PRODUC T„DATA , REPORT NEW_PROOUCT 1 ITERATIONS 5 Figure 9. Addition to sample model for sensitivity analysis.

PAGE 82

Figure 10. Results of sensitivity analysis for the initial market size.

PAGE 83

ANALYSIS OF NEW PRODUCT 72 ACCOUMT

PAGE 84

ANALYSIS OF NEW PRODUCT 73 ACCOUNT

PAGE 85

ANALYSIS OF NEW PRODUCT 74 ACCOUNT 1972 1973 1974 1975 1976 INITIAL MARKE^T

PAGE 86

ANALYSIS OF NEW PRODUCT 75 ACCOUNT 1972 1973 1974 1975 1976 INITIAL MARKET

PAGE 87

ANALYSIS OF NEW PRODUCT 76 ACCOUNT 1972 1973 1974 1975 1976 INITIAL MARKET GROWTH RATE BEGINNING SHARE MAXIMUM SHARE

PAGE 88

Figure 11. Results of sensitivity analysis for the maximum market share.

PAGE 89

ANALYSIS OF NEW PRODUCT 78 ACCOUNT 1972 1973 1974 1975 1976 INITIAL MARKET

PAGE 90

ANALYSIS OF NEW PRODUCT 79 ACCOUNT 1972 1973 1974 1975 1 976

PAGE 91

ANALYSIS OF NEW PRODUCT 80 ACCOUNT 197; 1973 1974 197b 1976 INITIAL MARKET GROWTH RATE BEGINNING SHARE MAXIMUM SHARE INVESTMENT DEPRECIATION SALVAGE VALUE MARKET SIZE SHARE OF MARKET UNITS SOLD PRICE PER UNIT SALES VARIABLE COSTS FIXED COST TOTAL COSTS NET INCOME CASH FLOW PRESENT VALUE PROFIT INDEX ROI 22C0CO

PAGE 92

ANALYSIS OF NEW PRODUCT 81 ACCOUNT 1972 1973 1974 1975 1976 INITIAL MARKET

PAGE 93

ANALYSIS OF NEW PRODUCT 82 ACCOUNT 197 2 1973 1974 1975 1976 INITIAL MARKET GROWTH RATE BEGINNING SHARE MAXIMUM SHARE

PAGE 94

83 from the hypothetical new product venture (see Figure 5). But no information was provided concerning the riskiness of the venture. Can the venture lose money? V^Tiat is the minimum return that may be expected? What is the maximum? These questions concerning the probability of occurence of the various possible outcomes cannot be answered by deterministic models. This type of information can be derived, however, from Monte Carlo simulations. Monte Carlo simulation requires that the modeling system be capable of dealing with random variables and be capable of executing a model repetitively. CMS/l can accept four types of random variables. A random variable may conform to a normal distribution, a Weibull distribution, a uniform distribution, or an arbitrary distribution expressed as a relative frequency distribution (see Figure 12). The normal distribution may often be used in describing empirical data, particularly the distribution of averages such as an average per linit cost. The Weibull distribution has the useful characteristic of being bounded on one side. This is advantageous for expressing variables such as percentages as random variables. In that particular case a V/eibull distribution with an upper bound of 10 percent could be used. If a normal, Weibull, or uniform distribution is not appropriate, a distribution may be expressed as a relative frequency distribution. This capability is particularly useful in describing empirical data which may not conform to any known mathematical distribution; e.g., the age distribution of accounts

PAGE 95

84 Normal Distributions X ch o >i +j H H •H o u B, V/eibull Distributions X o P •H H •H J3 cd o o 4=> o ?-. Ph Uniform Distributions X O >: Q) O •H H Q) «P^ 0) > •H -P H o o 0) (1) 0:! P-H Q D. Relative Frequency Distributions Figure 12. Types of distributions accepted by CMS/l.

PAGE 96

85 receivable or a distribution of the costs associated with an operation. In order to perforrr. a Monte Carlo simulation, the number of times the model is to be executed must be stated. This is accomplished by the same procedure used in sensitivity analysis. That is, the parameter "ITERATIONS" is stipulated on the EXECUTE statement. The sample deterministic model presented in Figure 6 may be altered for execution in a Monte Carlo simulation with the addition of the modules depicted in Figure 13. The data module in Figure 13 alters three variables to make them random variables. In addition, the report module named "RISK" is added in order to print out the new information supplied by the Monte Carlo simulation. The results of the simulation are presented in Figure 14. The values in Figure 14 that are printed in the format specified by the report "NE\V_PRODUCT" are the average values of the variables for the two hundred iterations. The report "RISK" displays the distributions of the values of two selected variables (i.e., CASH_FLOW and ROI). The distributions indicate that the average value of the cash flow increases over the years but the distribution of possible values "spreads out." Also, while the expected return on investment is high (29.8^), there is more than a 2.5 percent chance that the rate of return will be negative and approximately one chance in seven that the rate of return will be less that 11.5 percent. The Monte Carlo simulation thus provides information concerning the risk involved in the

PAGE 97

86 DATA SET B SET M V 1 1 REPOR TITLE MARGI COLUM BEGIN SINGL DISTR SKIP COLUM 1 COLUM ITEM BEGIN SKIP COLUM 1 COLUM ITEM EXECU 1 PERIODS I TO 5 EGINNING_MARKET_SI ZE EQUAL TO NORMAL ( 1 80 OCC . 26DOrO) AXIMUM_SHARE EQUAL TO WE IBULL ( « 2U . .15, .06) ARIABLE_COST_RATE IS D I STR I BUTEO( 360 . • 1 . 375t.l. 39<*,,H. 405. •12, A2C..13. 435. .13. 450. .11. 465. .08. 48C ••06. 495. .04. 51C..C2) T RISK ANALYSIS OF NEW PRODUCT N N SIZES 15. 0. (9) NEW PAGE E SPACE IBUTION 2 LINES N HEADINGS "ACCOUNT". " 1974". N HEADINGS CASH_FLOW NEW PAGE 2 LINES N HEADINGS 1972". 1975". ..) 1973". 1976" "ACCOUNT". " 1974", I M . n N HEADINGS " 3. ROI TE DATA PRODUCT_DATA. ITERATIONS 2C0 1972". 1 9 75". " ) 1973". 1976" REPORT NEW PRODUCT. RISK Figure 13. lation. Additions to sample model for Monte Carlo simu-

PAGE 98

Figure 14. h'esults of Monte Carlo simulation.

PAGE 99

ANALYSIS OF NEW PRODUCT 88 ACCOUNT 1972 1973 1974 1975 1976 INITIAL MARKET GROWTH RATE BEGINNING SHARE MAXIMUM SHARE INVESTMENT DEPRECIATION SALVAGE VALUE MARKET SIZE SHARE OF MARKET UNITS SOLO PRICE PER UNIT SALES VARIABLE COSTS FIXED COST TOTAL COSTS NET INCOME CASH FLOW PRESENT VALUE PROFIT INDEX ROI 219500 * O.Cl 0.23

PAGE 100

89 ANALYSIS OF NEW PRODUCT ACCOUNT 1972 1973 1974 1975 1976 CASH FLOW 0.015 1B6161 1038575 J 890988 27A3401 3595814 4448227 530 640 6153053 7005466 7857879 8710292 9562705 1C415118 11267531 12119944 12972357 13824770 14677183 15529596 0«985 0*215 0.045 C.020 0.395 C.170 0.055 0.335 0.195 0.140 0.050 0.210 0.095 0.005 0.245 0.180 0.080 C.125 0.D15 0.050 0.180 0.030 O.IOC 0.055 C.C05 0.045 0.115 0.040 0.065 0.015 0.120 C.115 0.005 C.095 0.160 0.085 0.C5C 0.035 0.040 0.020 MEAN VALUE 360624 165cC76 3189^04 4566593 10322124 STD. DEV. 87232 652111 1286853 1939049 2603743

PAGE 101

90 ANALYSIS OF NEW PRODUCT ACCOUNT 1972 1973 197A 1975 1976 ROI -t),03l 0.006 0,042 0.079 0.115 0.152 o.ies 0.225 0.261 0.298 0.334 C.371 0.407 0.444 0.48C 0.517 C.553 0.589 C.626 0.025 O.C'20 0.C20 0.035 0.C40 • 80 0.055 0.035 0. 100 0.075 0.G65 0.070 0. 120 0.065 0.C75 0.035 0.025 0.035 C.02C 0.005 MEAN VALUE 0.298 C.GOO 0.000 O.OCC O.OOC STD. OEVc C.164 C.OCC Cf OC O.COO COOD

PAGE 102

91 new investment. Interrelated Models The use of CMS/l in constructing interrelated models is demonstrated in this section by the development of a model which produces a corporate income statement. The corporate income statement is developed from information in divisional income statements which in turn receive information from income statements for the individual product lines. Thus, models for the products, divisions, and for the total corporation must be developed and interrelated. The corporation will be assumed to be composed of two divisions each producing two products. Since the products' income statements are needed before the divisional and corporate statements can be prepared, the product model will be discussed first. The model for each product is composed of common logic and report modules (see Figure 15) combined with a different data module for each product. The logic module contains relationships which compute the revenue, the costs, and the contribution of each product. The com.puted information is then saved by the use of a SAVE statement so that it can be referenced by the divisional models. A sequence of data modules and EXECUTE statements for the firm's four products is presented in Figure 16. The output from the execution of the four models is given in Figures 17 through 20. After the product models have been run, the income

PAGE 103

92 LOGIC PRODUCT GROUP OVERHEAD, R_AND_0 UNDER F I XEO_PRODUCT_E XPENSES [ GROUP MATERIALS, LABOR, OVERHEAD, SELL I NG_COST S UNDER 1 COST_RATES» V AR I AGLE_COSTS SALES EQUAL UNIT_SALES TIMES PRICE VARIABLe_COSTS = UNIT_SALES * COST_RATES MARGINAL_COST EQUALS SUM OF V AR I A8LE_C0STS MARGINAL_INCOME = SALES MINUS MARG I NAL_COST ; TOTAL_FIXED_EXPENSES = SUM OF F I XED_PRODUCT_E XPENSES \ PRODUCT_CONTR I8UTION = MA RG I NAL_ I NCOME ' I TOTAL_FIXED_EXPENSES i SAVE SALES"PRODUCT_NO, MARG I N AL_COST"PRCOUCT_NO , , I TOTAL_F I XED_EXPENSES"PRODUCT_NO, ] 1 PRODUCT_CONTRIBUTION"PRODUCT_NO | REPORT PRODUCT TITLE PRODUCT QUARTERLY PLAN MARGIN C LINE LENGTH 6C i COLUMN SIZES 26, 0, (8) i BEGIN NEW PAGE i SKIP 2 LINES COLUMN HEADINGS "ACCOUNT", " FIRST", " SECOND". 1 " THIRD", " FOURTH" COLUMN HEADINGS " ", " ", " "» ITEM SALES j SKIP 1 LINE \ ITEM "DIRECT MATERIALS", VAR I ABLE_COSTS : MATERI ALS \ ITEM "DIRECT LABOR", V AR 1 ABLE_COSTS : LABOR ' ITEM "VARIABLE MFG» OVERHEAD", VAR I ABLE_COSTS : OVERHEAD ] ITEM "VARIABLE SELLING EXPENSES", VAR I ABLE_COST S : 1 SELLING_COSTS ITEM "TOTAL MARGINAL COSTS", M ARG I NAL_COST SKIP 1 LINE ^ ITEM MARGINAL_I NCOME SKIP 1 LINE ITEM "FIXED MFG. OVERHEAD", F I XED_PKOOUCT_E XPENSES: OVERHEAD ITEM "R&D EXPENSE", F I XED_PROOUCT_EXPENSES : R_AND_0 SKIP 1 LINE ITEM PR0DUCT_C0NTRIBUT10N j Figure 15. Logic and report modules for products.

PAGE 104

Figure 16. Data modules and execute statements for products.

PAGE 105

94 ; 1 DATA PERIODS 1 TO 4 GROUP OVERHEAD, R_ANO_0 UNDER F I XE0_PR0OUCT_EXPENSES GROUP MATERIALS. LABOR, OVERHEAD. SELL I NG_COST 5 UNDER 1 COST_RATES PRODUCT_NO IS 1 UNIT_SALES ARE 10000, 18CC0. 16000. 10000 PRICE IS 15C C0ST_RATES:MATERI ALS = 35 cost_rates:labor = 4C COST_RATeS:OVERHEAO = IC cost_rates:selling_costs = e FIXED_PRODUCT_EXPENSFS:OVERHEAO = 300000 FT xed_product_expenses:r_and_.d = lOCCOO EXECUTE logic PRODUCT, SAVE PR0DUCT_11 1 REPORT PRODUCT, HEADING "DIVISION 1 PRODUCT 1* DATA PERIODS 1 TO 4 GROUP OVERHEAD, R_AND_D UNDER FI X ED_PRODUC T_EXPENSeS GROUP MATERIALS, LABOR, OVERHEAD, SELL I NG_COST S UNDER 1 COST_RATES PRODUCT_NO IS 2 UNIT_SAL.ES ARE 30000. 2t COO . 16.J0C. 28CC0 PRICE IS 120 cost_rates: materials = 25 cost_rates:labor =35 cost_rates: overhead = 10 cost_rates:sellin&_costs = 6 FIXED_PRODUCT_EXPENSl SrOVERHEAD = 35CC'C0 FIXED_PP0DUCT_EXPENSES:R_AN0_0 = 50000 EXECUTE LOGIC PRODUCT, SAVE PR0DUCT_12 1 REPORT PRODUCT. HEADING "DIVISION I PRODUCT 2«

PAGE 106

95 DATA PERIODS 1 TO 4 GROUP OVERHFAO, R_AND_D UNDER F I XED_PRODUCT_E XPENSES GROUP MATERIALS, LABOR. OVERHEAD, SELL I NG_COST S UNDER 1 COST_RATES PR0DUCT_NO IS 1 UNIT_SALES ARE 15^00, 20CO0. 180C0, 14000 PRICE IS 1 3C COST_RATES: MATERI ALS = 30 C0ST_RATES:LAB0R = 40 cost_rates: overhead = <5 cost_rates:selling_costs = 6 fixed_product_expenses:overhead = 300000 FIXED_PR00UCT_EXPENSES:R_AND_D = 75C00 EXECUTE LOGIC PRODUCT, SAVE PR0DUCT_21 1 REPORT PRODUCT, HEADING "DIVISION 2 PRODUCT 1' DATA PERIODS I TO 4 GROUP OVERHEAD, R_AND_D UNDER F I XED_PRODUC T_E XPENSE S GROUP MATERIALS, LABOR, OVERHEAD, SELL I NG_COST S UNDER 1 COST_RATES PRODUCT_NO IS 2 UNIT_SALES ARE 40C00, 28000, 26000, 36000 PRICE IS 90 cost_rates: materials = 25 cost_rates:labor = 30 cost_rates:overhead = 9 cost_rates: selling_costs = 5 fixe0_product_expenses:overheao = 2500oo FIXED_PR0DUCT_EXPENSES:R_AND_D = 5C000 EXECUTE LOGIC PRODUCT, SAVE PR0DUCT_22 I REPORT PRODUCT, HEADING "DIVISION 2 PRODUCT 2'

PAGE 107

96 DIVISION 1 PRODUCT 1 PRODUCT QUARTERLY PLAN ACCOUNT FIRST SECOND THIRD FOURTH SALES 15CO0O0 2700000 2400000 150C000 DIRECT MATERIALS 35C0OO 630000 56CCC.0 350C0C DIRECT LABOR 4C00C0 720000 640000 4CC000 VARIABLE MFG. OVERHEAD ICDOCG 18CCC0 160000 ICOCOO VARIABLE SELLING EXPENSES S'' 000 144000 128CCC 8000P TOTAL MARGINAL COSTS 9300CC 1674000 1488000 93C000 MARGINAL INCOME 570000 1026000 912000 57C000 FIXED MFG. OVERHEAD 30CC00 300000 300000 300000 R&D EXPENSE lOOOCO ICOOGO lOv-JOOC lOCCUO PRODUCT CONTRIBUTION 170000 626000 512CC0 17C00C Figure 17. Model results for Division One, Product One.

PAGE 108

97 DIVISION 1 PRODUCT 2 PRODUCT QUARTERLY PLAN ACCOUNT FIRST SECOND THIRD FOURTH SALES 360C00C 24CC000 1 9200C0 3360000 DIRECT MATERIALS 750COC 500CC0 AOOCOC 700C0C DIRECT LABOR 1050000 7C00O0 56C00C 980000 VARIABLE MFG. OVERHEAD 30CCO0 2C0G00 160000 2800f>C VARIABLE SELLING EXPENSES 180000 120C0O 96000 16800C TOTAL MARGINAL COSTS 2280C00 1520000 1216000 2128000 MARGINAL INCOME 13200CO 680000 704000 1232CC0 FIXED MFG. OVERHEAD 35CUC0 350COO 350CC0 3500CO R & O EXPENSE 500CC 50C0C 5CC00 5000C PRODUCT CONTRIBUTION 920000 480000 3040O0 832000 Figure 18. Model results for Division One, Product Two.

PAGE 109

98 DIVISION 2 PRODUCT 1 | J PRODUCT QUARTERLY PLAN j I I ACCOUNT FIRST SECOND THIRD FOURTH ! SALES 19500C0 260000C 2340000 182&C00 , I DIRECT MATERIALS 4500CO 60CCCC 54'>CC0 A2CO0C 1 DIRECT LABOR 60C000 600000 720000 560000 ] VARIABLE MEGe OVERHEAD 135000 ISOCvC 162CC0 126000 1 VARIABLE SELLING EXPENSES 900C0 12OC00 lOSCCO 84000 | TOTAL MARGINAL COSTS 1275C00 1700000 1530C00 1190000 j I MARGINAL INCOME 675000 9000CC 610000 63CC00 j I FIXED MFG. OVERHEAD 300000 3000CO 30C0C-0 3C0OCO R £. D EXPENSE 75000 750CC 75C0O 75CP0 ! PRODUCT CONTRIBUTION 30C000 525000 43500C 255000 ; -I Figure 19. Model results for Division Two, Product One. j

PAGE 110

99 DIVISION 2 PRODUCT 2 PRODUCT QUARTERLY PLAN ACCOUNT FIRST SECOND THIRD FOURTH SALES 3600000 2520000 234000C 3240000 DIRECT MATERIALS ICCOOCO 70C000 6500C0 9C0OOC DIRECT LABOR 1200000 840000 78CC0C 1C8C000 VARIABLE MFG. OVERHEAD 36D0Cn 2520CC 23400C 324000 VARIABLE SELLING EXPENSES 2C00O0 140000 13C00C 180000 TOTAL MARGINAL COSTS 2760000 1932000 1794000 2484000 MARGINAL INCOME 840000 568000 S460CO 756000 FIXED MFG. OVERHEAD 250CCO 250C00 25r,CCC 250000 R e. O EXPENSE 500C0 SOCOC 5CC0C 50000 PRODUCT CONTRIBUTION 54C0C0 288000 246000 4560D0 Figure 20. Model results for Division Two, Product Two.

PAGE 111

100 statements for the two divisions can be computed. Again, common logic and report modules are used in combination with different data modules for each division (see Figure 21). The division models combine information concerning the two products of each division with fixed expenses incurred at the divisional level to give the net contribution gained from each division. The summarized information is then saved with a SAVE statement for later use in the corporate model. The data modules and EXECUTE statements used in the execution of the divisional models are presented in Figure 22. The income statements for the two divisions are depicted in Figures 23 and 24. The final step in the execution of the interrelated models is to combine the information saved from the divisional models with data on corporate expenses in order to compute the corporate income. The complete corporate model, i.e., logic, data, and report modules, is presented in Figure 25. No information is saved by the corporate logic since no other model uses the information computed. The final corporate income statement which has been "built up" from the product level is given in Figure 26.

PAGE 112

101 LOGIC DIVISION GROUP MFG_OVERHEAD» R_ANO_D, SELL I NG_ANO_ADVERT I S I NG t I ADMINISTRATION UNDER D I V I S I ON_E XPE NSE S SALES EQUAL SALESl PLUS SALES2 MARGINAL_COST = MARGI NAL_COST 1 + M ARG I NAL_COST2 FIXED_PRODUCT_EXPENSES = TOT AL_F I XED_E XPENSES 1 PLUS 1 T0TAL_FIXED_EXPENSES2 TOTAL_PRODUCT_COSTS = MARG I NAL_COST + 1 F1XE0_PR0DUCT_EXPENSES CONTRIBUTION_FROM_PROOUCTS = SALES TOT AL_PROOUCT_COSTS TOTAL_DlV ISION_EXPENSCS = SUM OF D I VI S I ON_E XPENSES CONTR I0UTION_FROM_OI VISION = CONTR I BUT I ON_FROM_PRODUCTS 1 TOTAL_DI VI SION_EXPENSES SAVE SALES"DI V IS IUN_NO, TOT AL_PROOUCT_COST S"D I VI SI ON_NO . 1 TOTAL_DI VISION_EXPENSES"OI VI SION_NQ, 1 CONTRIBUTION_FROM_DI VISION"DI VISION_NO REPORT DIVISION TITLE DIVISIONAL QUARTERLY PLAN MARGIN C LINE LENGTH 60 COLUMN SIZES 26. 0» (8) BEGIN NEW PAGE SKIP 2 LINES COLUMN HEADINGS "ACCOUNT", " FIRST", " SECOND". 1 " THIRD", " FOURTH" COLUMN HEADINGS " ", " ". " •* « ITEM SALES SKIP 1 LINE LINE PRODUCT COSTS; ITEM MAPGINAL_COST ITEM "FIXED COST", F I XED_PRODUCT_EXPENSES ITEM CONTRIBUTION_FROM_PRODUCTS SKIP 1 LINE LINE DIVISIONAL COSTS: ITEM "FIXED MFG. OVERHEAD", D I V I S I ON_EXPENSES : MFG_OVERHE AD ITEM "R & D EXPENSES", D I V I S I ON_EXPENSE S : R_ AND_D ITEM DIVISION_EXPENSES:SELLING_AND_ADVERTIS ING ITEM DI VIS I ON_EXPENSES: ADMINISTRATION ITEM TOTAL_DIVI SION_EXPENSES SKIP 1 LINE ITEM C0NTRIBUTION_FR0M_OIVISinN Figure 21. Logic and report modules for divisions.

PAGE 113

102 DATA PERIODS 1 TO 4 GROUP MFG_OVERHrAD, R_AND_D, SELL I NG_AND_ADVERT1 SI NG . 1 /ADMINISTRATION UNDER D I V I S I ON_EXPeNSES DIVISION_NO IS 1 DI VISI0N_EXPENSES:MFG_GVERHEA0 = 2C0000 division_expenses:r_and_o = soooo Dl VISION_EXPENSES:SELLI NG_AND_ADVERTI SING = 25C0C0 OIVISION_EXPENSES :A0M INISTRATION = 150C0O EXECUTE LOGIC DIVISION, DATA PRODUCT_ll PROOUCT_12. 1 SAVE OIVISION_1 1 REPORT DIVISION. HEADING "DIVISION 1" DATA PERIODS 1 TO 4 GROUP MFG_OVERHEAD» R_AND_D. SELL I NG_AND_ADVERTI SI NG . 1 ADMINISTRATION UNDER D I VI S I ON_EXPENSES DIVISION_NO IS 2 division_expenses:mfg_overhead = lOCOOO DI VIS10N_EXPENSES:R_AND_D = 50000 division_expenses:selling_and_advertising = 2C0C0C DIV ISI0N_EXPENSES:ADM INISTRATION = 150000 EXECUTE LOGIC DIVISION, DATA PR0DUCT_21 PR0DUCT_22, 1 SAVE DIVISI0N_2 1 REPORT DIVISION. HEADING "DIVISION 2" Figure 22. Data modules and execute statements for divisions.

PAGE 114

103 DIVISION 1 DIVISIONAL QUARTERLY PLAN ACCOUNT FIRST SECOND THIRD FOURTH SALES SlCCOfO 5100000 4320000 4860C00 PRODUCT costs: MARGINAL COST 32100CO 3194000 2704000 3058000 FIXED COST 80C000 800000 80CC00 800000 CONTRIBUTION FROM PRODUCTS 1C9OOC0 1106000 816000 IC 02000 DIVISIONAL COSTS: FIXED MFG. OVERHEAD 200000 2C0000 200000 2C000O R t D EXPENSES 50C00 50000 500C0 50000 SELLING AND ADVERTISING 250000 250000 2500CO 250000 ADMINISTRATION 1500CO ISIOOO 15C0CC ISOCOC TOTAL DIVISION EXPENSES 650000 650000 650000 650000 CONTRIBUTION FROM DIVISION 4400C0 456CC0 166C'C0 352000 Figure 23. Model results for Division One,

PAGE 115

104 DIVISION 2 DIVISIONAL QUARTERLY PLAN ACCOUNT FIRST SECOND THIRD FOURTH SALES 5550C00 5120000 4680000 5060000 PRODUCT COSTS: MARGINAL COST 4035CC0 363200C 33240OO 3674000 FIXED COST 675000 675t:0O 675000 675000 CONTRIBUTION FROM PRODUCTS 64C0C0 813000 681000 711000 DIVISIONAL costs: FIXED MFG. OVERHEAD lOOCCO lOCOCO 100000 100000 R e. O EXPENSES SCCt'O 5C00C SCOCO 5C-C0O SELLING AND ADVERTISING 200000 200000 200C00 2C00C0 ADMINISTRATION 15000C 1600C0 1500C0 150000 TOTAL DIVISION EXPENSES 50CCC
PAGE 116

Figure 25. Complete corporate level model,

PAGE 117

106 LOGIC CORPORATION GROUP ADVERTISING, ADMINISTRATION. OTHER UNDER 1 CORPORATE_EXPENSES SALES = SALESl + SALES2 PROOUCT_COSTS = TOTAL_PRODUCT_COSTSl PLUS I TOTAL_PRODUCT_COSTS2 DIVISION_EXPENSES = TOTAL_D I V I S I ON_EXPENSES 1 PLUS 1 TOTAL_DIVI SI0N_EXPENSES2 CONTRIBUTI0N_FROM_DIVISI0NS = CONTR I BUT I ON_FR OM_D I V I S I ON 1 1 PLUS CONTRIBUTI0N_FR0M_DIVI SI0N2 TOTAL_CORPORATE_EXPENSES = SUM CF CORPORATE_E XPENSES NET_I NCOME_BEFORE„TAXES = CONTR I BUT I ON_FROM_D I V I SI ONS 1 TOTAL_CCRPaRATE_EXPENSES IF NET_INCOME_BFFORE_TAXES < C THEN JUMP TO NO_TAX IF NET_INCOME_BEFORE_TAXES > 250C0 THEN TAXES = .48 TIMES I NET_INCOMF_BEFORE_TAXES 650C I ELSE TAXES = ,22 TIMES 1 NET_INCOME_BEFORE_TAX£S JUMP TO AFTER_TAX NO_TAX) TAXES = AFTER_TAX) NET_1NC0ME_AFTER_TAXES = NET_I NCOME_BEFORE_TAXES TAXES REPORT CORPORATION TITLE CORPORATE QUARTERLY PLAN MARGIN fi LINE LENGTH 60 COLUMN SIZES 24, C, (9) BEGIN NEW PAGE SKIP 2 LINES COLUMN HEADINGS "ACCOUNT", " FIRST", " SECOND". 1 " THIRD", " FOURTH" COLUMN HEADINGS " — ». , •• «, ,. «, ITEM SALES SKIP 1 LINE ITEM PRODUCT_COSTS ITEM DIVIS10N_EXPENSES LINE CONTRIBUTION FROM ITEM " DIVISIONS". CONTR I BUT I 0N_FROM_O I V I SI ONS SKIP 1 LINE

PAGE 118

107 LINE CORPORATE EXPENSES: ITEM CORPORATE_EXPENSES: ADVERT I SING ITEM CORPORATE_EXPENSES: ADMINISTRATION ITEM COPPORATd_EXPENSES:OTHER ITEM TOTAL_CORPORATE_EXPENSES SKIP 1 LINE LINE NET INCOME ITEM " BEFORE TAXES". NE T_l NCOME_BEFORE_TA XES SKIP I LINE ITEM TAXES SKIP 1 LINE LINE NET INCOME ITEM •• AFTER TAXES". NET_ I NCOME_AFTER_T AXES *DATA PERIODS 1 TO 4 GROUP ADVERTISING. ADMINISTRATION. OTHER UNDER 1 CORPORATE_EXPENSES CORPORATE_EXPENSES: ADVERT ISING = 100000 CGHP0RATE_EXPENSES:ADMINISTRATI0N •= 1500CC CORPORATE_EXPeNSES: OTHER = 500C0 EXECUTE LOGIC CORPORATION. DATA DIVISION_l DIVISIQN_2 1 REPORT CORPORATION

PAGE 119

108 CORPORATE QUARTERLY PLAN ACCOUNT FIRST SECOND THIRD FOURTH SALES 10650000 1022CC00 9C00CC0 9920003 PRODUCT COSTS 8720000 8301000 7503000 8207000 DIVISION EXPENSES 1150000 1150000 115000C 1150C0C CONTRIBUTION FROM DIVISIONS 78CCC0 769C0C 3470C0 563000 CORPORATE expenses: ADVERTISING lOOOCO lOCCOO 100000 100000 ADMINISTRATION 150C00 1500C0 150C0C 150C00 OTHER 50000 500C0 50000 50000 TOTAL CORPORATE EXPENSES 300C00 3C0O0O 300000 300CCO NET INCOME BEFORE TAXES 480000 469CC0 47000 263000 TAXES 223900 218620 16060 119740 NET INCOME AFTER TAXES 256100 250380 30940 143260 Figure 26. Results for corporate level model.

PAGE 120

CHAPTER V SUMI.IARY AND RECOI^IMENDATIONS Summary Th.iG study was begi,an on the basic premise that a computer-based corporate modeling system could have the sophisticated capabilities required for corporate modeling while retaining a high level of management orientation. C\irrent systems and previous studies were examined in order to determine the desirable attributes of corporate modeling systems and the degree of management orientation which had already been attained. A new corporate modeling system was then developed in an attempt to improve the interface between corporate modelers and computers. The modeling system, CMS/l , is composed of three "English-like" languages. These languages simplify the creation of logic, data, and report modules which are combined to form a corporate model. In addition, the modeling system has several advanced capabilities such as the ability to transfer the values of variables among models and the ability to perform sensitivity and risk analyses. CMS/l is designed in accordance with four general concepts. The most important concept is that the facilities supplied, by the system should be determined by the requirements for corporate modeling rather than by the criteria of 109

PAGE 121

110 ease of implementation. The second consideration in the design of CMS/l is that the system should be convenient to use. This is promoted by the use of "English-like" languages that have short-forms which the experienced modeler may use. CMS/l also assists the user through extensive error checking capabilities and by assuming a value for any system parameter which the user leaves unspecified. A third design characteristic is that the modeling system should be applicable to different firms and to different uses. For example, modeling systems can be used in the analysis of special problems and in budgeting as well as in planning. This flexibility is primarily provided by CMS/1 through the capability of dealing with varying time horizons, the referencing of all variables by names rather than by positions, and the creation of models from modules which are developed separately and stored in a computer accessible form. A final concept which guided the design of CMS/l is that the modeling system itself should not have severe limitations in regard to the capacity of the system. Consequently, dynamic storage allocation is used to "create" tables for the storage of values as they are needed rather than using predefined tables with fixed capacities. Recommendations for Further Research The recommendations for further research may be grouped into two categories (1) the extention of the basic capa-

PAGE 122

Ill bilities of CMS/l and (2) the alteration of CMS/l to operate in an interactive mode. The first recommendation is that the basic capabilities of CMS/l may be extended. The current system can perform the basic arithmetic operations and special functions such as the depreciation of assets and the computation of present values and rates of return. Additional facilities could be added for such computations as the retirement of assets or the use of learning curves. Also, the system could be extended by improving the data handling capabilities. For example, under the current system, a data module cannot be easily altered. If data for a new period are to be added or an old period is to be deleted, the module must be reconstructed. It would be more convenient if a single value could be deleted from or added to the existing values. It would also be advantageous to be able to "add" data modules together. A new data module would be created by adding together the values in different data modules that are associated with the same variable name. This capability would be of assistance in accumulating product-wise data for a division and divisional data for a corporation. CMS/l is designed for use in the "batch" mode. That is, all statements required for the execution of a model or models are grouped together, and then the entire sequence of statements is processed by CMS/l without further intervention by the user. This mode of operation could be changed by altering CMS/l so that it would operate in an "interactive" mode. An interactive system would process one

PAGE 123

112 statement at a time as they are entered rather than processing a "batch" of statements. The user could monitor the results of a model and immediately alter the data and/ or the logic to analyze new alternatives. The model could thereby become an integral part of the analysis and decisionmaking process.

PAGE 124

APPENDIX A

PAGE 125

114 CORPORATE MODELING SYSTEM RELEASE 1 Developed By Robert F. Zant Clerason University USER'S LIAmiAL

PAGE 126

115 INTRODUCTION The Corporate Modeling System (CMS/1) is a computerbased system designed for use in corporate planning and budgeting. The user specifies the logical structure of a planning or budgeting problem (i.e., a logic module), the data to be used in executing the model (i.e., a data module), and the report format for the presentation of results (i.e., a report module). The modules are translated into a computer executable form and stored on magnetic disks(see Figure A-1). The modules may then be combined into a complete model and the model executed (see Figure A-2). The user communicates with CMS through three types of statements control statements, logic and data specification statements, and report format specification statements. The statements required for the execution of a simple model are presented in Figure A-3. The results of the execution are shown in Figure A-4. Language Characteristics Character Set Models are written in the CMS languages using a 88character set composed of digits, alphabetic characters, and special characters. There are ten digits. The digits are the decimal digits through 9.

PAGE 127

116 Logic Module Data Module User Report Module / CMS/1

PAGE 128

117 User Saved Results Reports Figure A-2. Schematic of CKS/l execution pass

PAGE 129

118 LOGIC SAMPLE SALES ARE GROWTH ( SAL ES . . GROWTH_RATE) COST_OF_GOODS_SOLD IS SALES TIMES COST_PERCENT AGE GROSS_MARGIN EQUALS SALES MINUS C OST_OF_GOODS_SOLD OPERATING_PROFIT IS GROSS_MARGIN MINUS GEN_ADM I N_EXPENSE S 1 MINUS DEPRECIATION INCOME_TAX EQUALS TAX_RATE TIMES OPERA T I NG_PROF I T NET_INCOME EQUALS OPERATI NG_PROFI T MINUS INCOME_TAX CASH_FLOW EQUALS NET_INCOME PLUS DEPRECIATION DATA PERIODS I TO A SALES EQUAL 5000, GROtoTH_RATE IS .15, .IC. .05, .05 COST_PERCENTAGE IS .75 DEPRECIATION IS 4U0 GEN_ADMIN_EXPENSES ARE 35C TAX_RATE IS .SO REPORT INCOME LINE LENGTH 56 MARGIN COLUMN SIZES 20. 4. (8) BEGIN NEW PAGE SKIP 2 LINES COLUMN HEADINGS "ACCOUNT" 1 " 1974" SPACE "( K$)" " ( K $ ) " "( K$)" "( K$)" "( K$)" "(K$)" "( K$)" "(K$) " L INE , " ( K S ) " "UNIT" " " 1975" 1972" 1973" DOUBLE ITEM ITEM ITEM ITEM ITEM ITEM ITEM ITEM SKIP ITEM EXECUTE LOGIC SOLO SALES COST_OF_GOODS_ GHOSS_MARGIN GEN_ADMIN_EXPENSES DEPRECIATION OPERATING_PROFIT INCOME.TAX NET INCOME 1 CASH_ SAMPLE FLOW REPORT INCOME Figure A-3. Example model.

PAGE 130

119 ACCOUNT UNIT SALES (K*) COST OF GOODS SOLD (KS) GROSS MARGIN (K*) GEN ADMIN EXPENSES (K$) DEPRECIATION (K$) OPERATING PROFIT (Kt) INCOME TAX CKS) NET INCOME (KS) CASH FLOW (K$) 650 713 7A7 783 Figure A-4. Results from example model. 1972

PAGE 131

120 There are 52 alphabetic characters. They are the 26 capital letters and the 26 lower case letters of the English alphabet (lower case letters are automatically converted to capitals except in a few cases in which strings of characters are created solely for the purpose of printing them on reports). There are 26 special characters. They are given in Table A-1. The terra "alphameric character" refers to an alphabetic character or a digit, but not a special character. Statements The exact forms and the meanings of the different types of statements are described in the sections on the individual languages. All statements are contained on lines that are seventy-two characters in length. If a statement cannot be entered as a single line, all lines after the first line must contain a one ("1") m the first position . Lines with the character "C" in the first position are considered to be comment statements. Comments do not affect the execution of surrounding lines.

PAGE 132

121 TABLE A-1 Special Characters in the CMS/l Languages Name Character Apostrophe or single quote mark Blank Break Character* Cent Sign Colon Comma Commercial "at" Symbol Decimal Point Divide Symbol Dollar Sign Equal Sign Exclamation Mark Left Parenthesis Minus Sign Multiply Symbol Number Sign Percent Symbol Plus Sign Question Mark Quote Marks Right Parenthesis "NOT" Symbol "AND" Symbol "OR" Symbol "GREATER THAN" Symbol "LESS THAN" Symbol t @ / # + ? II ) & I > < Same as the underline character on typewriters.

PAGE 133

122 SYSTEM CONTROL LANGUAGE The system control language is composed of seven control statements. Each control statement begins with an asterisk in the first position followed by a control word. The control word may be followed by a combination of parameter keywords and parameter values. Although the system control language does not distinguish between upper and lower case letters, the following explanation of the control statements indicates system defined words by upper case letters, and indicates useroriginated words and variables by lower case letters. In the following section the form of each control statement will be given along with an explanation of the meanings of the parameter sets which may appear on each statement. Statements *LOGIC logic_module_name The LOGIC statement specifies that the following statements (up to the next control statement) define the logic module for a model. If a logic module name is specified, the module will be saved in an executable form. An unnamed module is available only until another LOGIC statement which does not contain a name is encoimtered cr until the end of the computer run.

PAGE 134

123 *DATA data_module_name, PERIODS x TO y The DATA statement specifies that the following statements (up to the next control statement) define data values to be used in the execution of a model. Each variable in the data module will be defined for 1+y-x periods. If the PERIODS option is not specified, then the default values of 1 TO 5 are assumed. If a data_module_name is specified, the data module will be saved in an executable form. An unnamed data module is available only until another DATA statement is encountered which does not contain a data module name or until the end of the computer run. *REPORT report_name The REPORT statement specifies that the following statements (up to the next control statement) define the format for printing the results from the execution of a model. If a report name is specified, the format specification will be saved in an executable form. An unnamed report is available only until another REPORT statement is encountered which does not contain a report name or until the end of the computer run. *EXECUTE LOGIC logic_module_name , DATA data_module_name-]_, data_module_name2, REPORT report_name-[^, report_name2, PERIODS w TO z , ITERATIONS n, INITIAL RANDOM NUMBER IS m, HEADINGS "heading one", "heading two", SAVE data module name

PAGE 135

124 The EXECUTE statement specifies that the named logic module is to be executed using the data modules named. The results of the execution are printed according to the format specified in the named reports. If the LOGIC and/or REPORT options are not specified, the last lonnamed logic module and/or report are used. The last linnamed data module is always used. The model is executed over the periods v.' to z. If the PERIODS option is not specified, the number of periods specified in the first data module is used. V.Taen the HEADINGS option is specified, the first heading is centered at the top of each page of output and the second heading is printed against the right margin at the top of each page of output. Lower case letters appearing in the body of a heading are not translated into capitals. The body of the headings must be preceded and succeeded by quote marks. The ITERATIONS and INITIAL RANDOM NUMBER options may be specified when llonte Carlo sampling is utilized. The default values are 1 and 65549, respectively. The ITERATIONS option is also used to specify the number of executions to be performed in a sensitivity analysis. The SAVE option is used to specify a name for the data module which is created to contain the values of the variables appearing in SAVE statements in the logic module executed. ^CONTINUE The CONTINUE statement may be used to denote the ending

PAGE 136

125 of a logic module, data module, or report module. If a CONTINUE or another control statement immediately follows a LOGIC [DATA, REPORT] statement, then the logic module [data module, report module] will be null. *PRINT ALL *PRINT NONE *PRINT LOGIC, DATA, REPORT The PRINT statement governs the printing of statements read by CMS/l . If no PRINT statements are used, all statements read by CMS/l will be printed. All control statements read will always be printed. The NONE option causes the cessation of the printing of logic, data, and report specification statements. The ALL, LOGIC, DATA, and REPORT options are used to restore the printing of statements read by CIvlS/l . ^DESTROY LOGIC logic_module_name , DATA 1 data_module_name , REPORT report_name The DESTROY statement is used to erase a named logic, data, or report which was previously created but no longer needed.

PAGE 137

126 LOGIC AND DATA SPECIFICATION LANGUAGE Logic and data modules are composed of statements in the logic and data specification language. There are seven types of statements in the language. Two of these types may be used to create data modules. All seven types may be used in creating logic modules. Statements are conposed of identifiers, operators, and delimiters. Identifiers An identifier is a single alphabetic character or a continuous string of alphameric and certain special characters. The first character in the string must not be a digit. The beginning and the end of an identifier are denoted respectively by the occurrence of preceding and succeeding delimiters and/or operators. The special characters which may be used in an identifier are: apostrophe (')» break character (_), cent sign (0), commercial "at" symbol (©), dollar sign ($), exclamation mark (!), percent symbol (^), and question mark (?). Identifiers are used as names of variables, names of groups of variables, and names of statements. No identifier can exceed 32 characters in length. If an identifier longer than 32 characters is specified, it is contracted by concatenating the first 28 and the last 4 characters.

PAGE 138

127 Certain identifiers are language Keywords . Keywords have specific meanings and cannot be used as names or labels. The Keywords and their meanings are discussed below in the section on statements. Operators Operators are single characters or strings of characters which specify arithmetic, logical, comparison, or assignment operations. The operators and the actions they connote are shown in Table A-2. A special type of operators called function operators cause a predefined sequence of actions (usually arithmetic) to occur. The available functions and their descriptions are given in the section entitled "Functions." Constants Constants are strings of numeric characters which represent decimal numbers. The string may therefore contain one decimal point. Examples of constants are: 1.23 100 6345 A constant cannot contain blanks or commas . All values in CMS/l are maintained with a precision of —78 6 digits. All values must be between approximately 10 and lO"^"^^. Delimiters Delimiters are characters which denote the limits of

PAGE 139

128 CvJ 0} bD aJ o •H •P u •H «H •H U 0) CO -p a e o 0) > -P cd C ^^ 0) H •H -H P TZi C o o a a « 3 (U CO + I * \ o •H n p o cs3 H O d p -H O O iH H 03 P P Jh H •H -P +J t3 XI H o H PCd •H j::-p o H CO •H > O
PAGE 140

129 identifiers, of constants and of combinations of identifiers, constants, and operators. Characters which may be used as delimiters are the blank, comma, quote marks, number sign, colon, and left and right parentheses. A blank, when appearing in the first position of an input line, denotes the beginning of a new statement (see the following section on Statements). One or more blanks may also be used to surround identifiers, operators, constants, or other delimiters. However, identifiers, composite operators, and constants cannot contain blanks. NOTE: The first position of an input line must contain either a blank, a "1," or a "C." Commas are used primarily to separate variable names in lists of variable names and to separate constants in lists of constants. Usually, a comma could be replaced by a blank. The number sign is used to separate a variable name and an associated subscript. For example, if "SALES" represents the dollar value of sales for this period, "SALES#-1" would represent the dollar value of sales for the pervious period. A value of zero is assumed for a subscripted variable when the subscript references a period outside the range of the model. Pairs of left and right parentheses enclose variable names, operators, and constants, creating expressions whose values are to be determined. An unmatched right parenthesis placed after the first identifier on a new line causes the identifier to be interpreted as a statement label.

PAGE 141

130 A colon is used to separate a group name from the name of a variable that is contained in the group (see the explanation of the GROUP statement). In the logic specification language quote marks are used in the SAVE statement in constructing a name for the saved variable (see the explanation of the SAVE statement). Expressions An expression is a representation of a value. A constant, a variable, and a combination of constants, variables, operators, and parenthesis are expressions. For example, the following are expressions: 43.2 SALES A + B (A + B) * C A logical expression is an expression which assumes a "value" of "True" or "False." Example of logical expressions are: SALES 1000 (X = 3) & (Y IS 5) Statements The statement is the basic executable unit. Statements compute values and assign them to variables, affect the sequence in which statements are executed, create associations (groups) of variables, and do nothing. Only Assignment and GROUP statements may be used in specifying a data module .

PAGE 142

131 Assignment Statement The assignment statement consists of a statement name (optional), the Keyword "SET" (optional), a variable name, an assignment operator, and an expression. Examples of assignment statements are: W IS 1 SET X = A + B * Y START) SET WAGES EQUAL TO HOURS TIMES PAY_RATE Control Statements There are three types of control statements the GO TO, IF, and STOP statements. The GO TO statement is composed of a statement name (optional) and the Keywords "GO TO" (or "JUI.tP TO") followed by the name of another statement. The execution of a GO TO statement causes a sequential execution of statements to begin with the named statement. Examples of GO TO statements are: JUr.IP TO FINISH GO TO START G0_1) GO TO LOOP The second type of control statement, the IF statement, is composed of a statement name (optional), the Keyword "IF," a logical expression, the Keyword "THEN,", an xinnamed statement, the Keyword "ELSE," and an lannamed statement. The components must appear in that order. The Keyword "ELSE" along with the last statement is optional. The execution of an IF statement causes the logical

PAGE 143

132 expression to be evaluated. If the expression is TRUE, tiie statement following the Keyword "THEN" is executed. If the expression is FALSE, the statement following the Keyword "ELSE" is executed. Examples of IF statements are: IF SALES ARE 1000 THEN GO TO LOOP 1 ELSE C_G_S = .8 * SALES TEST) IF (X IS 3) & (Y = 5) THEN X = 1.5 The statement following a "THEN" or an "ELSE" cannot he an IF or a GROUP statement. The third type of control statement, the STOP statement, is composed of a statement name (optional) and the Keyword "STOP." The encountering of this statement causes the execution of the model to cease. An example of the STOP statement is: THE_END) STOP Null Statement A null statement is nonexecutable. It consists only of a statement name. Examples of null statements are: LOOP) BEGIN) GROUP Statement The GROUP statement associates variables with group names. The use of a group name in an expression or in an assignment statement will cause each variable associated with the named group to be referenced.

PAGE 144

133 For example, the two statements GROUP GROSS_MARGIN, EXPENSES, 1 NET_INCOIVlE_PROM_OPERATIONS UNDER DIVISI0N_1, 1 DIVISI0N_2, LIVISI0N_3, DIVISI0N_4 NET_INCOME_FROr/:_OPERATIONS EQUALS GROSS_MARGIN MINUS 1 EXPENSES would compute the value of four variables, i.e., the net incomes for the four divisions. The value of a single variable defined by a GROUP statement may be referenced by specifying the group name and the variable name separated by a colon. For example, DIVISI0N_1 : GROSS_MARGIN DIVISI0N_2:GR0SS_MARGIN DIVISI0N_4: EXPENSES would reference individual values. In this manner the twelve values could be individually referenced. GROUP statements, if used, must appear before any other type of statement. The use of group and unqualified element names in assignment statements is interpreted as follows: Group name = f( group name) The statement is expanded into statements for each element in the group. The groups must have the same number of element names. The element names are paired in order of their occurrence in the GROUP statement. Group name = f( variable name) The value of the expression is assigned to all members of the group.

PAGE 145

134 Group nariL-e = f( element name) The statement is expanded for each element in the group. The element named is summed over all occurrences. Variable Jiame = fC group name) The sum of the values of the elements in the g^roup is used in the expression. Variable! name = f ( element name ) The s^ora of the element's value over all grouaps is used in the expression. Element name = f( group name) The statement is expanded into statements for 'v^ach occurrence of the element name. The sum of the values of the elements in the group is u:sed in the expression. Element jname = f( variable name) The value of the variable is assigned to eachoccurrence of the element name. Element name = f( element name) If both elements belong to the same groups, theii:the statement is expanded into statements for 'sach group. If the elements belong to different groups, then they must belong to the same number of groups and the statements are exi)anded into statrements for pairs (or vectors) of groups with, the pairing being determined by the order in which, the groups were listed in the defining GROU.S' statements. SAVE Statemen ife The SAVE statement has the following form: SAVE va:ciable_name-. AS variable_name2, variable_name^ 1 AS Mra.riable_name. , ... The fina:i values associated with the first variable

PAGE 146

I 135 natme are associated with the second variable name and are written on a disk file. If the Keyword "AS" and the second variable names do not appear, the values written out will be associated with the first (i.e., the original) variable name. A variable name which follows the Keyword "AS" may have the following form. VAR I ABLE_N AME-L " V AR I ABLE_NAME2 The values will be saved under a name created by appending to the first variable name the value of the variable referenced after the quote marks. For example, if a model is being solved for a particular product (say product number 5^16) and the net income computed by the model is to be saved, then PROLUCT_NUMBER IS 546 SAVE NET_INCOME AS NET_INCOME_"PRODUCT_NUMBER would save the values associated with "NET_INCOME" tinder the name "NET_INCOME_546" . If the "AS" clause is not utilized in the SAVE statement, then a variable may be appended to the original variable name. For example, PRODUCT NUMBER IS 546 SAVE NET_INCOME"PRODUCT_NUMBER would save the values associated with "NET_INCOME" under the name "NET INCOME546".

PAGE 147

136 If a group name is used instead of the first variable name, then the second name is considered to be a group name. The values of all elements in the group are saved and are associated v/ith the original variable names and the new group name . If an element name is used instead of the first variable name, it must be qualified. The values are saved in a data module with the name specified in the EXECUTE statement. If no name is specified, a data module name is generated from the name of the logic module and the date. V\ilien a deterministic model is executed, the last values associated with the variables are saved. If the model is executed with Monte Carlo sampling, then the values saved are the average values for the variable. If the model is executed in a sensitivity analysis, the last values are saved. Functions Functions are predefined sequences of actions which are invoked by the use of a function name in an expression. An example of the use of the function "KORMA.L" is: X = Y * NORMAL (a,b) The execution of the preceding statement would replace the value of X with the value of Y multiplied by a normally distributed random variate. In the following explanations of the supported func-

PAGE 148

137 tions, the lower case letters "a", "b", and "c" represent expressions. NORMAL (a,b) A value is drawn from a normally distributed population. Ninety-five percent of the population lies between the values of a and b. UNIFORM (a,b) A value is dravvTi from a uniformally distributed population. The population lies between the values a and b. WEIBULL (a,b,c) A value is drawn from a population described by a Weibull distribution. Ninety-five percent of the values lie between the values of a and c. One percent of the values lie beyond the value of c. The value of b is the most likely value to occur (i.e., the mode). DISTRIBUTED 1 l'»'^2 > '^p » • • • / A value is drawn from a tains the values ai,a2,a3, that a]_ will be selected is that B.2 will be selected is b's must sum to one. LINEAR (a,b,c) population which con. . . . The probability b]_; the probability b2; etc. NOTE: The A value is computed which is equal to the minimum of b and a+(n-l)c v.'here n is the period number (i.e.. 1,2,3,...). If c is omitted [i.e., LINEAR (a,b.)], then c is computed according to the formula (b-a)/m-l) where m is the total number of time perio ds GROWTH (a,b,c) A value is computed which is equal to the minimum of b and a(l+c)^"^ where n is the period number (i.e., 1, 2, 3, ...), Thus, the value will begin at a and grow by c percent a year until the value of b is attained. If c is omitted [i.e., GROWTH (a,b,)], then c is computed such that a constant percentage growth from a to b is realized. DISCOUNT (a,b) The present value of the cash flow, a, is calculated using the interest rate, b.

PAGE 149

138 DEPRECIATE (a,b,c) An investment, b, is depreciated by one of three methods. The type of depreciation is governed by the value of a: a = 1 straight line a = 2 sum of the year's digits a = 3 double declining balance When a equals 1 or 2, c is the salvage value of the investment. Y.'nen a equals 3, c is the number of periods over which the investment is depreciated. INTRL_RATE (a,b) The internal rate of return that equates the investment, a, v/ith the cash flow, b, is calculated. RATE (a,b,c) That equivalent rate of return is calculated that equates the investment, a, with the cash flow, b, v/hen the cash throw-off s earn the rate of return, c. PAYBACK (a,b) The payback period is calculated for the investment, a, with the cash flow, b. ITERATE (a,b,c) The ITERATE function is used to perform a sensitivity analysis. The first time the model is executed the value a is used. The value used is then incremented on each successive execution by c until a maximum value of b is attained.

PAGE 150

139 REPORT FORMT SPECIFICATION LANGUAGE The format of a report is specified by the use of statements which govern the size of the printed page, segment the page into columns, control the spacing of lines, specify the content of lines, and define titles and footings to be printed on each page. All statements begin with one or more blanks followed by a Keyword, followed by information concerning the action requested. In the following section the form of each statement will be given along v/ith an explanation of the meaning of the statement and any parameters which may appear in the statement. Statements PAGE LENGTH x The PAGE statement sets the length of a page to be equal to x number of lines excluding the length of any footing. A page length of 60 lines is assumed. MARGIN X The MRGIN statement causes each line to begin x number of positions to the right of the physical beginning of the line. A margin of 2 positions is assumed.

PAGE 151

140 LINE LENGTH x The LINE LENGTH statement sets the maximum number of characters per line. A length of 130 is assujned. BEGIN NEW PAGE The BEGIN statement signifies the end of the logical content of a page. V/hen this statement is enco\intered, a footing, if one was specified, is v.Titten at the "bottom of the page and a new page is begun. PRINT PERIODS x TO y The PRINT PERIODS statement signifies that only values for periods x through y are to be printed. If x and y are not given, the number of periods over which the logic module is executed is assumed. COLUMN SIZES x-,^ x^ x, ... The COLUIvIN SIZES statement segments the page into columns of widths x-,, Xp, x,, etc. The widths must be between and 32768. If no column sizes are specified, the first column is assumed to have a width of 32 characters, the second coliimn is assumed to have a width of 4 characters, and all succeeding columns are assumed to be 10 characters wide. To signify the repetition of an ending series of widths, enclose the series in parentheses.

PAGE 152

141 COLUMN HEADINGS "a" "b" "c" The COLUMN HEADINGS statement causes the indicated character strings (i.e., a, b, c, ...) to be printed in the center of the corresponding columns. To signify the repetition of an ending series of character strings, enclose the series in parentheses. No character string should be specified if the corresponding column width is zero. SKIP X LINES The SKIP statement causes x number of lines to be skipped before the printing of the next line. SINGLE SPACE The SINGLE SPACE statement causes the following printed lines to be single spaced. DOUBLE SPACE The DOUBLE SPACE statement causes the following printed lines to be double spaced. TRIPLE SPACE The TRIPLE SPACE statement causes the following printed lines to be triple spaced. ITEM "a", "b" , x, variable_name The ITEM statement causes the character strings a and

PAGE 153

142 t) to be printed in the first and second columns, respectively. The values of the named variable are printed in the remaining columns with each value having x decimal places (zero decimal places are assumed). The character strings a and b and the value x are optional. If the first character string does not appear (i.e., the Keyword "ITEM" is followed directly by a comma), the name of the variable is printed in the first coliimn. DISTRIBUTION The DISTRIBUTION statement is used when a Monte Carlo simulation has been performed. It signifies that all following variables listed in ITEM statements are to have their values printed in the form of a relative frequency table. LINE The LINE statement signifies that any characters (beginning with position seven) following the Keyword "LINE" are to be printed exactly as they appear. TITLE The TITLE statement signifies that any characters (beginning with position eight) following the Keyword "TITLE" are to be printed at the top of each following page.

PAGE 154

143 FOOT The FOOT statement signifies that any characters (beginning with position seven) following the Keyword "FOOT" are to be printed at the bottom of each following page.

PAGE 155

BIBLIOGRAPHY 1. "AUTOTAB User Guide," CAPEX Corporation, 1970. 2. Boulden, James B. and Edward S. Buffa. "Corporate Models: On-line, Real-time Systems," Harvard Business Reviev/ , Vol. 4 8 (July-August, 1970), pp. b5-H0"I 3. Brown, David E. "Stages in the Life Cycle of a Corporate Planning Model," Corporate Simulation Models , Albert N. Schrieber (ed. ) , Graduate School of Business Administration, University of Y/ashington, Seattle, Washington, 1970, pp. 92-116. 4. Buchman, Donald L. "An Application-Oriented Computer Language for Financial/Economic Simulation," a paper presented at the XIX Internation Meeting of the Institute of Management Sciences, Houston, Texas, April 5, 1972. 5. Dickson, G. W. , J. J. Mauriel, and J. C. Anderson. "Computer Assisted Planning Models, A Functional Analysis," Corporate Simulation Models , Albert N. Schrieber (ed.j. Graduate School of Business Administration, University of Washington, Seattle, Washington, 1970, pp. 43-70. 6. Dinter, Heinz. "A Theory of Computer Based Management Control," Doctoral Dissertation, Department of Management and Business Law, University of Florida, 1970. 7. Dyment, John H. "Financial Planning with a Computer," Financial Executive (April, 1970), pp. 34-46. 8. "Financial Analysis System User's Guide," Information Service Department, General Electric, 1970. 9. Gershefski, George W. "Corporate Models The State of the Art," Corporate Simulation Models , Albert N. Schrieber (ed.). Graduate School of Business Administration, University of Washington, Seattle, V/ashington, 1970, pp. 26-42. 10. Gershefski, George W. The Development and Application of a Corporate Financial Model , Planning Executives Institute, Oxford, Ohio, 196b. 144

PAGE 156

145 11. Gershefski, George W. "VvTiat's Happening in the World of Corporate Models?" The Bulletin of the Institute of Management Sciences (.June, 1^71), pp. 4 3-45. 12, Johansson, Hank. "Marketing and Financial Planning," The Bulletin of the Institu (February, 1971), pp. 50-51. The Bulletin of the Institute of Mana gement Sciences 13. Lande, Henry F. "Business Planning by Computer," Doctoral Dissertation, Western Reserve University, Cleveland, Ohio, 1965. 14. Lande, Henry F. Hov< To Use the Computer in Business Planning , Prentice-Hall, Inc . , Englewood Cliffs, Nev; Jersey, 1969. 15. McKenney, James L. "Guidelines for Simulation Model Development," Information Systems Science and Tech nology . 1967, pp. 169-173. 16. McKenney, James L. "The Roles of Simulation Models in Planning," Corporate Simulation Models , Albert N. Schrieber (ed.). Graduate School of Business Administration, University of Washington, Seattle, Washington, 1970, pp. 6OO-6I3. 17. Morgan, James I. "Planning Simulator 1: An Aid To Business Planning," a paper presented at the 1970 Summer Computer Simulation Conference, Denver, Colorado. 18. Morgan, James I., R. M. Lawless, and E. C. Yehle. "The Dow Chemical Corporate Financial Planning Model," Corporate Simulation Models , Albert I^ . Schrieber (ed.), Graduate School of Business Administration, University of Washington, Seattle, Washington, 1970, pp. 374-394. 19. Planning Systems Generator II, Program Number 5734-XTl, International Business Machines, Armonk, New York. 20. Wagner, W. H., L. T. Ak^atagawa, and L. J. Cuneo. "Telecommunications Earnings Estimation Model (TEEM): An Evaluation." Corporate Simulation M odels, Albert N. Schrieber ( ed. ), Graduate School of Business Administration, University of Washington, Seattle, Washington, 1970, pp. 396-430. 21. Watson, H. J. "A Long-Range Stochastic Cash Budgeting Model," Doctoral Dissertation, Florida State University, Tallahassee, Florida, 1969.

PAGE 157

BIOGRAPHICAL SKETCH Robert Franklin Zant was born September 28, 1943 i in Valdosta, Georgia. His childhood was spent in Georgia and in Florida where he graduated with Honors from Palatka Senior High School, Palatka, Florida, in June of 1961. He received an A. A. degree with High Honors in June, 1963, from St. Johns River Junior College, Palatka, Florida. lUr. Zant then attended the University of Florida where he majored in mathematics. In August, 1965, he received from the University a B.A. with Honors. After graduation, Mr. Zant worked with The Boeing Company as a scientific programmer and with the University of Florida Computing Center as a systems programmer. In September, 1967, he began graduate studies in Economics and Business Administration at the University of Florida as a NDEA Title IV Fellow. He received an M.A. in management in March of 1970. Since A^ogust, 1970, Mr. Zant has been an Assistant Professor of Industrial Management at Clemson University. Mr. Zant is married to the former Sue Ann Frazier of Palatka, Florida, and has two daughters. He is a member of Phi Rho Pi debating society. Phi Kappa Phi honorary scholastic fraternity, The Institute of Rlanagement Science, the American Institute of Decision Sciences, the American Accounting Association, and the South Carolina Academy of Sciences. 146

PAGE 158

I certify that I have read this study and that in my opj.nion it conforms to acceptable standards of scholarly presentation and is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy -^M^t^ ^^^A^;:^ William V. V/ilmot , Chairman Professor of Management I certify that I have read this study and that in my opinion it conforms to acceptable standards of scholarly presentation and is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. R. H. Blodgett --^ Professor of Economics I certify tViat I have read this study and that in my opinion it conforms to acceptable standards of scholarly presentation and is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. £, ^ .^^M U^$&^---^ E. L. Jackson Professor of Economics I certify that I have read this study and that in my opinion it conforms to acceptable standards of scholarly presentation and is fully adequate, in scope and quality, as a dissertation for the degree of Doctor of Philosophy. W. E. Stone Professor of Accounting

PAGE 159

This dissertation v/as submitted to the Department of Management and Business Law in the College of Business Administration and to the Graduate Council, and was accepted as partial fulfillment of the requirements for the degree of Doctor of Philosophy. August, 1972 Dean, Graduate School

PAGE 160

I t. V a 1 7 8 9 I. ^< '