OR/MS Today - June 2007



Software Review


Vanguard System

Powerful, flexible, scaleable decision-support platform instantly converts business models into fully functional Web applications for enterprise-level deployment.

by Michael Kubica


During the past 10 years there has been a growing interest in quantitative decision support for business. Commensurate with this interest, there has been a proliferation of business modeling tools, each with unique advantages and disadvantages, depending on the business problem being addressed. At Healthcare Econometrics, a division of Applied Quantitative Sciences, we help our clients make informed decisions under conditions of uncertainty and complexity. The diversity of model requirements within our client 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 adopted) Vanguard System.

Vanguard System provides an extremely powerful, flexible, scaleable and extensible decision-support platform for any project scale or scope. The real value with Vanguard System is realized, however, within the context enterprise-level decision support.

Business modeling occurs in almost every functional area of an organization. Many times, the model from one function provides inputs to one or more other functional models. In this type of environment, it is typical for there to be version discontinuities between functional model updates (at best) and in the worst cases multiple models relying on different sources for (presumably) the same information. Vanguard System transcends these issues by establishing a secure, collaborative, component-modeling environment where all models using inputs from another model are instantaneously updated when the component is updated.

Another significant advantage of Vanguard System is the ability to instantly publish a model as a Web-based application. Vanguard System makes decision-support models widely accessible to the people who need them: decision-makers. They can be made available anytime, from any Web browser, with an easy-to-use and understand interface. The days of having to "wait for the modeler to re-run the model with alternative assumptions" may be over.

Vanguard System is the flagship product of Vanguard Software Corporation (1-919-859-4101, www.vanguardsw.com). This review describes some of the main features, benefits and limitations of the current version of Vanguard System (version 5.0.15).

Vanguard System is comprised of two core components:

  • Vanguard Studio: a graphical modeling environment that may be used to construct quantitative decision-support tools ranging from simple, single-event decisions to enterprise decision-support systems. Single- and multi-user licensing is available.

  • Vanguard Server: Once a model is constructed using Vanguard Studio, it is published to Vanguard Server, which functions as a library server (a secure environment to store and access models), an application server (making all models available as a fully functional Web-based application) and a licensing server (allowing licenses to be shared between multiple users within a networked environment). Vanguard Server has many valuable features, including multi-user support, Secure Socket Layer encryption (SSL), failover and load balancing.
Overview of Vanguard System


Vanguard Studio is a powerful quantitative modeling environment, providing an array of tools for mathematical, statistical and artificial intelligence applications. The capabilities of Vanguard Studio may be optionally extended into multiple specialty domains, via Add-in modules, including:
  • Forecasting: Given an historical data set, this Add-in assists in selecting and implementing the appropriate algorithm from among several options, including moving averages, exponential smoothing, regression and even more advanced methods such as Fourier spectral-analysis. A forecasting wizard is available to simplify the process of importing data and executing the analysis.

  • Decision tree analysis: This Add-in constructs and solves decision trees, and provides outputs such as risk analysis and value of information.

  • Monte Carlo simulation: This Add-in allows you to define inputs as probability distributions and simulate the output based on the uncertainty defined in the inputs. By defining all input uncertainties according to their statistical probabilities, outputs may be analyzed statistically with a more rich understanding of the likelihood of achieving different values of a measure of interest. This Add-in provides sophisticated tools for establishing correlations between variables and performing a variety of sensitivity analyses. Vanguard System offers another Add-in, Grid Computing, to allow you to use multiple processors across any number of networked computers or servers. This places virtual super-computing capabilities behind large complex simulation models.

  • Optimization: The optimization module provides two tools: Solver and Goal Seek. Solver uses traditional linear and integer programming techniques and allows you to state constraints in plain English form (a real benefit when working with complex, multi-constraint problems). Goal Seek uses non-linear unconstrained optimization techniques. The optimization module supports an unlimited number of variables and constraints.

  • Application development: The Web Development Add-in allows you to rapidly create sophisticated Web applications based on your model. You can use Vanguard's Dscript language to read and write data files, or interface directly with other enterprise applications via DDE, OLE, ODBC and Web Services (using the Web Services Add-ins).

