This example illustrates the problem of assessing the value of information in a decision-making environment with uncertainty.
The value of a project depends on the as-yet realized market state, which can be either LOW, MEDIUM or HIGH. There is an initial assessment of the likelihood of these market states. It is possible to undertake a market survey to gain more information. The market survey test result will indicate a particular market state. However, the test result outcome is not completely reliable - it could, for example, indicate a HIGH market state when, in fact, the true market state is LOW. Based on historical data, an assessment of the survey's reliability is known. The decision-maker must first decide whether to undertake the test, and if so, whether to undertake the project given a test result outcome.
The data associated with the possible market states are:
State | Value | Probability |
LOW | -80.0 | 0.30 |
MEDIUM | 25.0 | 0.50 |
HIGH | 30.0 | 0.20 |
In Hava, tokens can be used to define the three market states.
token LOW, MEDIUM, HIGH;
States = (LOW, MEDIUM, HIGH);
The values and probabilities associated with each state can be represented as functions of the state, as follows:
v(state) = (-80.0, 25.0, 30.0)[state:States];
p(state) = (0.3, 0.5, 0.2)[state:States];
The probabilities of a test result indicating a market state conditioned on the true
market state are:
State | ||||
LOW | MEDIUM | HIGH | ||
LOW | 0.60 | 0.25 | 0.10 | |
Test result | MEDIUM | 0.30 | 0.50 | 0.30 |
HIGH | 0.10 | 0.25 | 0.60 |
In Hava, these conditional probabilities can be represented as a function of the observed test result and state:
pObsGivenState(obs, state) = (
(0.60, 0.25, 0.10), // obs = LOW, state = LOW to HIGH
(0.30, 0.50, 0.30), // obs = MEDIUM, state = LOW to HIGH
(0.10, 0.25, 0.60) // obs = HIGH, state = LOW to HIGH
) [obs:States, state:States];
For this example, we shall use expected value as the economic criterion. Three economic quantities are required:
expValueNoTest = max(expValueFullCommit, 0);
expValueFullCommit = sum(state in States) {p(state)*v(state)};
expValuePerfectInfo = sum(state in States) {p(state)*max(v(state), 0)};
pStateGivenObs(state, obs) =
pObsGivenState(obs, state)*p(state)/pObs(obs);
pObs(obs) = sum(state in States)
{pObsGivenState(obs, state)*p(state)};
expValueWithTest =
sum(obs in States){pObs(obs)*max(expValueGivenObs(obs),0)};
expValueGivenObs(obs) =
sum(state in States){v(state)*pStateGivenObs(state, obs)};
With these economic quantities, it is straightforward to answer important decision-making questions, such as:
Click here to view the complete solution.