exp_stats {actxps}  R Documentation 
Create a summary data frame of termination experience for a given target status.
exp_stats(
.data,
target_status = attr(.data, "target_status"),
expected,
col_exposure = "exposure",
col_status = "status",
wt = NULL,
credibility = FALSE,
conf_level = 0.95,
cred_r = 0.05,
conf_int = FALSE
)
## S3 method for class 'exp_df'
summary(object, ...)
.data 
A data frame with exposurelevel records, ideally of type

target_status 
A character vector of target status values 
expected 
A character vector containing column names in 
col_exposure 
Name of the column in 
col_status 
Name of the column in 
wt 
Optional. Length 1 character vector. Name of the column in

credibility 
If 
conf_level 
Confidence level used for the Limited Fluctuation credibility method and confidence intervals 
cred_r 
Error tolerance under the Limited Fluctuation credibility method 
conf_int 
If 
object 
An 
... 
Groups to retain after 
If .data
is grouped, the resulting data frame will contain
one row per group.
If target_status
isn't provided, exp_stats()
will use the same
target status from .data
if it has the class exposed_df
.
Otherwise, all status values except the first level will be assumed.
This will produce a warning message.
A tibble with class exp_df
, tbl_df
, tbl
,
and data.frame
. The results include columns for any grouping variables,
claims, exposures, and observed termination rates (q_obs
).
If any values are passed to expected
, expected termination rates and
actualtoexpected ratios.
If credibility
is set to TRUE
, additional columns are added
for partial credibility and credibilityweighted termination rates
(assuming values are passed to expected
). Credibilityweighted termination
rates are prefixed by adj_
.
If conf_int
is set to TRUE
, additional columns are added for lower and
upper confidence interval limits around the observed termination rates and
any actualtoexpected ratios. Additionally, if credibility
is TRUE
and
expected values are passed to expected
, the output will contain confidence
intervals around credibilityweighted termination rates. Confidence interval
columns include the name of the original output column suffixed by either
_lower
or _upper
.
If a value is passed to wt
, additional columns are created containing
the the sum of weights (.weight
), the sum of squared weights
(.weight_qs
), and the number of records (.weight_n
).
The expected
argument is optional. If provided, this argument must
be a character vector with values corresponding to columns in .data
containing expected experience. More than one expected basis can be provided.
If credibility
is set to TRUE
, the output will contain a
credibility
column equal to the partial credibility estimate under
the Limited Fluctuation credibility method (also known as Classical
Credibility) assuming a binomial distribution of claims.
If conf_int
is set to TRUE
, the output will contain lower and upper
confidence interval limits for the observed termination rate and any
actualtoexpected ratios. The confidence level is dictated
by conf_level
. If no weighting variable is passed to wt
, confidence
intervals will be constructed assuming a binomial distribution of claims.
Otherwise, confidence intervals will be calculated assuming that the
aggregate claims distribution is normal with a mean equal to observed claims
and a variance equal to:
Var(S) = E(N) * Var(X) + E(X)^2 * Var(N)
,
Where S
is the aggregate claim random variable, X
is the weighting
variable assumed to follow a normal distribution, and N
is a binomial
random variable for the number of claims.
If credibility
is TRUE
and expected values are passed to expected
,
the output will also contain confidence intervals for any
credibilityweighted termination rates.
summary()
MethodApplying summary()
to a exp_df
object will resummarize the
data while retaining any grouping variables passed to the "dots"
(...
).
Herzog, Thomas (1999). Introduction to Credibility Theory
toy_census > expose("20221231", target_status = "Surrender") >
exp_stats()
exp_res < census_dat >
expose("20191231", target_status = "Surrender") >
group_by(pol_yr, inc_guar) >
exp_stats()
exp_res
summary(exp_res)
summary(exp_res, inc_guar)