At the heart of Vanguard System is DScript, an object-oriented programming language. DScript is an extension of the JavaScript programming language, and follows the same syntax. Using DScript you may program your own Add-ins and functions, and save them as libraries for future use. Leveraging this capability can dramatically increase modeling efficiency, reduce the likelihood of errors and provide consistency of methodology between modelers. If you have prior experience with JavaScript, you will easily begin programming in DScript, since it follows the same syntax. If you are not an experienced JavaScript programmer, the syntax is easily understood if you elect, and Vanguard System tools and menus are more than adequate to meet most user requirements.

Building a Model


In the sections that follow, we will demonstrate the use of Vanguard System with the Monte Carlo Add-in and an Add-in we created using DScript, which facilitates the construction of market simulation models. We will create a simple model forecasting revenue from a fictitious novel medical technology (code named "Project Elephant") to treat a fictitious disease (Lapsus Memori). For this model, we assume one market segment and two products: an implantable microchip that stimulates memory structures in the brain and a surgical kit to facilitate implantation.

Vanguard Studio opens to a blank modeling page, which has a tool bar, document window and status bar. Models are instantiated as documents, consisting of one or more sheets. Sheets are organized as tabs, similar to common spreadsheet applications, and include one or more tree sheets (to display the actual model diagram), text sheets (to provide information about and/or documentation of the model) data table sheets (to store data), graph/table sheets and report sheets (to produce exquisite reports that include text, tables, graphs, etc.). You can open, edit and run multiple model documents within a single instance of Vanguard Studio (Figure 1).

Operations Research Management Science

Figure 1

You begin programming your model by typing in the formula bar. Vanguard Studio automatically begins building a graphical representation of the mathematical model as a hierarchical tree diagram. The tree diagram uses nodes and branches to represent the relationships between variables created 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).

Operations Research Management Science

Figure 2

Like many business problems, this one involves calculating values as a function of time. Because this is a dynamic model, we must establish a time base for the time series being calculated. Vanguard System's treatment of time is one of its most powerful features. First, date values are internally translated in Vanguard System into unique serial numbers. Second, you can have any number of time bases within the same model. For example, one component may have a starting date of July 1, 2000, while another has a starting date of Jan. 1, 1995. Components may also be represented in differing units of time (years, quarters, months, days, etc.), and Vanguard System automatically scales them to be consistent with one another in the parent 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 segment within which Project Elephant will be adopted, and link to that component from the parent model. We begin by opening another model document, and constructing the Segment model by defining the mathematical relationships between variables (Figure 3).

Operations Research Management Science

Figure 3
(click here to view a larger version in a separate window)

Note the arrows indicating links to another page on some nodes. In order to keep the workspace organized and the model structure transparent, Vanguard Studio automatically extends the workspace into additional screens with navigation links when the model becomes too large to view on a 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 multiple crossing lines in the influence diagram without sacrificing transparency.

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 function 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 probability distribution you wish to use.

By convention, I externalize distribution parameters so they may be represented as assumptions and documented. 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 changes to an "arrow" and input data entry fields are placed in the upper left corner of the model. Likewise, by declaring nodes as outputs, output fields are placed in the upper left corner as well (Figure 4).

Operations Research Management Science

Figure 4
(click here to view a larger version in a separate window)

I place a comment over the input nodes, with an instruction as to what information the node should contain. Following the instruction, I insert "##MORE##," which separates the instruction from the documentation. As will be shown later, when the model is accessed via Web browser, the instruction will display next to each input field, with a "More" link, which expands to include assumption documentation. In Vanguard Studio, comments will now be visible when you move your mouse over the input node (Figure 5).

Operations Research Management Science

Figure 5

