The basiclife Library#



The basiclife library is for building life insurance projection models. The models in this library project minimum sets of cashflows of hypothetical generic plain life policies and no specific regulations are assumed. The user should customize and extend the models to meet their own needs.

The modeled product is a plain term product with no surrender value. The projected cashflows are premiums, claims, expenses and commissions. The assumptions used are mortality rates, lapse rates, discount rates, expense, inflation and commission rates. The present values of the cashflows are also calculated. The premium amount for each individual model point is calculated as the net premium with loadings, where the net premium is calculated from the present value of the claims.

The library currently includes 5 basic projection models.

BasicTerm_S and BasicTerm_M are new business models, i.e. all model points are issued at time 0. Both of the models produce the exact same results but in different ways.

The BasicTerm_S model defines and executes formulas for each model point separately, while the BasicTerm_M model executes each formula at each time step for all model points at once. They produce the same results for the same model point. BasicTerm_S is straight forward, and its formulas are easier to understand, but it runs slower. It’s suitable for validation purposes. BasicTerm_M runs fast, but its formulas are expressed as vector operations and can be more complex in some places.

BasicTerm_SE and BasicTerm_ME project the cashflows of in-force policies at time 0 as well as new business policies at 0 or any future time. BasicTerm_ME is to BasicTerm_SE as BasicTerm_M is BasicTerm_S. Formulas in BasicTerm_ME apply to all the model point at a time while BasicTerm_SE carries out projection for each model point separately.

BasicTermASL_ME model is an adjustable step length(ASL) model. With this model, the user can specify the length of each projection step, from 1 month to 1 year. By default, the first 60 steps are monthly projections, while steps after that are annual. This model reads issue date information from model point input, and handles policy anniversaries precisely. For more details, see BasicTermASL_ME.

How to Use the Library#

As explained in the Copying a Library section, Create you own copy of the basiclife library. For example, to copy as a folder named basiclife under the path C:\path\to\your\, type below in an IPython console:

>>> import lifelib

>>> lifelib.create("basiclife", r"C:\path\to\your\basiclife")

Jupyter Notebooks#

Generating model points

Open In Colab

Generating model points with duration

Open In Colab

Generating model points for ASL

Open In Colab

Creating premium table

Open In Colab

Library Contents#

File or Folder



The BasicTerm_S model.


The BasicTerm_M model.


The BasicTerm_SE model.


The BasicTerm_ME model.


The BasicTermASL_ME model.


An Excel file that reproduces the results of a selected model point. The file also shows the derivation of the sample mortality rates.


A Jupyter notebbok used for creating the premium table used by BasicTerm_SE and BasicTerm_ME.


A Jupyter notebook used for generating the sample model points from random numbers for BasicTerm_S and BasicTerm_M.


A Jupyter notebook used for generating the sample model points from random numbers for BasicTerm_SE and BasicTerm_ME.


A Jupyter notebook used for generating the sample model points from random numbers for BasicTermASL_ME.