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