Main Content

expectedClaims

Create expectedClaims object

Since R2020b

Description

Use this workflow to generate unpaid claims for an expectedClaims:

  1. Load or generate the data for the development triangle.

  2. Create a developmentTriangle object.

  3. Create an expectedClaims object.

  4. Use the ultimateClaims function to calculate the projected ultimate claims.

  5. Use the ibnr function to calculate the incurred-but-not-reported (IBNR) claims.

  6. Use the unpaidClaims function to calculate the unpaid claims.

  7. Use the summary function to generate a summary report for the expected claims analysis.

Creation

Description

ec = expectedClaims(dT_reported,dT_paid,earnedPremium) creates an expectedClaims object using the developmentTriangle objects for reported claims (dT_reported) and paid claims (dT_paid), as well as the earnedPremium.

example

ec = expectedClaims(___,Name,Value) sets properties using name-value pairs and any of the arguments in the previous syntax. For example, ec = expectedClaims(dT_reported,dT_paid,earnedPremium,'InitialClaims',initialSelectedUltimateClaims). You can specify multiple name-value arguments.

example

Input Arguments

expand all

Development triangle for reported claims, specified as a previously created developmentTriangle object.

Data Types: object

Development triangle for paid claims, specified as a previously created developmentTriangle object.

Data Types: object

Earned premium for each Origin period, specified as an array.

Data Types: double

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: ec = expectedClaims(dT_reported,dT_paid, earnedPremium,'InitialClaims',initialSelectedUltimateClaims)

Initial selected ultimate claims, specified as the comma-separated pair consisting of 'InitialClaims' and an array.

Data Types: double

Properties

expand all

Development triangle for reported claims, returned as a developmentTriangle object containing the origin years, development years, and claims.

Data Types: object

Development triangle for paid claims, returned as a developmentTriangle object containing the origin years, development years, and claims.

Data Types: object

Earned premium for each Origin period, returned as an array.

Data Types: double

Initial selected ultimate claims, returned as an array.

Data Types: double

Object Functions

ultimateClaimsCompute projected ultimate claims for expectedClaims object
ibnrCompute IBNR claims for expectedClaims object
unpaidClaimsCompute unpaid claims estimates for expectedClaims object
summaryDisplay summary report for expected claims estimates

Examples

collapse all

Create an expectedClaims object for 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: {10x1 cell}
                     Development: {10x1 cell}
                          Claims: [10x10 double]
                  LatestDiagonal: [10x1 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: {10x1 cell}
                     Development: {10x1 cell}
                          Claims: [10x10 double]
                  LatestDiagonal: [10x1 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: [1x1 developmentTriangle]
             PaidTriangle: [1x1 developmentTriangle]
            EarnedPremium: [10x1 double]
            InitialClaims: [10x1 double]
          CaseOutstanding: [10x1 double]
    EstimatedClaimsRatios: [10x1 double]
     SelectedClaimsRatios: [10x1 double]

Version History

Introduced in R2020b