The BaseProj Space#

Core annual cashflow projection logic for a single traditional life policy.

This Space defines the period-by-period Cells that project policy decrement, benefits, premiums, commissions, expenses, investment income, reserves and the resulting net cashflow and profit for one model point. It is the base Space inherited by Projection, which parameterizes these Cells by policy and scenario.

Parameters and References#

The following references are defined in this Space and inherited by Projection. The integer idx from the enclosing Projection ItemSpace is used to index into the per-policy NumPy arrays returned by pol and asmp.

pol#

Alias for PolicyAttrs.

asmp#

Alias for Assumptions.

scen#

Alias for Economic.

comm_table#

Alias for CommTable.

Cells Summary#

Projection Parameters#

Parameters that define the scope of the projection for the selected policy, such as its length and the attained age.

proj_len()

Projection length in years for the selected policy.

age(t)

Attained age at time t

last_mort_age()

Age at which the base mortality rate reaches 1 for this policy.

Assumptions#

Cells that retrieve or derive the actuarial and economic assumptions applied to the selected policy: mortality, lapse, premium and reserve rates, surrender charge, inflation and discounting.

mort_rate(x)

Base mortality rate at age x

mort_factor(y)

Mortality factor

lapse_rate(y)

Surrender Rate

gross_prem_rate()

Gross Premium Rate per Sum Assured per payment

ann_prem_rate()

Annualized Premium Rate per Sum Assured

net_prem_rate(basis)

Net Premium Rate

reserve_nlp_rate(basis, t)

Net level premium reserve rate

cash_value_rate(t)

Cash Value Rate per Sum Assured

surr_charge(t)

Surrender Charge Rate per Sum Assured

inflation_factor(t)

Inflation factor at time t used to adjust expense cashflows.

disc_rate_mth(t)

Discount rate at time t.

Policy Decrement#

The number of in-force policies and the movements (new business, death, surrender, maturity and rider exposures) that change it over the projection. Cells whose names start with pols_ deal with numbers of policies.

pols_if_init(t)

Number of policies: New business

pols_renewal(t)

Number of policies: Renewal policies

pols_if_beg(t)

Number of policies: Beginning of period

pols_if_beg1(t)

Number of policies: Beginning of period 1

pols_if(t)

Number of policies: End of period

pols_if_aft_mat(t)

Number of policies: After maturity

pols_death(t)

Number of policies: Death

pols_lapse(t)

Number of policies: Surrender

pols_maturity(t)

Number of policies: Maturity

pols_annuity(t)

Number of policies: Annuity

pols_living(t)

Number of policies: Living benefits

pols_acc_death(t)

Number of policies: Accidental death

pols_acc_hosp(t)

Number of policies: Accidental Hospitalization

pols_sick_hosp(t)

Number of policies: Sickness Hospitalization

pols_surg(t)

Number of policies: Surgery

pols_other(t)

Number of policies: Other benefits

Policy Values#

The sum assured for the selected policy and the insurance in force at the beginning and the end of the period.

sum_assured(t)

Sum assured per policy at time t

insur_if_beg1(t)

Insurance in-force: Beginning of period 1

insur_if_end(t)

Insurance in-force: End of period

Claims#

Aggregate benefit cashflows by cause, each shown together with its per-policy amount. Cells whose names start with claims_ represent benefit cashflows for the period from t to t+1, and those ending with _pp are the corresponding benefit per policy.

claims(t)

Total benefits

claims_death(t)

Death benefits

claims_death_pp(t)

Death benefit per policy

claims_mat(t)

Maturity benefits

claims_mat_pp(t)

Maturity benefit per policy

claims_surr(t)

Surrender benefits

claims_surr_pp(t)

Surrender benefit per policy

claims_ann(t)

Annuity benefits

claims_ann_pp(t)

Annuity benefit per policy

claims_acc_dth(t)

Accidental death benefits

claims_acc_dth_pp(t)

Accidental death benefit per policy

claims_acc_hosp(t)

Accidental hospitalization benefits

claims_acc_hosp_pp(t)

Accidental hospitalization benefit per policy

claims_sick_hosp(t)

Sickness hospitalization benefits

claims_sick_hosp_pp(t)

Sickness hospitalization benefit per policy

claims_surg(t)

Surgery benefits

claims_surg_pp(t)

Surgery benefit per policy

claims_living(t)

Living benefits

claims_living_pp(t)

Living benefit per policy

claims_other(t)

Other benefits

claims_other_pp(t)

Other benefit per policy

Premiums#

Premium income with its per-policy and annualized amounts, and the total income for the period.

