Period and Cohort Rates
Mortality rates are often presented in a period format where each column represents the mortality rates across ages for a particular calendar year. However, they can also be expressed in a cohort format where each column is for a particular cohort. Cohort rates are more suitable for the pricing of insurance products, so this module introduces two helper functions to convert between period and cohort mortality rates and one-year death probabilities.
Period to Cohort Rates
period2cohort(period_rates, ages, init_age = NULL)
Parameters:
period_rates : matrix/array
period mortality rates with age rows, calendar year columns
(and simulation number 3rd dimension)
ages : vector
vector of ages for period_rates
init_age : numeric
initial age of cohort (default smallest age)
Returns:
matrix/array of cohort mortality rates with age rows, cohort columns (and simulation number
3rd dimension). The columns represent
the cohort aged init_age
in the corresponding year.
Usage:
# consider the male mortality rates from the data file 'mortality_AUS_data'
period_rates <- mortality_AUS_data$rate$male
ages <- mortality_AUS_data$age # 0:110
# convert to rates for cohort aged 55
cohort_rates_55 <- period2cohort(period_rates, ages, init_age = 55)
Note
The conversions between period and cohort mortality rates will only return the upper triangle.
Cohort to Period Rates
cohort2period(cohort_rates)
Parameters:
cohort_rates : matrix/array
cohort mortality rates with age rows, cohort columns
(and simulation number 3rd dimension)
Returns:
matrix/array of period mortality rates with age rows, year columns
(and simulation number 3rd dimension)
Usage:
# consider the Kannisto completion method on male mortality rates
# from the data file 'mortality_AUS_data'
AUS_male_rates <- mortality_AUS_data$rate$male
ages <- mortality_AUS_data$age # 0:110
old_ages <- 91:130
fitted_ages <- 76:90
completed_rates <- complete_old_age(AUS_male_rates, ages, old_ages,
method = "kannisto", type = "central",
fitted_ages = fitted_ages)
# suppose these are rates for cohort starting at age 60
cohort_rates_60 <- completed_rates[as.character(60:130), ]
period_rates <- cohort2period(cohort_rates_60)
Note
The conversions between period and cohort mortality rates will only return the upper triangle.