Skip to content

Heterogeneity

Value of Heterogeneity quantifies how much decision value is gained by recognising and using subgroup differences. Rather than assuming a single optimal strategy for the full population, this method evaluates whether tailoring decisions to patient subgroups yields meaningful improvements in expected net benefit.

heterogeneity_value_decomposition(specification) evaluates a declared finite joint state model and returns four policy values. C0 and Cf compare a population-common policy with subgroup policies under current information; P0 and Pf make the same comparison after perfect effect-state information. Static and dynamic value are therefore separate quantities, with the checked identity dynamic - static = EVPIf - EVPI0.

An optional signal likelihood adds S0, Sf, population-common EVSI and subgroup-policy EVSI. Study cost appears only in the two net-EVSI diagnostics. The experimental contract requires subgroup weights, eligibility, common units, selection/multiplicity policies, fairness/privacy constraints and exact enumeration assurance. It does not discover subgroups, estimate treatment effects, correct selection bias, validate sparse groups or replace the stable descriptive value_of_heterogeneity helper.

import json
from pathlib import Path
from voiage import heterogeneity_value_decomposition
specification = json.loads(Path("heterogeneity-input.json").read_text())
result = heterogeneity_value_decomposition(specification).to_contract_dict()
print(result["four_value_decomposition"])

See also: