{
  "modelVersion": "1.1.0",
  "illustrative": true,
  "actions": [
    {
      "name": "Stage",
      "success": 30,
      "failure": -15,
      "expectedValue": 3
    },
    {
      "name": "Hold",
      "success": 0,
      "failure": 0,
      "expectedValue": 0
    },
    {
      "name": "Commit",
      "success": 100,
      "failure": -100,
      "expectedValue": -20
    }
  ],
  "evWithout": 3,
  "evWithInformation": 25,
  "evPerfect": 40,
  "evpi": 37,
  "evsi": 22,
  "netInformationValue": 17,
  "branches": [
    {
      "signal": "Positive test",
      "probability": 0.43,
      "posterior": 0.7906976744186046,
      "action": "Commit",
      "expectedValue": 58.13953488372093,
      "weightedValue": 25
    },
    {
      "signal": "Negative test",
      "probability": 0.57,
      "posterior": 0.10526315789473684,
      "action": "Hold",
      "expectedValue": 0,
      "weightedValue": 0
    }
  ],
  "regret": [
    {
      "name": "Commit",
      "success": 100,
      "failure": -100,
      "expectedValue": -20,
      "successRegret": 0,
      "failureRegret": 100,
      "expectedRegret": 60
    },
    {
      "name": "Stage",
      "success": 30,
      "failure": -15,
      "expectedValue": 3,
      "successRegret": 70,
      "failureRegret": 15,
      "expectedRegret": 37
    },
    {
      "name": "Hold",
      "success": 0,
      "failure": 0,
      "expectedValue": 0,
      "successRegret": 100,
      "failureRegret": 0,
      "expectedRegret": 40
    }
  ],
  "priorSweep": [
    {
      "prior": 0,
      "bestAction": "Hold",
      "expectedValue": 0
    },
    {
      "prior": 5,
      "bestAction": "Hold",
      "expectedValue": 0
    },
    {
      "prior": 10,
      "bestAction": "Hold",
      "expectedValue": 0
    },
    {
      "prior": 15,
      "bestAction": "Hold",
      "expectedValue": 0
    },
    {
      "prior": 20,
      "bestAction": "Hold",
      "expectedValue": 0
    },
    {
      "prior": 25,
      "bestAction": "Hold",
      "expectedValue": 0
    },
    {
      "prior": 30,
      "bestAction": "Hold",
      "expectedValue": 0
    },
    {
      "prior": 35,
      "bestAction": "Stage",
      "expectedValue": 0.75
    },
    {
      "prior": 40,
      "bestAction": "Stage",
      "expectedValue": 3
    },
    {
      "prior": 45,
      "bestAction": "Stage",
      "expectedValue": 5.25
    },
    {
      "prior": 50,
      "bestAction": "Stage",
      "expectedValue": 7.5
    },
    {
      "prior": 55,
      "bestAction": "Commit",
      "expectedValue": 10
    },
    {
      "prior": 60,
      "bestAction": "Commit",
      "expectedValue": 20
    },
    {
      "prior": 65,
      "bestAction": "Commit",
      "expectedValue": 30
    },
    {
      "prior": 70,
      "bestAction": "Commit",
      "expectedValue": 40
    },
    {
      "prior": 75,
      "bestAction": "Commit",
      "expectedValue": 50
    },
    {
      "prior": 80,
      "bestAction": "Commit",
      "expectedValue": 60
    },
    {
      "prior": 85,
      "bestAction": "Commit",
      "expectedValue": 70
    },
    {
      "prior": 90,
      "bestAction": "Commit",
      "expectedValue": 80
    },
    {
      "prior": 95,
      "bestAction": "Commit",
      "expectedValue": 90
    },
    {
      "prior": 100,
      "bestAction": "Commit",
      "expectedValue": 100
    }
  ],
  "thresholds": [
    {
      "actionA": "Commit",
      "actionB": "Stage",
      "prior": 54.83870967741935,
      "bestAction": "Commit"
    },
    {
      "actionA": "Commit",
      "actionB": "Hold",
      "prior": 50,
      "bestAction": "Stage"
    },
    {
      "actionA": "Stage",
      "actionB": "Hold",
      "prior": 33.333333333333336,
      "bestAction": "Hold"
    }
  ],
  "informationEvaluation": {
    "policy": "Exact rational action rankings, signal masses, information values and net-value sign from canonical JSON-number decimals. Values displayed in charts and metrics are Number approximations. Probability and payoff uncertainty remains outside this arithmetic guarantee.",
    "evWithout": {
      "numerator": "3",
      "denominator": "1",
      "decimal": "3.000000000000000000000000000000000000000e0"
    },
    "evWithInformation": {
      "numerator": "25",
      "denominator": "1",
      "decimal": "2.500000000000000000000000000000000000000e1"
    },
    "evPerfect": {
      "numerator": "40",
      "denominator": "1",
      "decimal": "4.000000000000000000000000000000000000000e1"
    },
    "evsi": {
      "numerator": "22",
      "denominator": "1",
      "decimal": "2.200000000000000000000000000000000000000e1"
    },
    "evpi": {
      "numerator": "37",
      "denominator": "1",
      "decimal": "3.700000000000000000000000000000000000000e1"
    },
    "netInformationValue": {
      "numerator": "17",
      "denominator": "1",
      "decimal": "1.700000000000000000000000000000000000000e1"
    },
    "netSign": 1,
    "branches": [
      {
        "signal": "Positive test",
        "mass": {
          "numerator": "43",
          "denominator": "100",
          "decimal": "4.300000000000000000000000000000000000000e-1"
        },
        "posterior": {
          "numerator": "34",
          "denominator": "43",
          "decimal": "7.906976744186046511627906976744186046512e-1"
        },
        "weightedValue": {
          "numerator": "25",
          "denominator": "1",
          "decimal": "2.500000000000000000000000000000000000000e1"
        },
        "expectedValue": {
          "numerator": "2500",
          "denominator": "43",
          "decimal": "5.813953488372093023255813953488372093023e1"
        }
      },
      {
        "signal": "Negative test",
        "mass": {
          "numerator": "57",
          "denominator": "100",
          "decimal": "5.700000000000000000000000000000000000000e-1"
        },
        "posterior": {
          "numerator": "2",
          "denominator": "19",
          "decimal": "1.052631578947368421052631578947368421053e-1"
        },
        "weightedValue": {
          "numerator": "0",
          "denominator": "1",
          "decimal": "0"
        },
        "expectedValue": {
          "numerator": "0",
          "denominator": "1",
          "decimal": "0"
        }
      }
    ]
  },
  "metrics": [
    {
      "key": "without",
      "label": "Best value before information",
      "value": 3,
      "unit": "USDk",
      "detail": ""
    },
    {
      "key": "evsi",
      "label": "Gross value of this test",
      "value": 22,
      "unit": "USDk",
      "detail": "Maximum justified test price under these payoffs."
    },
    {
      "key": "net",
      "label": "Net information value",
      "value": 17,
      "unit": "USDk",
      "detail": "Gross information value less test cost."
    },
    {
      "key": "evpi",
      "label": "Value of perfect information",
      "value": 37,
      "unit": "USDk",
      "detail": "Upper bound for any information about these two states."
    }
  ],
  "tables": [
    {
      "title": "Action payoffs, value and regret",
      "columns": [
        {
          "key": "name",
          "label": "Action",
          "unit": ""
        },
        {
          "key": "success",
          "label": "Success payoff",
          "unit": "USDk"
        },
        {
          "key": "failure",
          "label": "Failure payoff",
          "unit": "USDk"
        },
        {
          "key": "expectedValue",
          "label": "Expected payoff",
          "unit": "USDk"
        },
        {
          "key": "successRegret",
          "label": "Success regret",
          "unit": "USDk"
        },
        {
          "key": "failureRegret",
          "label": "Failure regret",
          "unit": "USDk"
        },
        {
          "key": "expectedRegret",
          "label": "Expected regret",
          "unit": "USDk"
        }
      ],
      "rows": [
        {
          "name": "Commit",
          "success": 100,
          "failure": -100,
          "expectedValue": -20,
          "successRegret": 0,
          "failureRegret": 100,
          "expectedRegret": 60
        },
        {
          "name": "Stage",
          "success": 30,
          "failure": -15,
          "expectedValue": 3,
          "successRegret": 70,
          "failureRegret": 15,
          "expectedRegret": 37
        },
        {
          "name": "Hold",
          "success": 0,
          "failure": 0,
          "expectedValue": 0,
          "successRegret": 100,
          "failureRegret": 0,
          "expectedRegret": 40
        }
      ]
    },
    {
      "title": "Bayes test branches",
      "columns": [
        {
          "key": "signal",
          "label": "Signal",
          "unit": ""
        },
        {
          "key": "probability",
          "label": "Branch probability",
          "unit": ""
        },
        {
          "key": "posterior",
          "label": "Posterior success probability",
          "unit": ""
        },
        {
          "key": "action",
          "label": "Preferred action",
          "unit": ""
        },
        {
          "key": "expectedValue",
          "label": "Conditional expected payoff",
          "unit": "USDk"
        },
        {
          "key": "weightedValue",
          "label": "Weighted contribution",
          "unit": "USDk"
        }
      ],
      "rows": [
        {
          "signal": "Positive test",
          "probability": 0.43,
          "posterior": 0.7906976744186046,
          "action": "Commit",
          "expectedValue": 58.13953488372093,
          "weightedValue": 25
        },
        {
          "signal": "Negative test",
          "probability": 0.57,
          "posterior": 0.10526315789473684,
          "action": "Hold",
          "expectedValue": 0,
          "weightedValue": 0
        }
      ]
    },
    {
      "title": "Prior probability policy sweep",
      "columns": [
        {
          "key": "prior",
          "label": "Prior success",
          "unit": "%"
        },
        {
          "key": "bestAction",
          "label": "Preferred action",
          "unit": ""
        },
        {
          "key": "expectedValue",
          "label": "Best expected payoff",
          "unit": "USDk"
        }
      ],
      "rows": [
        {
          "prior": 0,
          "bestAction": "Hold",
          "expectedValue": 0
        },
        {
          "prior": 5,
          "bestAction": "Hold",
          "expectedValue": 0
        },
        {
          "prior": 10,
          "bestAction": "Hold",
          "expectedValue": 0
        },
        {
          "prior": 15,
          "bestAction": "Hold",
          "expectedValue": 0
        },
        {
          "prior": 20,
          "bestAction": "Hold",
          "expectedValue": 0
        },
        {
          "prior": 25,
          "bestAction": "Hold",
          "expectedValue": 0
        },
        {
          "prior": 30,
          "bestAction": "Hold",
          "expectedValue": 0
        },
        {
          "prior": 35,
          "bestAction": "Stage",
          "expectedValue": 0.75
        },
        {
          "prior": 40,
          "bestAction": "Stage",
          "expectedValue": 3
        },
        {
          "prior": 45,
          "bestAction": "Stage",
          "expectedValue": 5.25
        },
        {
          "prior": 50,
          "bestAction": "Stage",
          "expectedValue": 7.5
        },
        {
          "prior": 55,
          "bestAction": "Commit",
          "expectedValue": 10
        },
        {
          "prior": 60,
          "bestAction": "Commit",
          "expectedValue": 20
        },
        {
          "prior": 65,
          "bestAction": "Commit",
          "expectedValue": 30
        },
        {
          "prior": 70,
          "bestAction": "Commit",
          "expectedValue": 40
        },
        {
          "prior": 75,
          "bestAction": "Commit",
          "expectedValue": 50
        },
        {
          "prior": 80,
          "bestAction": "Commit",
          "expectedValue": 60
        },
        {
          "prior": 85,
          "bestAction": "Commit",
          "expectedValue": 70
        },
        {
          "prior": 90,
          "bestAction": "Commit",
          "expectedValue": 80
        },
        {
          "prior": 95,
          "bestAction": "Commit",
          "expectedValue": 90
        },
        {
          "prior": 100,
          "bestAction": "Commit",
          "expectedValue": 100
        }
      ]
    },
    {
      "title": "Pairwise policy intersections",
      "columns": [
        {
          "key": "actionA",
          "label": "Action A",
          "unit": ""
        },
        {
          "key": "actionB",
          "label": "Action B",
          "unit": ""
        },
        {
          "key": "prior",
          "label": "Prior at equal value",
          "unit": "%"
        },
        {
          "key": "bestAction",
          "label": "Best of all actions at intersection",
          "unit": ""
        }
      ],
      "rows": [
        {
          "actionA": "Commit",
          "actionB": "Stage",
          "prior": 54.83870967741935,
          "bestAction": "Commit"
        },
        {
          "actionA": "Commit",
          "actionB": "Hold",
          "prior": 50,
          "bestAction": "Stage"
        },
        {
          "actionA": "Stage",
          "actionB": "Hold",
          "prior": 33.333333333333336,
          "bestAction": "Hold"
        }
      ]
    }
  ],
  "warnings": [],
  "summary": "Stage has the highest expected payoff before new evidence. The supplied test adds net expected value after its cost. The information-value ceiling is 37 USDk for perfect state knowledge.",
  "methods": [
    "Expected value = prior × success payoff + (1 − prior) × failure payoff.",
    "Bayes updates the prior separately after a positive and negative test. Branches of probability zero have no posterior.",
    "EVSI = expected best payoff after the imperfect test − best payoff before it. EVPI is the analogous value of perfect state knowledge.",
    "Net information value = EVSI − test cost. Payoffs are assumed to exclude this test cost.",
    "Joint signal-state masses, action rankings, EVSI, EVPI and the net-value sign use exact rational arithmetic for canonical decimal inputs. Only an exact zero is labelled break-even.",
    "Tied action values use literal name order independent of browser language for consistent display; this ordering does not establish a strict payoff advantage."
  ],
  "limitations": [
    "Binary states, a single test, user-calibrated probabilities and risk-neutral expected monetary value.",
    "No repeated sampling, behavioural utility, ambiguity aversion or causal proof.",
    "Charts and headline values are numeric displays of exact rational results. Decimal input values are assumptions; risk-neutral economic comparison does not establish acceptable action or calibrated probability.",
    "Numerical input precision: use zero or absolute values of at least 0.000000001. Smaller nonzero inputs are rejected explicitly."
  ]
}
