diff --git a/data-raw/US/PensionPlans/USA_PensionPlans.xlsx b/data-raw/US/PensionPlans/USA_PensionPlans.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..df12484efa248dd30d889e2a4d3a4769db8ad317 Binary files /dev/null and b/data-raw/US/PensionPlans/USA_PensionPlans.xlsx differ diff --git a/data-raw/US/create_MortalityTables_US_Pensions.R b/data-raw/US/create_MortalityTables_US_Pensions.R new file mode 100644 index 0000000000000000000000000000000000000000..c579420b8e3808bb28d64e04e4f44500d6cbced8 --- /dev/null +++ b/data-raw/US/create_MortalityTables_US_Pensions.R @@ -0,0 +1,76 @@ +################################################################################m# +# Skript to generate US Basic (select and ultimate) valuation table objects #### +################################################################################m# +library(MortalityTables) +library(here) +library(readxl) +library(dplyr) + +US.pensions.file = here::here("data-raw", "US", "PensionPlans", "USA_PensionPlans.xlsx") + + + +##############################################################################h# +### UP-1984 - US 1984 Uninsured PenSioner Mortality Table #### +##############################################################################h# + +USA.UP1984.data = read_excel( + US.pensions.file, sheet = "UP-1984", + skip = 6) + +USA.UP1984 = mortalityTable.period( + name = "USA UP-1984 unisex", + ages = USA.UP1984.data$Age, + baseYear = 1984, + deathProbs = USA.UP1984.data$qu, + data = list( + dim = list(table = "USA UP-1984", sex = "u", collar = "UninsuredPensioners", type = "PensionTable", data = "unloaded", year = 1984, country = "USA") + ) +) +save(USA.UP1984, + file = here::here("data", "USA.UP1984.RData") +) + + + + +##############################################################################h# +### UP-94 - US 1994 Uninsured PenSioner Mortality Table #### +##############################################################################h# + +USA.UP94.data = read_excel( + US.pensions.file, sheet = "UP-94", + col_names = c("age","qx", "AAx", "qy", "AAy"), + skip = 7) + +USA.UP94 = array( + data = c( + mortalityTable.improvementFactors( + name = "USA UP-94, male", + ages = USA.UP94.data$age, + deathProbs = USA.UP94.data$qx, + improvement = USA.UP94.data$AAx, + data = list( + dim = list(table = "UP-94", sex = "m", collar = "UninsuredPensioners", type = "PensionTable", data = "unoaded", year = 1994, country = "USA") + ) + ), + + mortalityTable.improvementFactors( + name = "USA UP-94, female", + ages = USA.UP94.data$age, + deathProbs = USA.UP94.data$qy, + improvement = USA.UP94.data$AAy, + data = list( + dim = list(table = "UP-94", sex = "f", collar = "UninsuredPensioners", type = "PensionTable", data = "unloaded", year = 1994, country = "USA") + ) + ) + ), + dim = c(2), + dimnames = list(Sex = c("m", "f")) +) + +save(USA.UP94, + file = here::here("data", "USA.UP94.RData") +) + + diff --git a/data/USA.UP1984.RData b/data/USA.UP1984.RData new file mode 100644 index 0000000000000000000000000000000000000000..a7b550adf492c294746ac3c36fa80823fdbd2492 Binary files /dev/null and b/data/USA.UP1984.RData differ diff --git a/data/USA.UP94.RData b/data/USA.UP94.RData new file mode 100644 index 0000000000000000000000000000000000000000..ec387066dd83e40a213575f85e9a7feb2498818e Binary files /dev/null and b/data/USA.UP94.RData differ diff --git a/vignettes/international-mortality-tables-overview.Rmd b/vignettes/international-mortality-tables-overview.Rmd index 0cf7400e8ebdf716f570b875c12642c7f64a2681..82e68eb1b9d133400da3c9de95e164e1ca95cf1e 100644 --- a/vignettes/international-mortality-tables-overview.Rmd +++ b/vignettes/international-mortality-tables-overview.Rmd @@ -63,6 +63,7 @@ mortalityTables.load("Austria_Census") * Pub-2010 Public Retirement Plans Mortality Tables * RP-2014 Mortality Tables (and RPH-2014 for headcount-weighted) * RP-2000 Mortality Tables +* US SSA mortality rates 1900-2007, https://mort.soa.org/ViewTable.aspx?&TableIdentity=1502 * US IRS Static mortality tables (prescribed for each year) * Greece: * EAE 2005 A (life products) @@ -1481,15 +1482,6 @@ Standard Industrial Mortality Tables * 1964-68 Intercompany group annuity experience * 1955 American Annuity -* UP-1984 (Unisex Pension) -* UP-94 -* RP-2000 (Retirement Plan) -* RP-2014 + Scale MP-2014, MP-2015, MP-2016, MP-2017, MP-2018, MP-2019, MP-2020 -* RPH-2014 -* PubT-2010, PubS-2010, PubG-2010, PubNS-2010, Pub-2010 + Headcount versions -* Pri-2012, Pri.H-2012 - - * UP-94 table with 7% margin * 2015 Preneed Basic * https://www.soa.org/resources/experience-studies/2017/preneed-mortality-report/ @@ -1714,8 +1706,51 @@ plotMortalityTables( legend.position = "right", legend.key.width = unit(2, "lines") ) + facet_grid(sex~.) ``` + + + ## Pension Plans +* RP-2000 (Retirement Plan) + * Source: https://www.soa.org/resources/experience-studies/2000-2004/research-rp-2000-mortality-tables/ +* RP-2014 + Scale MP-2014, MP-2015, MP-2016, MP-2017, MP-2018, MP-2019, MP-2020 + * Source: https://www.soa.org/resources/experience-studies/2014/research-2014-mort-tables/ + * https://www.soa.org/resources/experience-studies/2014/research-2014-rp/ +* RPH-2014 +* PubT-2010, PubS-2010, PubG-2010, PubNS-2010, Pub-2010 + Headcount versions + * Source: https://www.soa.org/resources/research-reports/2019/pub-2010-retirement-plans/ +* Pri-2012, Pri.H-2012 + * Source: https://www.soa.org/resources/experience-studies/2019/pri-2012-private-mortality-tables/ + +* UP-94 table with 7% margin + +### UP-1984 - Unisex Uninsured Pensioner Mortality + + * Source: Paul H. Jackson and William W. Fellers, “The UP-1984: A Unisex Mortality Table for Non-insured Pension Plans”, International Association of Consulting Actuaries (1976). https://www.actuaries.org/IACA/Colloquia/Sydney1976/Vol_1/Jackson_Fellers.pdf + * Note: Where separate male and female mortality rates are required, + the basic UP-1984 Mortality Table can be set forward two years in + age to develop appropriate male mortality rates (possibly set + forward only one year for a group in nonhazardous employment). + Similarly, the table can be set back four years in age to + approximate female mortality rates. + + +```{r} +plotMortalityTables(USA.UP1984) +``` + + +### UP-94 - Uninsured Pensioner Mortality Table + +Source: The Society of Actuaries UP-94 Task Force, "The 1994 Uninsured Pensioner Mortality Table", Transactions Society of Actuaries Vol. XLVII, (Chicago, 1995), p. 824-826. +http://www.soa.org/library/research/transactions-of-society-of-actuaries/1990-95/1995/january/tsa95v4721.pdf + +```{r} +plotMortalityTables(USA.UP94, YOB = 1980, title = "UP-94 for birth year 1980") +``` + + + ### RP-2000 Projected beyond 2000 using scale AA