FA-63405 / Actuarial life tables / Member archive
Fractional age survival assumptions: Balducci survival uses the elapsed rather than remaining fraction · case 05
Balducci survival probabilities are too high early in the year.
Case contract
Input q (per 100000), t as [num, den] in [0,1], assumption udd|cfm|balducci. UDD: tp=1-tq, mu=q/(1-tq); constant force: tp=p^t, mu=-ln p; Balducci: tp=p/(1-(1-t)q), mu=q/(1-(1-t)q). Out-of-range -> 'invalid'; infinite force -> 'infinite force'; other -> 'unknown assumption'. Return [tp, mu] rounded to 8 places.
Why this case matters
Life-table arithmetic compounds across ages, so one misplaced index or assumption shifts every downstream value.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| balducci mid-year | [0.8714209, 0.40911032] | [0.69316726, 0.40911032] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