premiums(t)

Premium income

premium_pp(t)

Premium income per policy from t to t+1

ann_prem_pp(t)

Annualized premium per policy at time t

income_total(t)

Income Total

Investment Income#

Investment income earned on accumulated funds, with the corresponding per-policy amount.

Warning

Investment income depends on reserve balances that are not yet fully implemented (see the warning in the Reserves subsection); the values produced are provisional and subject to change.

invst_income(t)

Investment income

invst_income_pp(t)

Investment Income per policy from t to t+1

Commissions and Expenses#

Acquisition, maintenance and other expense cashflows together with initial and renewal commissions, each with its per-policy amount. Cells whose names start with exps_ represent expense cashflows.

expenses(t)

Total expenses

exps_acq(t)

Acquisition expenses

exps_acq_total(t)

Commissions and acquisition expenses

expense_acq_pp(t)

Acquisition expense per policy at time t

exps_maint(t)

Maintenance expenses

exps_maint_total(t)

Total maintenance expenses including other expenses

expense_maint_pp(t)

Maintenance expense per policy at time t

exps_other(t)

Other expenses

exps_other_pp(t)

Other expenses per policy at time t

commissions(t)

Commissions Total

commissions_init(t)

Initial commissions

commissions_init_pp(t)

Initial commission per policy at time t

commissions_ren(t)

Renewal commissions

commissions_ren_pp(t)

Renewal commission per policy at time t

Reserves#

End-of-period reserve balances, their per-policy and after-maturity components, and the change in reserve over the period.

Warning

Reserve calculations are not yet fully implemented. The hospitalization reserve and the unearned premium reserve currently return placeholder zeros and are to be implemented.

reserve_prem_rsrv_end(t)

Premium reserve: End of period

reserve_prem_rsrv_end_pp(t)

Premium reserve per policy: End of period

reserve_prem_rsrv_aft_mat_pp(t)

Premium reserve per policy: After maturity

reserve_uern_prem_end(t)

Unearned Premium: End of period

reserve_uern_prem_end_pp(t)

Unearned reserve per policy: End of period

reserve_uern_prem_aft_mat_pp(t)

Unearned premium: After maturity

reserve_hosp_rsrv_end(t)

Hospitalization reserve: End of period

reserve_total_end(t)

Total reserve: End of period

reserve_total_aft_mat_pp(t)

Total reserve per policy: After maturity

change_rsrv(t)

Change in reserve

Net Cashflows#

The net liability cashflow and the accumulated cashflows with interest.

net_cf(t)

Net liability cashflow

accum_cf(t)

Accumulated cashflows

int_accum_cf(t)

Interest on accumulated cashflows

Profits#

Profit before tax for the period.

Warning

Profit before tax depends on the change in reserves, which is not yet fully implemented (see the warning in the Reserves subsection); the values produced are provisional and subject to change.

profit_bef_tax(t)

Profit before Tax

Cells Descriptions#

proj_len()[source]#

Projection length in years for the selected policy.

The projection ends at whichever comes first: the age at which base mortality reaches 1 (returned by last_mort_age()), or the end of the policy term.

age(t)[source]#

Attained age at time t

last_mort_age()[source]#

Age at which the base mortality rate reaches 1 for this policy.

Refers to last_mort_age() for the selected policy.

sum_assured(t)[source]#

Sum assured per policy at time t

mort_rate(x)[source]#

Base mortality rate at age x

mort_factor(y)[source]#

Mortality factor

lapse_rate(y)[source]#

Surrender Rate

gross_prem_rate()[source]#

Gross Premium Rate per Sum Assured per payment

ann_prem_rate()[source]#

Annualized Premium Rate per Sum Assured

net_prem_rate(basis)[source]#

Net Premium Rate

reserve_nlp_rate(basis, t)[source]#

Net level premium reserve rate

cash_value_rate(t)[source]#

Cash Value Rate per Sum Assured

surr_charge(t)[source]#

Surrender Charge Rate per Sum Assured

inflation_factor(t)[source]#

Inflation factor at time t used to adjust expense cashflows.

Compounded from inflation_rate() starting from inflation_factor(0) = 1.

disc_rate_mth(t)[source]#

Discount rate at time t.

Refers to Economic[scen_id].disc_rate_mth.

pols_if_init(t)[source]#

Number of policies: New business

pols_renewal(t)[source]#

Number of policies: Renewal policies

pols_if_beg(t)[source]#

Number of policies: Beginning of period

pols_if_beg1(t)[source]#

Number of policies: Beginning of period 1

