Guest Post: Connecting Decisions to Data: A Case Study, Part 2: CDD basics

In the last post, I introduced a case study for a product manager. Here, I’ll show you the basics for how to build the corresponding decision model and introduce the Causal Decision Diagram (CDD) for this decision.
To review, you are a product manager responsible for the first production run of a new product. Specifically, you are faced with three decisions:
- How much should I charge for each unit of the product?
- How many units should I order for my first run?
- How big an investment should I make in marketing the product?
To model your decisions, we’ll start with the outcome you are seeking in your product launch scenario: Profit. For our purposes, Profit is the difference between revenue and total cost, so we show it as dependent on these two items, like this:

Revenue and cost themselves are each dependent on other factors, and these factors depend on still other factors, and so on, until the chain of dependencies ultimately works its way back to the actions we can take (listed above as decisions 1–3), or other factors that we have no control over (e.g. the size of the overall market). Once this network of dependencies is complete, we have a model of how the decision maker’s chosen actions affect the outcomes.
The decision model for our product launch manufacturing and pricing decision, based on what we know so far, is shown at the top of this post.
A typical decision model is made up of several different types of elements. We can use icons to distinguish them as shown below.
Element type | Icon | Description |
Lever | ![]() | A lever captures a set of choices that the decision maker can control. A “Decision” in this context is a set of choices (values) assigned to the model’s levers. |
Outcome | ![]() | An element by which the success of the decision is measured. |
Intermediate | ![]() | An element that is a link in the dependency chain between Levers and Outcomes but is neither a Lever nor Outcome itself. |
External | ![]() | An element that influences outcome(s) (possibly via Intermediates) but which does not depend on any other model elements, and over which the decision maker has no control. Examples include weather and the macro economy. Externals define the “Environment” or “Context” within which a decision is being made. |
Dependency | ![]() | A dependency between two elements. The element at the arrow head is dependent on the element at the base. |
Dependencies, as above, in my diagram include an icon to indicate how that dependency is defined. Some possible dependencies are shown below.
Dependency Definition | Icon | Description |
Function | ![]() | The dependency between a model element and the other elements on which it is dependent is expressed as a function. |
Table | ![]() | The dependency between a decision model element and the other elements on which it is dependent is expressed as a table of interpolation control points. |
Sketchgraph | ![]() | The dependency between a model element and the other elements on which it depends is expressed approximately as a “sketch graph”, created by a person or team to show a relationship between an input and an output. This can be very useful when no hard data is available, but your subject-matter experts know its basic shape. |
Model | ![]() | The dependency between a model element and the other elements on which it is dependent is expressed by calling a model. Models may be defined in many ways, including may be modeled through a piece of code, math, logical inference, a machine learning model, a Randomized Control Trial (RCT), the Analytic Hierarchy Process, or many other methods for building models. |
Finally, we might choose to use a circled question mark to indicate that a model element is missing one of the pieces of information needed to define it, either directly or because of an upstream dependency.
Unknown | ![]() | A model element about which required information is missing. Model elements that cannot be evaluated because of missing upstream dependencies list the missing dependent model elements with this symbol. |
Please take a look at the diagram at the top of this post to see how all of these elements come together for our use case. I think you’ll agree this is complex,and is quite different than the kind of graphs and charts we are often given to help make a decision.
In future posts, we’ll talk through this model, and you can see how it goes beyond traditional dashboards to give us extra value. In the next post, we’ll look at unknowns and uncertainty in more detail.