Skip to contents

There often are situations where an industry table is used for an assumed rate due to a company lacking sufficient credibility to write their own assumption. However, as experience becomes more available, a company would likely want to incorporate this experience into the industry assumption because it provides valuable insight into their own policyholders. A common industry approach is to apply "factor adjustments" developed using company experience to the industry assumption.

Usage

compute_fct_adjs(
  .data,
  expected_rate,
  measure_sets = guess_measure_sets(.data),
  amount_scalar = NULL,
  method = c("simultaneous", "sequential"),
  cred_wt_adjs = FALSE,
  balance_adjs = FALSE,
  na.rm = FALSE
)

Arguments

.data

A base::data.frame() that houses an experience study.

expected_rate

The underlying expected rate in the experience study for which factor adjustments are being generated for.

measure_sets

A (potentially named) list of measure sets. Only need to specify once if chaining multiple expstudy functions as the measure_sets will be passed as an attribute in results.

amount_scalar

A numeric vector to use when determining amount-weighted expecteds and variances. The function will determine whether or not the new expecteds/variances are amount-weighted if the corresponding actuals in the study have values greater than 1 (actuals that are not amount-weighted, i.e., counts, should only be 0 or 1).

method

String indicating the method of determining factor adjustments:

* `simultaneous` will calculate factor adjustments for all combinations
of group values in one iteration.
* `sequential` will calculate factor adjustments for each grouping
variable individually and applies that factor adjustment to the
underlying expected rate before continuing with the next grouping
variable's factor computation.

cred_wt_adjs

Logical indicating if factor adjustments should be credibility-weighted using partial credibility scores.

balance_adjs

Logical indicating if credibility-weighted adjustments should be scaled to produce a 100% A/E ratio in aggregate (has no effect if cred_wt_adjs = FALSE).

na.rm

logical. Should missing values (including NaN) be removed?

Value

A list of data frames that house factor adjustments for each measure set provided in measure_sets.

Details

This function piggy-backs off of measure_sets defined in other expstudy functions to quickly produce factor adjustments under a variety of methods. Providing a dplyr::grouped_df() will generate factors for each group according to the method specified. If two or more grouping variables are provided, an additional "composite" factor adjustment will also be generated which is the product of each individual adjustment.

Examples

mortexp |>
  dplyr::group_by(
    GENDER,
    SMOKING_STATUS
  ) |>
  compute_fct_adjs(
    EXPECTED_MORTALITY_RT,
    amount_scalar = FACE_AMOUNT
  )
#> $CNT
#>   SMOKING_STATUS GENDER GENDER_FCT_ADJ SMOKING_STATUS_FCT_ADJ COMPOSITE_FCT_ADJ
#> 1     NON-SMOKER FEMALE       1.271511              1.0194734          1.296272
#> 2     NON-SMOKER   MALE       1.193514              1.0194734          1.216755
#> 3         SMOKER FEMALE       1.271511              0.9515988          1.209968
#> 4         SMOKER   MALE       1.193514              0.9515988          1.135746
#> 
#> $AMT
#>   SMOKING_STATUS GENDER GENDER_FCT_ADJ SMOKING_STATUS_FCT_ADJ COMPOSITE_FCT_ADJ
#> 1     NON-SMOKER FEMALE       1.307949               0.998288          1.305710
#> 2     NON-SMOKER   MALE       1.129454               0.998288          1.127520
#> 3         SMOKER FEMALE       1.307949               1.004059          1.313259
#> 4         SMOKER   MALE       1.129454               1.004059          1.134039
#>