Article prepared as it is scheduled to run in the ORMS Today, June 2007 issue.
Powerful, flexible, scaleable decision-support platform
instantly converts business models into fully functional
Web applications for enterprise-level deployment.
By Michael Kubica
D URING THE PAST 10 YEARS there has been a growing inter-
est in quantitative decision support for business. Com-
mensurate with this interest, there has been a prolifera-
tion of business modeling tools, each with unique
advantages and disadvantages, depending on the business prob-
lem being addressed. At Healthcare Econometrics, a division of
Applied Quantitative Sciences, we help our clients make
informed decisions under conditions of uncertainty and com-
plexity. The diversity of model requirements within our client
P R O D U C T I N F O R M A T I O N base (scope, scale, complexity, accessibility, etc.) has fueled our
persistent survey and acquisition of what we consider best-in-
class modeling tools. Recently, we tested (and have since adopt-
ed) Vanguard System.
Vanguard System provides an extremely powerful, flexible,
scaleable and extensible decision-support platform for any proj-
Vanguard System is available from Vanguard Software ect scale or scope. The real value with Vanguard System is realized,
Address: 1100 Crescent Green, Cary NC 27518 however, within the context enterprise-level decision support.
Phone: 919-859-4101 Business modeling occurs in almost every functional area of
Fax: 919-851-9457 an organization. Many times, the model from one function pro-
E-mail: email@example.com vides inputs to one or more other functional models. In this
URL: www.vanguardsw.com type of environment, it is typical for there to be version discon-
tinuities between functional model updates (at best) and in the
Pricing worst cases multiple models relying on different sources for
Professional version: $895/yr + optional Add-ins (single user); (presumably) the same information. Vanguard System tran-
$5,950/yr + Add-ins (10-user pilot system) scends these issues by establishing a secure, collaborative, com-
Academic version: $447.50 perpetual (single user). Donations are available ponent-modeling environment where all models using inputs
for multi-user systems. from another model are instantaneously updated when the
Student version: $447.50 perpetual. component is updated.
Another significant advantage of Vanguard System is the
System requirements ability to instantly publish a model as a Web-based application.
Vanguard Server: Windows 2000 or later (Windows 2003 Server recommended Vanguard System makes decision-support models widely
for large user groups) accessible to the people who need them: decision-makers. They
Vanguard Studio client: Windows 2000, XP or Vista can be made available anytime, from any Web browser, with an
Web-based users: Any Web browser easy-to-use and understand interface. The days of having to
OR/MS TODAY J une 2007
“wait for the modeler to re-run the model with alternative places virtual super-computing capabilities behind
assumptions” may be over. large complex simulation models.
Vanguard System is the flagship product of Vanguard Soft- • Optimization: The optimization module provides two
ware Corporation (1-919-859-4101, www.vanguardsw.com). tools: Solver and Goal Seek. Solver uses traditional
This review describes some of the main features, benefits and linear and integer programming techniques and allows
limitations of the current version of Vanguard System (version you to state constraints in plain English form (a real
5.0.15). benefit when working with complex, multi-constraint
Vanguard System is comprised of two core components: problems). Goal Seek uses non-linear unconstrained
• Vanguard Studio: a graphical modeling environment optimization techniques. The optimization module
that may be used to construct quantitative decision- supports an unlimited number of variables and
support tools ranging from simple, single-event constraints.
decisions to enterprise decision-support systems. • Application development: The Web Development
Single- and multi-user licensing is available. Add-in allows you to rapidly create sophisticated Web
• Vanguard Server: Once a model is constructed using applications based on your model. You can use
Vanguard Studio, it is published to Vanguard Server, Vanguard’s Dscript language to read and write data
which functions as a library server (a secure files, or interface directly with other enterprise
environment to store and access models), an applications via DDE, OLE, ODBC and Web Services
application server (making all models available as a (using the Web Services Add-ins).
fully functional Web-based application) and a
licensing server (allowing licenses to be shared At the heart of Vanguard System is DScript, an object-ori-
between multiple users within a networked ented programming language. DScript is an extension of the
features, including multi-user support, Secure Socket tax. Using DScript you may program your own Add-ins and
Layer encryption (SSL), failover and load balancing. functions, and save them as libraries for future use. Leveraging
this capability can dramatically increase modeling efficiency,
Overview of Vanguard System reduce the likelihood of errors and provide consistency of
VANGUARD STUDIO is a powerful quantitative modeling envi- methodology between modelers. If you have prior experience
tical and artificial intelligence applications. The capabilities of since it follows the same syntax. If you are not an experienced
specialty domains, via Add-in modules, including: elect, and Vanguard System tools and menus are more than
• Forecasting: Given an historical data set, this Add-in adequate to meet most user requirements.
assists in selecting and implementing the appropriate
algorithm from among several options, including Building a Model
moving averages, exponential smoothing, regression IN THE SECTIONS THAT FOLLOW, we will demonstrate the use
and even more advanced methods such as Fourier of Vanguard System with the Monte Carlo Add-in and an Add-
spectral-analysis. A forecasting wizard is available to in we created using DScript, which facilitates the construction
simplify the process of importing data and executing of market simulation models. We will create a simple model
the analysis. forecasting revenue from a fictitious novel medical technology
• Decision tree analysis: This Add-in constructs and (code named “Project Elephant”) to treat a fictitious disease
solves decision trees, and provides outputs such as risk (Lapsus Memori). For this model, we assume one market seg-
analysis and value of information. ment and two products: an implantable microchip that stimu-
• Monte Carlo simulation: This Add-in allows you to lates memory structures in the brain and a surgical kit to
define inputs as probability distributions and simulate facilitate implantation.
the output based on the uncertainty defined in the Vanguard Studio opens to a blank modeling page, which
inputs. By defining all input uncertainties according to has a tool bar, document window and status bar. Models are
their statistical probabilities, outputs may be analyzed instantiated as documents, consisting of one or more sheets.
statistically with a more rich understanding of the Sheets are organized as tabs, similar to common spreadsheet
likelihood of achieving different values of a measure of applications, and include one or more tree sheets (to display
interest. This Add-in provides sophisticated tools for the actual model diagram), text sheets (to provide information
establishing correlations between variables and about and/or documentation of the model) data table sheets
performing a variety of sensitivity analyses. Vanguard (to store data), graph/table sheets and report sheets (to pro-
System offers another Add-in, Grid Computing, to duce exquisite reports that include text, tables, graphs, etc.).
allow you to use multiple processors across any You can open, edit and run multiple model documents within
number of networked computers or servers. This a single instance of Vanguard Studio (Figure 1).
J une 2007 OR/MS TODAY
nents may also be represented in differing units of time (years,
quarters, months, days, etc.), and Vanguard System automati-
cally scales them to be consistent with one another in the par-
ent model. Anyone who has ever tried to consolidate multiple
models in an application that allows only one time base and/or
a single unit of time can appreciate how incredibly valuable
this feature is.
With a few mouse clicks, this “parent model” is published to
Vanguard Server. Next, we will create a component for the seg-
ment within which Project Elephant will be adopted, and link
to that component from the parent model. We begin by open-
ing another model document, and constructing the Segment
model by defining the mathematical relationships between
variables (Figure 3).
You begin programming your model by typing in the for-
mula bar. Vanguard Studio automatically begins building a
graphical representation of the mathematical model as a hier-
archical tree diagram. The tree diagram uses nodes and
branches to represent the relationships between variables cre-
ated in the formulas you type. First, we will create a parent
model, which will have links to, and use data from, several
component models. Since our task is to forecast revenue from
products used to treat Lapsus Memori, we begin with a simple
model: Revenue = Segment Size * Technological Adoption *
Market Share * Price (Figure 2).
Like many business problems, this one involves calculating
values as a function of time. Because this is a dynamic model, Figure 3
we must establish a time base for the time series being calcu-
lated. Vanguard System’s treatment of time is one of its most Note the arrows indicating links to another page on some
powerful features. First, date values are internally translated in nodes. In order to keep the workspace organized and the
Vanguard System into unique serial numbers. Second, you can model structure transparent, Vanguard Studio automatical-
have any number of time bases within the same model. For ly extends the workspace into additional screens with navi-
example, one component may have a starting date of July 1, gation links when the model becomes too large to view on a
2000, while another has a starting date of Jan. 1, 1995. Compo- single screen. Simply click on the link to see the additional
nodes. Likewise, when a node is referenced by several other
nodes, Vanguard Studio displays a pointer with the name of
the referenced node. This eliminates the “spaghetti” of mul-
tiple crossing lines in the influence diagram without sacri-
Because several variables represent unknown futures
(such as growth rates of the population and prevalence of
Lapsus Memori within the population), these variables
are represented as probability distributions. To define a
node as probabilistic, you may type a distribution func-
tion directly into the formula bar, or use the menu to
select the distribution you wish to use. The menu system
provides a graphical interface for selecting the probabili-
ty distribution you wish to use.
By convention, I externalize distribution parameters so
they may be represented as assumptions and documented.
OR/MS TODAY J une 2007
Next, we publish this component to Vanguard Server,
return to our “parent model” and link to the segment model as
a component object. This task is easily accomplished using the
right-click menu over the node that will contain the compo-
nent link and selecting the component from an explorer-style
dialog box. Once the component model is inserted, you may
view the inputs and outputs of the component from within the
parent model (Figure 8).
Vanguard System makes it easy to document the model at any
level of granularity. To demonstrate, I declare the input
nodes. By declaring nodes as inputs, the shape of the node Figure 8
changes to an “arrow” and input data entry fields are placed
in the upper left corner of the model. Likewise, by declaring You may modify inputs from the component directly from
nodes as outputs, output fields are placed in the upper left this screen, without corrupting the default assumption values
corner as well (Figure 4). in the original component model. Herein lies one of the most
I place a comment over the input nodes, with an instruc- powerful features of Vanguard System. A component is essen-
tion as to what information the node should contain. Fol- tially a replica of the model it represents. By un-checking the
lowing the instruction, I insert “##MORE##,” which separates “Single Instance” box, we can insert this component multiple
the instruction from the documentation. As will be shown times within a single model, each of which can contain unique
later, when the model is accessed via Web browser, the assumptions. Any time the structure of the original component
instruction will display next to each input field, with a “More” model is modified, each component replica is likewise modi-
link, which expands to include assumption documentation. fied. This object-oriented architecture provides for extremely
In Vanguard Studio, comments efficient modeling and dramatically decreases the likelihood of
will now be visible when you coding errors. By declaring the component model as a parent
move your mouse over the input class, the inserted component inherits the features and attrib-
node (Figure 5). utes from the original component model and allows infinite
We will now define a correla- flexibility to extend beyond the inherited structure for the
tion between the initial and termi- component (Figure 9).
nal prevalence compound annual
growth rate (CAGR). Vanguard
System makes it a simple task to
establish correlations between vari-
ables. Simply select the menu item
to reveal a dialog box requesting
which variables you wish to corre-
late. Then you can click on the
nodes to be included in the corre-
lation matrix, and the dialog box is
automatically populated (Figure
When you click “OK,” a correla- Figure 9
tion sheet is inserted into the
model document, and you can Next, we define the Tech Adoption, Market Share and Price
define the strength of the relation- components following the same steps as we did for the seg-
ships in the matrix (Figure 7). ment component. For price, we expand the model to accom-
J une 2007 OR/MS TODAY
modate our two products. We do this by expanding the tree to
include revenue from each product, which is then aggregated
into a total revenue value (Figure 10).
dynamic reports, which are automatically updated whenever
an input value is changed. We can create a number of output
reports in either tabular or graphical format. Our completed
model structure looks like Figure 13.
The model structure for price in this example is identical for
both products; there are simply different assumptions. We
assume a base price, with compound annual growth rate
(CAGR) on average sales price (ASP) that lasts for some peri-
od of time, and then potentially transitions to a different
growth rate for another interval of time. The initial CAGR,
probability of a transition, terminal CAGR and years to transi-
tion are all represented as uncertainties with probability distri-
butions. The initial CAGR and terminal CAGR values are
correlated (Figure 11).
We publish the model to Vanguard Server, and the
model is accessible to any authorized user with a Web
browser. Users access the model via a wiki-style knowl-
edge portal (Figure 14).
Each time a model is saved (published), a new
date/time/user-stamped instance is created in Vanguard Serv-
er. This way the history of modifications is always accessible,
Because of the object-oriented nature of Vanguard System,
we only have to create this model once. We simply instantiate
it twice in our parent model and allow for multiple instances
with unique values. To do this we follow the same method of
inserting a component that we did before. This time, however,
we uncheck the “Single Instance” box to allow for multiple
unique instances (Figure 12).
Next we simply update the values in the pricing compo-
nents to reflect the assumptions for the current model.
With a few simple clicks of the mouse, we are able to create Figure 14
OR/MS TODAY J une 2007
in the original model. This is an extremely valuable fea-
ture when there may be multiple decision-makers using
the model for different purposes. Any number of unique
user scenarios may be run without corrupting the “offi-
cial” model assumptions.
While models may be very interesting in and of themselves
to the modeler, for most end users, models are a means to an
end: gaining insight into a problem. Therefore, effective mod-
els must communicate answers and insights well in order to be
useful. Vanguard System does an excellent job of integrating
powerful reporting and graphical representation into the mod-
eling environment, so that users may easily access, query,
understand and operationalize the decision support for which
models are intended. Reports are automatically updated when-
ever the user modifies an input. Figure 17 is a report from our
and you can roll back to a prior version at any time. From a
Web browser, our model looks very similar to the way it does
in Vanguard Studio, except the user cannot modify structure.
To drill down into the model, simply click on a component and
that component model opens (Figure 15).
By clicking on the Segment component, the assump-
tions page for that component opens. The Web-based
interface is elegant and easy to navigate. By clicking on
the “More...” link, detailed documentation is revealed
Integration with Microsoft Excel
A SIGNIFICANT INFLUENCE on the adoption of even the
most powerful stand-alone decision-support applications is
how well it is able to interface with existing enterprise appli-
cations; and let’s face it, Microsoft Excel is one of the most
ubiquitous software tools for business modeling in use today.
Vanguard allows users to leverage existing Excel models as a
fully integrated component within the Vanguard model. This
feature is extremely valuable to organizations seeking to
increase their quantitative modeling capabilities without
being required to abandon existing, corporately sanctioned
models constructed in Excel.
I HAVE BEEN BUILDING models professionally for more than a
decade. I discovered Vanguard System in 2006 while searching
for a modeling environment that provided:
The user may modify input values and save them as • excellent interactivity with Excel but which overcomes
scenarios. You can save as many scenarios as you wish, the limitations imposed by spreadsheet models;
and they are associated with your specific login. Values • the modeling efficiency afforded by multidimensional
saved from the Web browser do not modify assumptions models;
J une 2007 OR/MS TODAY
V E N D O R C O M M E N T S
• the ability to maintain a historical database of Editor’s note: It is the policy of OR/MS Today to allow developers of reviewed
assumptions and structure as the model evolves to
software an opportunity to clarify and/or comment on the review article.
meet organizational needs; and
• the ability to provide access to a wide user-base via the Following are comments by Rob Suggs, CEO of Vanguard Software.
Web, without sacrificing security and master model
The Vanguard System was released in the fourth
Vanguard System delivers on all of these requirements quarter of 2006. We combined the analytic capabilities of
and much more. The ease with which a model is convert-
ed into a fully functional Web application makes models our DecisionPro and DecisionScript product lines with
instantly deployable to where they are needed most: in the years of additional research into how people work together
hands of decision-makers. Models and output reports are to make business decisions. Our goal was to focus not only
available any time, from any Web browser, with an easy-
to-use and understand interface. The days of having to on the analytic side of how practitioners of O.R. perform
“wait for the modeler to re-run the model with alternative their work, but to also focus on how they communicate
assumptions” may be over.
their results and promote their skills throughout an
Sources inside Vanguard Software say exciting new features
are on the way, including improved graphical capabilities and organization. The result is the first enterprise-scale
multiple-language support. The multiple language support application for collaborative modeling and simulation. It is
functionality sounds particularly interesting. It will allow you
a Web-based system that facilitates open, transparent
to document comments in different languages, and the user
may select which to view via a drop-down box. Any organiza- collaboration between all stake-holders involved in a
tion that works in a global environment will appreciate this business modeling effort.
flexibility. You will even be able to create your own language
categories for special documentation purposes. For example, There are a number of very significant technical hurdles
you may want to place technical notes and end user notes in a to overcome in making this type of a system work.
particular set of nodes. Contributors might be spread around the world; they might
Vanguard System makes even complex models simple to
navigate, understand and use. The team at Healthcare Econo- build models using different time frames, different
metrics has been using Vanguard System for three months currencies and even different modeling platforms (such as
now. We have implemented several complex global market
spreadsheets). The Vanguard System automatically
simulation models. Our clients have embraced the graphical
user interface in the Web-based models and (unlike the handles all complexities associated with making these
response to similar models created in other environments) are parts work together as a single model.
visibly excited about using them.
We have taken the concept of a collaborative modeling
While we have not encountered any show-stoppers, we have
suggested some opportunities for improvement. Some of our environment one step further by allowing users to share
models are larger than one screen. In the Web browser, you are their computing power. Vanguard is the first commercial
not able to scroll to portions of the diagram that are out of
view. Another opportunity would be to provide a comment product to support Grid-based Monte Carlo simulation. The
summary sheet that lists a table of input nodes and associated Vanguard Server can use spare CPU cycles on individuals’
documentation from comments. The development team at
desktop computers to perform large simulations. Runs
Vanguard Software is both accessible and responsive. Sugges-
tions I made in January for “nice to have” features have shown that take 24 hours in a spreadsheet can be performed in
up in the latest release in February. The customer service pro- about two minutes using a workgroup-sized grid (10
vided by the Vanguard Software team is outstanding as well.
computers). This puts supercomputing power in the hands
There are a lot of excellent modeling applications available
today. Vanguard System brought to market a truly remarkable of users without a supercomputing budget.
product, which is arguably best in class. We have recently introduced the Vanguard Academic
Michael Kubica (firstname.lastname@example.org) is senior scientist,
econometric modeling, for Healthcare Econometrics (www.hei-
Partnership program. Over the past few months Vanguard
us.com), a division of Applied Quantitative Sciences, Inc. has donated about $1 million worth of software and
Healthcare Econometrics provides decision support and risk
analysis applications for some of the largest medical device, services to universities worldwide. Please contact us if you
pharmaceutical and biotechnology companies in the world. would like to learn more about this program.
OR/MS TODAY J une 2007
Address: 1100 Crescent Green, Cary NC 27518 • Phone: 919-859-4101 • Fax: 919-851-9457
E-mail: email@example.com • URL: www.vanguardsw.com