QuantelliaBanner
Home About Us Papers Latest News

An Example (cont'd): Building a Model Using WorldModeler

This page continues the discussion of a simple pricing model and shows how WorldModeler can be used, in this case as an optimization tool. Our scenario is based on a common business problem: how to price a product so that income is maximized in a marketplace where different groups (or segments) have different purchasing behavior. Specifically, we are trying to maximize the the total contribution margin from the product.

On the previous page, we demonstrated that spreadsheets have a number of serious shortcomings when applied to this kind of problem (as they commonly are). Despite great flexilibity and low software cost, using spreadsheets is time-consuming and cumbersome, and the result is very difficult to check for errors. Perhaps the biggest drawback faced by modelers who use spreadsheets is the enormous effort required to make any changes to the model. In many cases, it is actually easier to implement a change by starting from scratch with a blank spreadsheet and building the entire new model, rather than try to change an existing spreadsheet.

While powerful, sophisticated tools that can manage complex models do exist, they lack two of the greatest virtues of spreadsheets: flexibility and low cost of software. Furthermore, these tools require expert users and are not accessible to the vast majority of decision makers. What is needed is a tool that combines the accessibility of a spreadsheet with the power of a quantitative modeling engine. We refer to this category of software as a visual desktop modeling tool. Such a tool is valuable to both experienced quantitative modelers as well as typical decision makers who need to combine their experience with data about a problem.

We show how Quantellia's visual desktop modeling tool, WorldModeler fills this need. We demonstrate this approach as follows:

  • We illustrate a WorldModeler model for the pricing problem.
  • We how show data is entered into the model, and how it leads to a calculation of the total contribution margin for a particular price and market situation.
  • We show how WorldModeler can be used to find the price that yields the highest total contribution margin.
  • We discuss how a user can easily manipulate a WorldModeler model to explore different parameter values or model structure.
  • We describe additional elements of WorldModeler that are designed to address common modeling requirements, such as optimum finding functionality, sensitivity analysis, and how it helps users handle decision making in the face of missing data.
  • We conclude by summarizing the key differences between a visual desktop model and a spreadsheet.

The Pricing Model in WorldModeler

A WorldModeler model for the pricing problem described on the previous page is shown below:

As can be seen here, WorldModeler's organizing principal is around the structure of the model, showing how data is combined in several steps to reach the final result. (This can be contrasted to a spreadsheet, where the primary organizing element is a grid containing data).

Starting in the panel labeled "New Model Definition Diagram" to the right, we see that Price and Variable Cost (shown in blue and green boxes, respectively) are combined to determine the Contribution Margin using the formula explained earlier. Price is color-coded in blue to indicate that it can be changed by the user (a "Variable Assumption" as shown in the key). Variable Cost, on the other hand, cannot be changed in this model - it is a "Fixed Input".

Note that, for convenience, Contribution Margin is defined to allow an abbreviation, CM, as a synonym. This may be used anywhere in the model to refer to the contribution margin.

Turning our attention to the blue box labeled Market Segment, we can see that each segment is represented as an object in its own right identified by its Name, Size, Cutoff Price, and Percentage Penetration. Recall that a market segment is a group of people who may or may not purchase the product, depending on its price. Note also that the box symbols to the left of Cutoff Price and Penetration Percentage are colored blue to represent that they may be changed.

In addition, associated with each segment is a method (indicated by an m and called SalesVolume) for calculating the sales volume - or number of purchasers - a segment will contain at a given price. This allows the modeler to easily associate (and, more importantly, easily change) the way that price is used to determine the sales volume generated by a given segment. Unlike a spreadsheet where such a change must be applied in every cell where sales volume is calculated, the SalesVolume method can be changed in one place only with no other modifications being requried anywhere else in the model.

Completing our walkthrough of this model, we see the function for calculating the contribution margin in each segment, resulting in the Segment Contribution Margin, using the formulas explained earlier. Segment contribution margins are then summed to obtain the final model output, the Total Contribution Margin, shown on the lower right of the panel in a red box (whose color indicates that it contains the final result of the model)

Note that the model as displayed here is distinct from the data that flows through it, which has not yet been shown. This separation is a key organizing principal of a visual desktop modeling system, and an enormously powerful feature. It allows the user to very easily change the structure of the model without impacting its integrity. This, in turn, leads to a much faster turn-around time from model inception to the finished product, and is significantly less error-prone. Furthermore, the visual nature of the model structure is more closely aligned to our intuitive understanding than a spreadsheet and makes the "logic" or "semantics" of the model much easier to understand and maniuplate.

Building the WorldModeler Model

The two panels to the left of the above figure above show the tools used to construct this model.

The middle panel Add Element Panel , labeled Add Element, contains tools that, when dragged into the model diagram area, create the elements seen there. These tools include the diagram itself; entities (the colored rectangles); properties (names within the rectangles); and formulas. After being dragged into the model definition area, dialog boxes and other tools allow aspects of each one to be edited.

The leftmost panel, called the Project Browser Project Browser Panel , shows a hierarchical tree view of all model elements, allowing direct manipulation of each one.

As refleced in this tree view, a model is displayed on a panel called a Model Definition Diagram, one or more of which are contained in a World. As illustrated in the tree, each Project contains a Project Diagram displaying one or more Worlds, each of which contains an alternative model structure for the same problem, as is described in more detail below. By allowing sharing of data and model elements between worlds, WorldModeler creates a rich environment for manipulating multiple model structures as the decision maker builds, experiments with, and evolves a family of models representing a problem to be solved.

An important aspect of the WorldModeler methodology is that models are not always built from scratch, piece by piece, as shown here. Instead, model pieces may be stored and reused. This reuse may be by an individual, organization, or as part of a model element building and sharing community. Much as Service Oriented Architectures (SOAs) allow the combination of software services from many different sources, agile model collaboration promises to reduce model building time in many situations, so that decision makers don't always have to begin from an empty model, but can leverage industry best practises encoded in the model components the incorporate. Template libraries and rapid initial model building wizards further enhance the user's ability to quickly build sophisticated, high-quality models that help to solve problems in multiple industries.

Entering Data and Running a WorldModeler Model

Returning to the middle panel Add Element Panel , note the Data tool shown at the bottom of the tool box. Data is entered into a model in a number of ways:

  • Manual entry, as with a spreadsheet
  • By dragging icons representing internal data sources into a data panel (for example, by running SQL queries against a relational database - not shown)
  • By dragging in icons representing external data sources. Here, Information as a Service (IAAS) technology allows data to be shared in a community across the internet, and used in multiple models (also not illustrated here).

Beginning with the simplest of these approaches - simple manual data entry - the following image shows a WorldModeler model with a new component - called a Data Definition Diagram, below it. This diagram shows how data elements are connected to model components, and may also display some aspects of the data itself, as illustrated here. In this example, we have chosen to use a simple grid to enter values for the segment parameters, variable cost, and price. Whether data is represented as a grid - as shown here - or in another formalism, the Data Definition Diagram shows how data is bound (represented by the blue connectors) to components of the model itself.

Note that, as shown here, column names in the data grid correspond to attribute names in the model definition diagram (WorldModeler manages this automatically when data sources are bound to model elements). Note, for instance, "Name" as the first column in the grid and the first attribute in the Market Segment box. This illustrates an important advantage of a WorldModeler model over a simple spreadsheet: the model is able to iterate over a group of data values when a single attribute name is bound to not just one value, but an entire column of data values. Data binding semantics specify that a formula need only be entered once, not once per possible input value as shown in the spreadsheet example on the previous page. Importantly, this feature means that the model can be specified in a much more compact and therefore usable format than the hundreds of formulas showed on the previous page. We call this an intensional representation, compared to the extensional one in a spreadsheet, where many formulas, each varying by just the row number, must be entered into the spreadsheet and then maintained and updated as the model evolves.

When all data values have been entered, WorldModeler automatically runs the model, displaying the value designated as the Final Result (not shown). This process includes the iteration process described above, where corresponding values from each row of the data table are used to calculate the final result.

Locating the Optimum Parameters

WorldModeler provides a number of mechanisms for a user to find an optimum value (in this case the price that produces the maximum Total Contribution Margin), as follows:

  • WorldModeler can generate a chart Price Analysis Chart   like that shown near the bottom of the diagram above, relating one input variable to a single output.
  • WorldModeler can display a multidimensional chart (not illustrated here) showing how the final result responds to different input values.
  • The user can run an optimization tool that tells WorldModeler to seek the best final result by searching among a large number of combinations of possible inputs (see below). This tool can be configured to seek a minimum, maximum, or stable point in an objective function relative to one or more inputs, which are specified by the user. In our example, we vary the price, and seek a global maximum in total contribution margin.

This kind of interactive display allows the user to interact with the data. This interaction is a powerful point of contact between the user's experience, the data, and the model structure. It is here that, through experimentation, users can bring their experience to bear as they experiment with possible values of missing data elements.

WorldModeler allows more than just a single input variable to be modified. In our example, the user might wish to study how the final result of Total Contribution Margin varies as the Cutoff Price or Percentage Penetration are varied as well (recall their blue color indicates that they can be changed). Several of the above techniques are able to show how a final result varies based on changes to multiple input values.

Data Harvesting: Sensitivity Analysis Focuses on Only Critical Data Requirements

Obtaining data is expensive, so a key WorldModeler feature is its ability to identify which input variables have a large impact on the output, and which do not. If, as is often the case, there is uncertainty, missing data, or the ability to change one of the input values (such as, for instance, building a marketing campaign to increase penetration), then WorldModeler's Data Harvesting functionality, including model sensitivity analysis, can identify where limited resources should best be spent to obtain additional data.

During sensitivity analysis, the user specifies one input variable to be tested and another set of input variables upon which its sensitivity depends. After running sensitivity analysis, WorldModeler is able to output guidance that indicates, for example, that "the Final Result is sensitive to Z near Z=10 when X = 4 and Y = 6". In other words, Z is an important variable whose value has a big impact on the Final Value, in the vicinity of X being 4 and Y being 6.

Handling Imperfect Data

Data used in decision making can be incorrect, missing, or expensive to obtain. WorldModeler supports decision making in the face of imperfect data in a number of ways:

  • Because building a model with WorldModeler is an interactive, design-based task, the user's experience with the problem can be brought to bear, as a substitute for missing data. A user may know, for instance, that
    • As a substitute for missing data, a user can specify a formula (or even sketch the shape of a relationship by hand) that specifies its characteristics (e.g., if no data is available about a particular model element, a skilled analyst may be able to draw on their experience and know it is most likely to be normally distributed).
    • Sensitivity analysis, as described above, focuses users on filling in missing data only in the regions where it will have the biggest impact on the model.
    • Quantellia Consulting Services also supports organizations as they prepare data for use in modeling.

Changing a WorldModeler Model

Some of the greatest power of the visual desktop modeling paradigm comes into play when users need to change a model. In our research we have learned that users prefer to work iteratively, building a small model and then adding to it over time. This approach is virtually impossible with a spreadsheet, where even a small change typically requires updates to hundreds of formulas. This is time consuming and error prone.

Specific model changes might include

  • Changing model data values (e.g. experimenting with different segment cutoff values and penetrations in our illustration).
  • Changing model structure (e.g. changing the pricing model to incorporate the effects of segment-specific discounting, and of competition).
  • Changing methods within entities (e.g. changing the function that calculates segment volume).

Importantly, each of these modifications involves changing only one component in a WorldModeler model, in constrast to dozens or hundreds of spreadsheet cells.

The ability to easily change model parameters has ongoing benefits as well, including allowing the decision maker to present the impacts of multiple alternatives to stakeholders in a visual presentation format . Furthermore, agile model modification facilitates collaboration over models by a model building community, whether web-based or in person. The idea of a team working jointly on a spreadsheet displayed on a whiteboard is much less tenable than a collaborative exercise around a richly visual representation of an important decision.

Side-by-Side Feature Comparison: WorldModeler to a Spreadsheet

In this and the preceding two pages, we have shown how a simple modeling problem is solved in both a spreadsheet and in WorldModeler. While the simple situation we chose to illustrate focuses on seeking an optimal price for a product, the same approach is equally applicable to countless problems in many domains. The same modeling approach could be used, for example, to choose a location for a new office, select a distribution strategy for a new medicine, choose a routing scheme for customer service calls, select an investment amount for a new health initiative, as well as many other problems. Common to all is the fact that the analyst must determine the consequences of any given decision by representing the scenario as an abstract model. The structure of this model relies on their professional skill, and the skills of those who supplied model components. When data is bound to this structure (or assumptions based on the analyst's experience if data is lacking), the visual desktop modeler has at their fingertips one or more "Worlds". Modeled worlds have the potential to yield important insights in a way that is visually compelling and easily accessible even to those who do not have a strong quantitative background.

As we have seen, moving from a spreadhsheet-based system for modeling to a visual metaphor based on the structure of the data both solves existing issues with spreadsheets, as well as creating new opportunities. The benefits we have covered in this example are summarized in the table below.

Aspect Spreadsheet Visual Desktop Model
Visual Metaphor A grid containing data and formulas Graphical elements show how data flows through the structure of the model
How Related Formulas Are Represented All formulas must be typed in explicitly: an Extensional representation of the model One formula suffices to represent a systematic relationship between a range of values, an Intentional (and much less cumbersome) representation
Reuse Limited reuse, most spreadsheets are built from scratch An internet-wide model and data sharing community, combined with templates and pre-built models, significantly accelerates model building, allowing more complex models to be constructed, more quickly.
Data/Model separation Data and model information are combined in a single view Data and model are separated, leading to easy experimentation with new data or new model structure.
Sensitivity Analysis Without clear guidance as to which data is the most important, most modelers tend to include all data that is available, expending unnecessary time and effort, and perhaps also missing data that would strongly impact the Final Value Automatic data harvesting/sensitivity analysis is a core WorldModeler feature.
Changing the model Can require updates to hundreds of cells Often requires changing only one component

 

« Previous: Building the model in spreadsheets
Copyright © 2008 Quantellia
Contact | Privacy Policy | Last Updated December 1, 2008