We will now define a correlation between the initial and terminal prevalence compound annual growth rate (CAGR). Vanguard System makes it a simple task to establish correlations between variables. Simply select the menu item to reveal a dialog box requesting which variables you wish to correlate. Then you can click on the nodes to be included in the correlation matrix, and the dialog box is automatically populated (Figure 6).

Operations Research Management Science

Figure 6

When you click "OK," a correlation sheet is inserted into the model document, and you can define the strength of the relationships in the matrix (Figure 7).

Operations Research Management Science

Figure 7

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 component 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).

Operations Research Management Science

Figure 8

You may modify inputs from the component directly from this screen, without corrupting the default assumption values in the original component model. Herein lies one of the most powerful features of Vanguard System. A component is essentially a replica of the model it represents. By un-checking the "Single Instance" box, we can insert this component multiple times within a single model, each of which can contain unique assumptions. Any time the structure of the original component model is modified, each component replica is likewise modified. This object-oriented architecture provides for extremely efficient modeling and dramatically decreases the likelihood of coding errors. By declaring the component model as a parent class, the inserted component inherits the features and attributes from the original component model and allows infinite flexibility to extend beyond the inherited structure for the component (Figure 9).

Operations Research Management Science

Figure 9

Next, we define the Tech Adoption, Market Share and Price components following the same steps as we did for the segment component. For price, we expand the model to accommodate 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).

Operations Research Management Science

Figure 10
(click here to view a larger version in a separate window)

The model structure for price in this example is identical for both products; there are simply different assumptions. We assume a base price, with CAGR on average sales price (ASP) that lasts for some period 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 transition are all represented as uncertainties with probability distributions. The initial CAGR and terminal CAGR values are correlated (Figure 11).

Operations Research Management Science

Figure 11
(click here to view a larger version in a separate window)

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).

Operations Research Management Science

Figure 12

Next we simply update the values in the pricing components to reflect the assumptions for the current model.

With a few simple clicks of the mouse, we are able to create 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.

Operations Research Management Science

Figure 13

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 knowledge portal (Figure 14).

Operations Research Management Science

Figure 14
(click here to view a larger version in a separate window)

Each time a model is saved (published), a new date/time/user-stamped instance is created in Vanguard Server. This way the history of modifications is always accessible, 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).

Operations Research Management Science

Figure 15
(click here to view a larger version in a separate window)

By clicking on the Segment component, the assumptions 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 (Figure 16).

Operations Research Management Science

Figure 16
(click here to view a larger version in a separate window)

The user may modify input values and save them as scenarios. You can save as many scenarios as you wish, and they are associated with your specific login. Values saved from the Web browser do not modify assumptions in the original model. This is an extremely valuable feature 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 "official" 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 models 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 modeling environment, so that users may easily access, query, understand and operationalize the decision support for which models are intended. Reports are automatically updated whenever the user modifies an input. Figure 17 is a report from our sample model.

Operations Research Management Science

Figure 17
(click here to view a larger version in a separate window)


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 applications; 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.

Summary


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:

  • excellent interactivity with Excel, but which overcomes the limitations imposed by spreadsheet models;

  • the modeling efficiency afforded by multidimensional models;

  • the ability to maintain a historical database of assumptions and structure as the model evolves to meet organizational needs; and

  • the ability to provide access to a wide user-base via the Web, without sacrificing security and master model integrity.

Vanguard System delivers on all of these requirements and much more. The ease with which a model is converted into a fully functional Web application makes models instantly deployable to where they are needed most: in the hands of decision-makers. Models and output reports are available any time, from any Web browser, with an easy-to-use and understand interface. The days of having to "wait for the modeler to re-run the model with alternative assumptions" may be over.

Sources inside Vanguard Software say exciting new features are on the way, including improved graphical capabilities and multiple-language support. The multiple language support functionality sounds particularly interesting. It will allow you to document comments in different languages, and the user may select which to view via a drop-down box. Any organization that works in a global environment will appreciate this flexibility. You will even be able to create your own language categories for special documentation purposes. For example, you may want to place technical notes and end user notes in a particular set of nodes.

