zepid.calc.utils.screening_cost_analyzer(cost_miss_case, cost_false_pos, prevalence, sensitivity, specificity, population=10000, decimal=3)

Compares the cost of sensivitiy/specificity of screening criteria to treating the entire population as test-negative and test-positive. The lowest per capita cost is considered the ideal choice. Note that this function only provides relative costs

  • cost_miss_case (float) – The relative cost of missing a case, compared to false positives. In general, set this to 1 then change the value under ‘cost_false_pos’ to reflect the relative cost
  • cost_false_pos (float) – The relative cost of a false positive case, compared to a missed case
  • prevalence (float) – The prevalence of the disease in the population. Must be a float
  • sensitivity (float) – The sensitivity level of the screening test. Must be a float
  • specificity (float) – The specificity level of the screening test. Must be a float
  • population (float) – The population size to set. Choose a larger value since this is only necessary for total calculations. Default is 10,000
  • decimal (integer) – Amount of decimal points to display. Default value is 3

Prints results to console

Return type:



When calculating costs, be sure to consult experts in health policy or related fields. Costs should encompass more than just monetary costs, like relative costs (regret, disappointment, stigma, disutility, etc.). Careful consideration of relative costs between false positive and false negatives needs to be considered.


Calculate the (relative) cost for the proposed screening strategy

>>> from zepid.calc import screening_cost_analyzer
>>> screening_cost_analyzer(cost_miss_case=1, cost_false_pos=3, prevalence=0.15, sensitivity=0.9, specificity=0.88)