An Example (cont'd): Building a Model Using World Modeler
This page continues the discussion of a simple pricing model and
shows how World Modeler 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, World Modeler
fills this need. We demonstrate this approach as follows:
- We illustrate a World Modeler 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 World Modeler can be used to find the price that yields the highest total contribution margin.
- We discuss how a user can easily manipulate a World Modeler model to explore different parameter values or model structure.
- We describe additional elements of World Modeler 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 World Modeler
A World Modeler model for the pricing problem described on the previous page is shown below. (Note that the screen shots here show an older version of World Modeler, before we introduced 3D and multitouch to the user interface. The core principles behind visual decision design are the same, though as you can see on other pages on this web site, our user interface has evolved to a new level.)
As can be seen here, World Modeler'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 World Modeler Model
The two panels to the left of the above figure above show the tools used to
construct this model.
The
middle 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
,
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, World Modeler 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 World Modeler 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 World Modeler Model
Returning to the
middle 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 World Modeler 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 again that although the look and feel shown here has changed, the visual decision design principles in newer versions of World Modeler remain as discussed below.)
Note that, as shown here, column names in the data grid correspond
to attribute names in the model definition diagram (World Modeler 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 World Modeler 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, World Modeler 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
World Modeler 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:
- World Modeler can generate a
chart
like that shown near the bottom of the diagram above, relating one input variable to a single output.
- World Modeler 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 World Modeler 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.
World Modeler 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 World Modeler 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
World Modeler'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, World Modeler 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. World Modeler
supports decision making in the face of imperfect data in a number of ways:
- Because building a model with World Modeler 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 World Modeler 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 World Modeler 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: World Modeler 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 World Modeler. 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 World Modeler feature. |
| Changing the model |
Can require updates to
hundreds of cells |
Often requires changing
only one component |
|
|