lifelib v0.15 Releases#

To update lifelib, run the following command:

>>> pip install lifelib --upgrade

If you’re using Anaconda, use the conda command instead:

>>> conda update lifelib

lifelib v0.15.0 (22 August 2026)#

New Library#

This release adds a new library, uklib. uklib packages seven reference liability cash flow projection models for the individual life insurance products sold in the United Kingdom, plus the pension annuity, and, for each model, the product specification and technical notes it was built from. See the uklib page for more details.

The four protection models are Term_UK_A (guaranteed-premium term assurance), CI_UK_S (critical illness cover), IP_UK_S (income protection) and WOL_UK_S (whole of life). The two savings models are WP_UK_A (with-profits) and ULB_UK_S (unit-linked investment bond), and PA_UK_S is the pension annuity. The grid letters follow the same convention as uslib: _A marks an annual projection step and _S a monthly one, and all seven models project one model point at a time.

The pension annuity is in the library because annuities are the dominant liability of UK life insurers and the centrepiece of the Solvency UK matching adjustment. The coverage otherwise differs in kind from uslib’s, because the UK retail deferred annuity market is negligible, while the pension annuity bought with a pension pot is the product that matters.

uklib is shaped exactly like uslib. Each model projects one product’s gross liability cash flows, such as premiums, claims, surrenders, expenses and commission, on the product’s own processing order and timing. None of the models discounts, so discounting, reserving and capital are left to a layer that consumes the cash flows. Every model has the same two Spaces: Data, which reads the input files, and Projection, which is parameterized by point_id. The inputs are CSV files kept outside the model folder so that they can be edited or swapped in place.

Beside each model sit the documents it was built from: product-spec.md, a representative product specification composed from publicly available documentation of real products; technical-notes.md, the liability cash flow model on paper, with state variables, recursions, processing order and a numeric worked example; model.md, how the model implements those notes; and sources.md, every source cited. The tests ship inside the library and run against your own copy: each model reproduces the worked example in its technical notes, and tests/test_model_conventions_uk.py asserts the shared model structure and Cells names across all seven models.

Warning

uklib is in its draft stage, and its contents are subject to change as development continues.

Warning

The uklib models are mechanics demonstrations, not pricing or reserving results. The contractual elements are sourced, but every decrement basis shipped with the library is a standardization introduced for the reference implementation, because the CMI tables that a UK insurer would actually use are restricted to Authorised Users and cannot be redistributed. Nor is there any public premium rate card, because UK protection and annuity pricing is quote-driven. Replace both with company data before drawing any conclusion from the numbers.

Changes#

  • The documents and docstrings in uslib are updated. Product sources are now cited by source tag in the published documents, with the source details kept in sources.md. Specification citations of the form [S1] are now plain bracketed text rather than links, which is the citation convention uklib also follows. None of the uslib models behaves differently.