Vanguard System makes even complex models simple to navigate, understand and use. The team at Healthcare Econometrics has been using Vanguard System for three months now. We have implemented several complex global market simulation models. Our clients have embraced the graphical user interface in the Web-based models and (unlike the response to similar models created in other environments) are visibly excited about using them.

While we have not encountered any show-stoppers, we have suggested some opportunities for improvement. Some of our models are larger than one screen. In the Web browser, you are not able to scroll to portions of the diagram that are out of view. Another opportunity would be to provide a comment summary sheet that lists a table of input nodes and associated documentation from comments. The development team at Vanguard Software is both accessible and responsive. Suggestions I made in January for "nice to have" features have shown up in the latest release in February. The customer service provided by the Vanguard Software team is outstanding as well.

There are a lot of excellent modeling applications available today. Vanguard System brought to market a truly remarkable product, which is arguably best in class.

Product Information

Vanguard System is available from Vanguard Software
Address: 1100 Crescent Green, Cary NC 27518
Phone: 919-859-4101
Fax: 919-851-9457
E-mail: sales@vanguardsw.com
URL: www.vanguardsw.com

Pricing
Professional version: $895/yr + optional Add-ins (single user); $5,950/yr + Add-ins (10-user pilot system)
Academic version: $447.50 perpetual (single user). Donations are available for multi-user systems.
Student version: $447.50 perpetual.

System requirements
Vanguard Server: Windows 2000 or later (Windows 2003 Server recommended for large user groups)
Vanguard Studio client: Windows 2000, XP or Vista
Web-based users: Any Web browser

Vendor Comments

Editor's note: It is the policy of OR/MS Today to allow developers of reviewed software an opportunity to clarify and/or comment on the review article. Following are comments by Rob Suggs, CEO of Vanguard Software.

The Vanguard System was released in the fourth quarter of 2006. We combined the analytic capabilities of our DecisionPro and DecisionScript product lines with years of additional research into how people work together to make business decisions. Our goal was to focus not only on the analytic side of how practitioners of O.R. perform their work, but to also focus on how they communicate their results and promote their skills throughout an organization. The result is the first enterprise-scale application for collaborative modeling and simulation. It is a Web-based system that facilitates open, transparent collaboration between all stake-holders involved in a business modeling effort.

There are a number of very significant technical hurdles to overcome in making this type of a system work. Contributors might be spread around the world; they might build models using different time frames, different currencies and even different modeling platforms (such as spreadsheets). The Vanguard System automatically handles all complexities associated with making these parts work together as a single model.

We have taken the concept of a collaborative modeling environment one step further by allowing users to share their computing power. Vanguard is the first commercial product to support Grid-based Monte Carlo simulation. The Vanguard Server can use spare CPU cycles on individuals' desktop computers to perform large simulations. Runs that take 24 hours in a spreadsheet can be performed in about two minutes using a workgroup-sized grid (10 computers). This puts supercomputing power in the hands of users without a supercomputing budget.

We have recently introduced the Vanguard Academic Partnership program. Over the past few months Vanguard has donated about $1 million worth of software and services to universities worldwide. Please contact us if you would like to learn more about this program.





Michael Kubica (mkubica@hei-us.com) is senior scientist, econometric modeling, for Healthcare Econometrics (www.hei-us.com), a division of Applied Quantitative Sciences, Inc. Healthcare Econometrics provides decision support and risk analysis applications for some of the largest medical device, pharmaceutical and biotechnology companies in the world.





  • Table of Contents
  • OR/MS Today Home Page


    OR/MS Today copyright 2007 by the Institute for Operations Research and the Management Sciences. All rights reserved.


    Lionheart Publishing, Inc.
    506 Roswell Rd., Suite 220, Marietta, GA 30060 USA
    Phone: 770-431-0867 | Fax: 770-432-6969
    E-mail: lpi@lionhrtpub.com
    URL: http://www.lionhrtpub.com


    Web Site Copyright 2007 by Lionheart Publishing, Inc. All rights reserved.