Skip to content

voiage.methods.basic.evpi

evpi([positional or keyword] nb_array: np.ndarray | ValueArray = None, [positional or keyword] population: float | None = None, [positional or keyword] time_horizon: float | None = None, [positional or keyword] discount_rate: float | None = None) -> float

Calculate expected value of perfect information.

nb_array : numpy.ndarray or ValueArray Net-benefit samples with shape (n_samples, n_strategies). population : float, optional Population size for population-scaled EVPI. time_horizon : float, optional Time horizon in years for population scaling. discount_rate : float, optional Annual discount rate used for population scaling.

float EVPI on a per-decision basis unless population scaling is requested.

EVPI is the gap between the expected value of the strategy that would be chosen with perfect information and the value of the strategy chosen under current information:

.. math::

\mathrm{EVPI} = E\left[\max_i NB_i(\theta)\right] - \max_i E[NB_i(\theta)].

Briggs, A. H., Claxton, K., & Sculpher, M. J. (2006). Decision Modelling for Health Economic Evaluation. Oxford University Press. Claxton, K. (1999). The irrelevance of inference: A decision-making approach to the stochastic evaluation of health care technologies.

>>> import numpy as np >>> from voiage.methods.basic import evpi >>> nb = np.array([[10.0, 12.0], [11.0, 9.0], [13.0, 14.0]]) >>> round(evpi(nb), 6) 0.666667

Parameters:

  • nb_array np.ndarray | ValueArray
  • population float | None (default: None)
  • time_horizon float | None (default: None)
  • discount_rate float | None (default: None)

Returns: float