claim_majRev {SPLICE} | R Documentation |
Major Revisions of Incurred Loss
Description
A suite of functions that works together to simulate, in order, the (1) frequency, (2) time, and (3) size of major revisions of incurred loss, for each of the claims occurring in each of the periods.
Usage
claim_majRev_freq(
claims,
rfun,
paramfun,
frequency_vector = claims$frequency_vector,
claim_size_list = claims$claim_size_list,
...
)
claim_majRev_time(
claims,
majRev_list,
rfun,
paramfun,
claim_size_list = claims$claim_size_list,
settlement_list = claims$settlement_list,
payment_delay_list = claims$payment_delay_list,
...
)
claim_majRev_size(majRev_list, rfun, paramfun, ...)
Arguments
claims |
an |
rfun |
optional alternative random sampling function for:
See Details for default. |
paramfun |
parameters for the random sampling function, as a function of
other claim characteristics such as |
frequency_vector |
a vector of claim frequencies for all the periods
(not required if the |
claim_size_list |
list of claim sizes (not required if the |
... |
other arguments/parameters to be passed onto |
majRev_list |
nested list of major revision histories (with non-empty revision frequencies). |
settlement_list |
list of settlement delays (not required if the
|
payment_delay_list |
(compound) list of inter partial delays (not
required if the |
Value
A nested list structure such that the jth component of the ith sub-list is a list of information on major revisions of the jth claim of occurrence period i. The "unit list" (i.e. the smallest, innermost sub-list) contains the following components:
majRev_freq | Number of major revisions of incurred loss
[claim_majRev_freq() ]. |
majRev_time | Time of major revisions (from claim notification)
[claim_majRev_time() ]. |
majRev_factor | Major revision multiplier of incurred loss
[claim_majRev_size() ]. |
majRev_atP | An indicator, 1 if the last major revision occurs at the
time of the last major payment (i.e. second last payment), 0 otherwise
[claim_majRev_time() ].
|
Details - claim_majRev_freq
(Frequency)
Let K represent the number
of major revisions associated with a particular claim. The notification of a
claim is considered as a major revision, so all claims have at least 1 major
revision (K \ge 1
).
The default majRev_freq_function
specifies that no additional major revisions
will occur for claims of size smaller than or equal to claim_size_benchmark
(0.075 * ref_claim
by default). For claims above this threshold,
Pr(K = 2) | = 0.1 + 0.3min(1, (claim_size - 0.075 * ref_claim) / 0.925 * ref_claim) |
Pr(K = 3) | = 0.5min(1, max(0, claim_size - 0.25 * ref_claim)/ (0.75 * ref_claim)) |
Pr(K = 1) | = 1 - Pr(K = 2) - Pr(K = 3)
|
where ref_claim
is a package-wise global variable that user should define
by set_parameters
(if moving away from the default).
The idea is that major revisions are more likely for larger claims, and do
not occur at all for the smallest claims. Note also that by default a claim
may experience up to a maximum of 2 major revisions in addition to the
one at claim notification. This is taken as an assumption in the default
setting of claim_majRev_size()
. If user decides to modify this assumption,
they will need to take care of the part on the major revision size as well.
Details - claim_majRev_time
(Time)
Let \tau_k
represent the
epoch of the kth major revision (time measured from claim notification),
k = 1, ..., K
. As the notification of a claim is considered a major
revision itself, we have \tau_1 = 0
for all claims.
The last major revision for a claim may occur at the time of the second last partial payment (which is usually the major settlement payment) with probability
0.2 min(1, max(0, (claim_size - ref_claim) / (14 * ref_claim)))
where ref_claim
is a package-wise global variable that user should define
by set_parameters
(if moving away from the default).
Now, if there is a major revision at the time of the second last partial
payment, then \tau_k, k = 2, ..., K - 1
are sampled from a triangular
distribution with parameters (see also ptri
)
-
min = time_to_second_last_payment / 3
-
max = time_to_second_last_payment
maximum density at
mode = time_to_second_last_payment / 3
.
Otherwise (i.e. no major revision at the time of the second last partial
payment), \tau_k, k = 2, ..., K
are sampled from a triangular
distribution with parameters
-
min = settlement_delay / 3
-
max = settlement_delay
maximum density at
mode = settlement_delay / 3
.
Note that when there is a major revision at the time of the second last
partial payment, majRev_atP
(one of the output list components) will be set
to be 1.
Details - claim_majRev_size
(Revision Multiplier)
As mentioned in
the frequency section ("Details - claim_majRev_freq
"), the default function
for the major revision multipliers assumes that there are only up to 2 major
revisions (in addition to the one at claim notification) for all claims.
By default,
the first major revision multiplier
g_1
is simply 1 (no meaning);the second major revision multiplier
g_2
is sampled from a lognormal distribution with parametersmeanlog
= 1.8
andsdlog
= 0.2
;the third major revision multiplier
g_3
is sampled from a lognormal distribution with parametersmeanlog
= 1 + 0.07(6 - g_2)
andsdlog
= 0.1
. Note that the third major revision is likely to be smaller than the second.
The revision multipliers are subject to further constraints to ensure that
the revised incurred estimate never falls below what has already been paid.
This is dicussed in claim_history
.
The major revision multipliers apply to the incurred loss estimates, that
is, a revision multiplier of 2.54 means that at the time of the major
revision the incurred loss increases by a factor of 2.54. We highlight this
as in the case of minor revisions, the multipliers will instead apply to
outstanding claim amounts, see claim_minRev
.
See Also
Examples
set.seed(1)
test_claims <- SynthETIC::test_claims_object
major <- claim_majRev_freq(test_claims)
major[[1]][[1]] # the "unit list" for the first claim
# update the timing information
major <- claim_majRev_time(test_claims, major)
# observe how this has changed
major[[1]][[1]]
# update the revision multipliers
major <- claim_majRev_size(major)
# again observe how this has changed
major[[1]][[1]]