babylon.formulas.vitality

Vitality formulas for demographic mortality calculations.

The Grinding Attrition formula models how inequality exposes marginal workers to mortality even when average wealth is sufficient.

See also

/reference/vitality for theoretical background. VitalitySystem for system integration.

Functions

calculate_mortality_rate(wealth_per_capita, ...)

Calculate mortality rate using coverage_ratio threshold.

babylon.formulas.vitality.calculate_mortality_rate(wealth_per_capita, subsistence_needs, inequality, attrition_base_factor=_DEFINES.vitality.attrition_base_factor)[source]

Calculate mortality rate using coverage_ratio threshold.

The formula ensures that with high inequality (e.g., 0.8), you need almost 2x subsistence (1.8 coverage) to prevent deaths.

Parameters:
  • wealth_per_capita (float) – Total wealth / population.

  • subsistence_needs (float) – Per-capita subsistence requirement (s_bio + s_class).

  • inequality (float) – Gini coefficient [0, 1].

  • attrition_base_factor (float)

Return type:

float

Returns:

Attrition rate [0, 1] representing fraction of population that dies.