pols_if(t)[source]#

Number of policies: End of period

pols_if_aft_mat(t)[source]#

Number of policies: After maturity

pols_death(t)[source]#

Number of policies: Death

pols_lapse(t)[source]#

Number of policies: Surrender

pols_maturity(t)[source]#

Number of policies: Maturity

pols_annuity(t)[source]#

Number of policies: Annuity

pols_living(t)[source]#

Number of policies: Living benefits

pols_acc_death(t)[source]#

Number of policies: Accidental death

pols_acc_hosp(t)[source]#

Number of policies: Accidental Hospitalization

pols_sick_hosp(t)[source]#

Number of policies: Sickness Hospitalization

pols_surg(t)[source]#

Number of policies: Surgery

pols_other(t)[source]#

Number of policies: Other benefits

claims(t)[source]#

Total benefits

claims_death(t)[source]#

Death benefits

claims_death_pp(t)[source]#

Death benefit per policy

claims_mat(t)[source]#

Maturity benefits

claims_mat_pp(t)[source]#

Maturity benefit per policy

claims_surr(t)[source]#

Surrender benefits

claims_surr_pp(t)[source]#

Surrender benefit per policy

claims_ann(t)[source]#

Annuity benefits

claims_ann_pp(t)[source]#

Annuity benefit per policy

claims_acc_dth(t)[source]#

Accidental death benefits

claims_acc_dth_pp(t)[source]#

Accidental death benefit per policy

claims_acc_hosp(t)[source]#

Accidental hospitalization benefits

claims_acc_hosp_pp(t)[source]#

Accidental hospitalization benefit per policy

claims_sick_hosp(t)[source]#

Sickness hospitalization benefits

claims_sick_hosp_pp(t)[source]#

Sickness hospitalization benefit per policy

claims_surg(t)[source]#

Surgery benefits

claims_surg_pp(t)[source]#

Surgery benefit per policy

claims_living(t)[source]#

Living benefits

claims_living_pp(t)[source]#

Living benefit per policy

claims_other(t)[source]#

Other benefits

claims_other_pp(t)[source]#

Other benefit per policy

premiums(t)[source]#

Premium income

premium_pp(t)[source]#

Premium income per policy from t to t+1

ann_prem_pp(t)[source]#

Annualized premium per policy at time t

invst_income(t)[source]#

Investment income

invst_income_pp(t)[source]#

Investment Income per policy from t to t+1

income_total(t)[source]#

Income Total

insur_if_beg1(t)[source]#

Insurance in-force: Beginning of period 1

insur_if_end(t)[source]#

Insurance in-force: End of period

expenses(t)[source]#

Total expenses

exps_acq(t)[source]#

Acquisition expenses

exps_acq_total(t)[source]#

Commissions and acquisition expenses

expense_acq_pp(t)[source]#

Acquisition expense per policy at time t

exps_maint(t)[source]#

Maintenance expenses

exps_maint_total(t)[source]#

Total maintenance expenses including other expenses

expense_maint_pp(t)[source]#

Maintenance expense per policy at time t

exps_other(t)[source]#

Other expenses

exps_other_pp(t)[source]#

Other expenses per policy at time t

commissions(t)[source]#

Commissions Total

commissions_init(t)[source]#

Initial commissions

commissions_init_pp(t)[source]#

Initial commission per policy at time t

commissions_ren(t)[source]#

Renewal commissions

commissions_ren_pp(t)[source]#

Renewal commission per policy at time t

reserve_prem_rsrv_end(t)[source]#

Premium reserve: End of period

reserve_prem_rsrv_end_pp(t)[source]#

Premium reserve per policy: End of period

reserve_prem_rsrv_aft_mat_pp(t)[source]#

Premium reserve per policy: After maturity

reserve_uern_prem_end(t)[source]#

Unearned Premium: End of period

reserve_uern_prem_end_pp(t)[source]#

Unearned reserve per policy: End of period

reserve_uern_prem_aft_mat_pp(t)[source]#

Unearned premium: After maturity

reserve_hosp_rsrv_end(t)[source]#

Hospitalization reserve: End of period

reserve_total_end(t)[source]#

Total reserve: End of period

reserve_total_aft_mat_pp(t)[source]#

Total reserve per policy: After maturity

change_rsrv(t)[source]#

Change in reserve

net_cf(t)[source]#

Net liability cashflow

accum_cf(t)[source]#

Accumulated cashflows

int_accum_cf(t)[source]#

Interest on accumulated cashflows

profit_bef_tax(t)[source]#

Profit before Tax