Main Content

unpaidClaims

Compute unpaid claims for chainLadder object

Description

example

unpaidClaimsEstimate = unpaidClaims(cl) computes unpaid claims for the chainLadder object.

example

unpaidClaimsEstimate = unpaidClaims(___,referenceClaimsType) specifies options using one or more optional arguments in addition to the input argument in the previous syntax.

Examples

collapse all

Calculate the unpaid claims for a chainLadder object containing simulated insurance claims data.

load InsuranceClaimsData.mat;
head(data)
ans=8×4 table
    OriginYear    DevelopmentYear    ReportedClaims    PaidClaims
    __________    _______________    ______________    __________

       2010             12               3995.7          1893.9  
       2010             24                 4635          3371.2  
       2010             36               4866.8          4079.1  
       2010             48               4964.1            4487  
       2010             60               5013.7          4711.4  
       2010             72               5038.8          4805.6  
       2010             84                 5059          4853.7  
       2010             96               5074.1          4877.9  

Use developmentTriangle to convert the data to a development triangle, which is the standard form for representing claims data. Create two developmentTriangle objects, one for reported claims and one for paid claims.

dT_reported = developmentTriangle(data,'Origin','OriginYear','Development','DevelopmentYear','Claims','ReportedClaims')
dT_reported = 
  developmentTriangle with properties:

                          Origin: {10x1 cell}
                     Development: {10x1 cell}
                          Claims: [10x10 double]
                  LatestDiagonal: [10x1 double]
                     Description: ""
                      TailFactor: 1
    CumulativeDevelopmentFactors: [1x10 double]
               SelectedLinkRatio: [1x9 double]

dT_paid = developmentTriangle(data,'Origin','OriginYear','Development','DevelopmentYear','Claims','PaidClaims')
dT_paid = 
  developmentTriangle with properties:

                          Origin: {10x1 cell}
                     Development: {10x1 cell}
                          Claims: [10x10 double]
                  LatestDiagonal: [10x1 double]
                     Description: ""
                      TailFactor: 1
    CumulativeDevelopmentFactors: [1x10 double]
               SelectedLinkRatio: [1x9 double]

Create a chainLadder object where the first input argument is the reported development triangle and the second input argument is the paid development triangle.

cl = chainLadder(dT_reported, dT_paid)
cl = 
  chainLadder with properties:

    ReportedTriangle: [1x1 developmentTriangle]
        PaidTriangle: [1x1 developmentTriangle]
     CaseOutstanding: [10x1 double]

Use ibnr to compute the incurred-but-not-reported (IBNR).

ibnrClaims = ibnr(cl,'reported')
ibnrClaims = 10×1
103 ×

         0
    0.0052
    0.0169
    0.0349
    0.0575
    0.0880
    0.1489
    0.3019
    0.6084
    1.5181

Use unpaidClaims to compute the unpaid claims.

unpaidClaimsEstimate = unpaidClaims(cl,'reported')
unpaidClaimsEstimate = 10×1
103 ×

    0.1968
    0.0506
    0.1300
    0.1097
    0.1771
    0.0972
    0.3908
    0.9851
    1.7175
    3.6992

Input Arguments

collapse all

Chain ladder, specified as a previously created chainLadder object.

Data Types: object

(Optional) Type of claims data, specified as a character vector or string.

Data Types: char | string

Output Arguments

collapse all

Unpaid claims estimates, returned as an array.

More About

collapse all

Unpaid Claims

Unpaid claims are claims reserves for events that have occurred, including both reported and incurred-but-not-reported (IBNR) reserves, as well as the expenses of settling such claims.

Introduced in R2020b