Main Content

ibnr

Compute IBNR claims for expectedClaims object

Since R2020b

Description

ibnrClaims = ibnr(ec) computes the incurred-but-not-reported (IBNR) claims for an expectedClaims object.

example

Examples

collapse all

Compute the IBNR claims for an expectedClaims object containing simulated insurance claims data.

load InsuranceClaimsData.mat;
head(data)
    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: {10×1 cell}
                     Development: {10×1 cell}
                          Claims: [10×10 double]
                  LatestDiagonal: [10×1 double]
                     Description: ""
                      TailFactor: 1
    CumulativeDevelopmentFactors: [1.3069 1.1107 1.0516 1.0261 1.0152 1.0098 1.0060 1.0030 1.0010 1]
               SelectedLinkRatio: [1.1767 1.0563 1.0249 1.0107 1.0054 1.0038 1.0030 1.0020 1.0010]

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

                          Origin: {10×1 cell}
                     Development: {10×1 cell}
                          Claims: [10×10 double]
                  LatestDiagonal: [10×1 double]
                     Description: ""
                      TailFactor: 1
    CumulativeDevelopmentFactors: [2.4388 1.4070 1.1799 1.0810 1.0378 1.0178 1.0080 1.0030 1.0010 1]
               SelectedLinkRatio: [1.7333 1.1925 1.0914 1.0417 1.0196 1.0097 1.0050 1.0020 1.0010]

Create an expectedClaims object where the first input argument is the reported development triangle and the second input argument is the paid development triangle.

earnedPremium = [17000; 18000; 10000; 19000; 16000; 10000; 11000; 10000; 14000; 10000];
ec = expectedClaims(dT_reported, dT_paid,earnedPremium)
ec = 
  expectedClaims with properties:

         ReportedTriangle: [1×1 developmentTriangle]
             PaidTriangle: [1×1 developmentTriangle]
            EarnedPremium: [10×1 double]
            InitialClaims: [10×1 double]
          CaseOutstanding: [10×1 double]
    EstimatedClaimsRatios: [10×1 double]
     SelectedClaimsRatios: [10×1 double]

Use ibnr to compute the IBNR claims.

ibnrClaims = ibnr(ec)
ibnrClaims = 10×1
103 ×

   -0.0984
   -0.0176
   -0.0399
    0.0030
    0.0204
    0.1483
    0.1753
    0.2744
    0.6423
    1.6575

Input Arguments

collapse all

Expected claims, specified as a previously created expectedClaims object.

Data Types: object

Output Arguments

collapse all

IBNR claims, returned as an array.

More About

collapse all

Version History

Introduced in R2020b