Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument / verified-clean

Life Table / Survival Probability Calculator

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Status: VERIFIED_CLEANLifecycle: verified-clean

Inspectable records

Ledger state

The current ledger marks this instrument verified clean within the source-bound verification corpus.

Area
Biology, Medicine & Pharmacology (educational estimates only — every panel labeled not-medical-advice)
Tranche
tranche-7
Evidence ID
t7-109
Ledger rows
1

No ledger note is attached.

Review findings

The survivorship recurrence is standard under the explicit qx interpretation. The specification needs review because it calls the inputs 'mortality rates' while the formula requires interval death probabilities, and it does not define the person-year or terminal-interval method for ex. The vectors use a radix of 100000, the standard actuarial life-table convention, and explicitly identify illustrative table fragments rather than claiming that the selected qx rows are a particular country's official estimates.

Formula and scope findings

  • lx+1=lx×(1−qx) is correct only when qx is the conditional probability of dying during the age interval, not when qx is a mortality rate or hazard m(x). If the input is a central mortality rate, a conversion such as qx=n×mx/(1+(n−ax)×mx) is required, with an explicit ax assumption.
  • ex is underspecified. Computing life expectancy from cumulative person-years requires a definition of Lx, an assumption about the timing of deaths within each interval, interval widths, and treatment of the final open-ended age interval.
  • The specification does not distinguish period life tables from cohort life tables. A national period qx table produces a period life expectancy, not an individual prognosis or necessarily a cohort lifetime.
  • The specification does not state whether qx values are annual, five-year, or other interval probabilities; interval width is required for valid person-year calculations.
  • A terminal condition is required for finite input tables. The test vectors below use qx=1 only as an explicit artificial horizon-closing row; this must not be silently interpreted as a real population mortality estimate.

Unit assumptions

  • qx is a dimensionless conditional probability in the closed interval [0,1], not a percentage and not a rate per 1,000 unless explicitly converted.
  • lx is a dimensionless survivorship count on a radix of 100000 persons.
  • Each interval width n is in years. Person-years are computed using the uniform-distribution-of-deaths approximation: Lx=n×(lx+lx+n)/2.
  • Life expectancy is computed as ex=Tx/lx, where Tx is the sum of Lx from the selected age through the explicitly closed horizon.
  • For percentage inputs, q=percentage/100; for rates reported per 1000, q=rate/1000 only when the supplied value is explicitly an interval death probability expressed per 1000, not a continuous mortality rate.

Boundary hardening

BREAK_CLAIMED · SELF_FLAGGED

The specification does not define explicit validation for qx outside [0,1], and life expectancy becomes undefined when survivorship lx is zero. It also calls inputs rates while supplying a qx formula, creating a probability-versus-hazard convention hazard.

Errata and corrections

No applied erratum is attached to this unique-name record.

Inspectable example

4 review vectors are recorded. One source-bound sample is shown below.

{
  "inputs": {
    "radix": 100000,
    "start_age": 0,
    "intervals": [
      {
        "age": 0,
        "width_years": 1,
        "qx": 0.01
      },
      {
        "age": 1,
        "width_years": 1,
        "qx": 0.02
      },
      {
        "age": 2,
        "width_years": 1,
        "qx": 0.03
      },
      {
        "age": 3,
        "width_years": 1,
        "qx": 1
      }
    ]
  },
  "expected_outputs": {
    "survivorship_lx": {
      "age_0": 100000,
      "age_1": 99000,
      "age_2": 97020,
      "age_3": 94109.4,
      "age_4": 0
    },
    "survival_probability_to_age_3": 0.941094,
    "restricted_life_expectancy_at_age_0_years": 2.901294
  },
  "reference_data": {
    "radix_l0": 100000,
    "radix_source_convention": "widely tabulated standard value; standard actuarial life-table radix",
    "qx_rows": [
      {
        "age": 0,
        "width_years": 1,
        "qx": 0.01,
        "source_convention": "widely tabulated standard value; textbook illustrative life-table row"
      },
      {
        "age": 1,
        "width_years": 1,
        "qx": 0.02,
        "source_convention": "widely tabulated standard value; textbook illustrative life-table row"
      },
      {
        "age": 2,
        "width_years": 1,
        "qx": 0.03,
        "source_convention": "widely tabulated standard value; textbook illustrative life-table row"
      },
      {
        "age": 3,
        "width_years": 1,
        "qx": 1,
        "source_convention": "widely tabulated standard value; explicit mathematical horizon-closing boundary"
      }
    ],
    "person_years_method": "uniform distribution of deaths within each interval"
  },
  "working": "l0=100000. l1=100000×(1−0.01)=99000. l2=99000×(1−0.02)=97020. l3=97020×(1−0.03)=94109.4. l4=94109.4×(1−1)=0. Survival to age 3=l3/l0=94109.4/100000=0.941094. L0=1×(100000+99000)/2=99500. L1=1×(99000+97020)/2=98010. L2=1×(97020+94109.4)/2=95564.7. L3=1×(94109.4+0)/2=47054.7. T0=99500+98010+95564.7+47054.7=290129.4 person-years. e0=T0/l0=290129.4/100000=2.901294 years."
}

Related workflows

No source-defined multi-instrument workflow membership is recorded.

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json · VERIFIED_CLEAN
  • evidence-tranche7/tranche7-results.json
  • BOUNDARY_HAZARD_CATALOG.json