Calculate adjustment factors for an underlying assumption
Source:R/compute_fct_adjs.R
compute_fct_adjs.Rd
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 themeasure_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
#>