Post Analysis Treaty Editing

Overview

Post-analysis treaty editing (PATE) enables reinsurers (primary insurers and underwriters) to create new treaties or make adjustments to existing treaties based on the losses projected in analysis results.

Using PATE API calls, you can apply a portfolio-level treaty to modeled losses (an analysis or analysis group), identify shortcomings in the existing treaty, and edit that treaty without the need to rerun the analysis. PATE is available for portfolio-level Catastrophe, Corporate Catastrophe, and Stop Loss treaties.

PATE serves the needs of both primary insurers and treaty underwriters:

  • Primary insurers may use PATE to assess current reinsurance coverage and determine whether they need to buy additional coverage.
  • Treaty underwriters may use PATE to determine where they want the treaty to attach (the attachment point), exhaust (the occurrence limit), and the premium they should charge.

Step 1: Retrieve analysis results

Post-analysis treaty editing enables you to apply treaties to existing exceedance probability (EP) analysis results and to view the projected losses of the modeled treaty (that is, the PATE treaty) without the need to rerun the analysis. PATE can save you a great deal of time because you do not need to rerun analyses to see how changes to the terms of a treaty may affect the bottom line.

In Risk Modeler, every analysis result is identified by a unique analysis ID. The Get analyses call returns a list of analyses and the analysis ID for each of these analyses. Because we can only apply treaties to EP analysis results, we specify a query string to filter results based on the typeName parameter.

curl --location --request GET 'https://{host}/riskmodeler/v1/analyses?q=typeName=102'
--header 'Authorization: {api_key}'

If successful, the call returns a list of EP analyses that provides the analysisID for each analysis result.

{
  "searchTotalMatch": 318,
  "searchItems": [
    {
      "id": 101280,
      "name": "P Import",
      "runDate": "2020-04-10T13:50:49.000Z",
      "description": "North Atlantic Windstorm Analysis (V18.1)",
      "currency": "USD",
      "type": 102,
      "exposureType": 8017,
      "peril": "WS",
      "status": 102,
      "region": "NA",
      "engineVersion": "RL18.1",
      "groupType": "ANLS",
      "cedant": "HMM",
      "lob": "",
      "engineType": 100,
      "subperil": 512,
      "exposureId": 7,
      "dataSource": "",
      "jobId": 127693,
      "jobUUID": "82ffceb1-e7c2-405d-a051-c94816c113cb",
      "isGroup": false,
      "engineName": "DLM",
      "statusName": "Analyzed",
      "typeName": "Exceedance Probability",
      "subperilName": "Wind Only",
      "rdmName": "RDM 1",
      "regroup": 0,
      "currencyName": "US Dollar",
      "perilName": "Windstorm",
      "regionName": "North Atlantic (including Hawaii)",
      "lossAmplification": 7,
      "lossAmplificationName": "Bldg+Cont+BI",
      "mode": 2,
      "modeName": "Distributed",
      "insuranceType": 1,
      "insuranceTypeName": "Property",
      "vulnerabilityCurve": 0,
      "vulnerabilityCurveName": "Regular base curve"
    },
        ...
  ]
}

All PATE processes require that you have the analysisId of an EP analysis result. You must have an analysisId, if you are going to update existing PATE treaties or create new PATE treaties.

Step 2: Update PATE treaties

A PATE treaty is a modeled treaty, a treaty that has been applied to an EP analysis. Risk Modeler PATE APIs enable you to create new PATE treaties by applying a new treaty to an EP analysis result or to update existing PATE treaties.

The Get PATE treaties service enables you to request a list of the treaties applied to a specified EP analysis. You must specify the analysisId in the path of the request.

 curl --location --request GET 'https://{host}/riskmodeler/v1/analyses/101280/pate-treaties' \
--header 'Authorization: {api_key}'

The response returns the pateId of all of the treaties that have already been applied to the analysis. You can use this pateId to update the treaty based on PATE analysis.

Once you have identified the PATE treaties applied to a particular EP analysis, you can edit the terms of that PATE treaty and recalculate losses based on the updated treaty terms.

The Update PATE service enables you to make adjustments to certain terms of a specified treaty. The pateId must be specified in the endpoint. All updates to treaty terms are specified in the request body.

curl --location --request PUT 'https://{host}/riskmodeler/v1/pate-treaties/105' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer XXXXXXXXXX' \
--data-raw '{
    "pcntRetent": 100,
    "priority": 1,
    "cedant": {
        "id": "",
        "name": ""
    },
    "treatyNumber": "newName",
    "maolAmount": null,
    "attachPt": 0,
    "treatyName": "PATE_Name",
    "userId1": "",
    "riskLimit": 0,
    "userId2": "",
    "expireDate": "2021-02-18T22:38:01.471Z",
    "reinstCharge": 100,
    "pcntRiShare": 100,
    "occurLimit": 0,
    "currency": {
        "code": "USD",
        "name": ""
    },
    "isValid": true,
    "producer": null,
    "lobs": [],
    "pcntPlaced": 100,
    "numOfReinst": 1,
    "premium": 0,
    "attachBasis": {
        "code": "L",
        "name": ""
    },
    "treatyType": {
        "code": "CATA",
        "name": ""
    },
    "treatyId": null,
    "pcntCovered": 100,
    "retentAmt": null,
    "attachLevel": {
        "code": "PORT",
        "name": ""
    },
    "effectDate": "2020-02-18T22:38:01.471Z",
    "analysisId": 16,
    "operationType": "UPDATE",
    "pateId": "105"
}'

Not every treaty attribute can be updated. Use the service to update the following treaty attributes:

  • attachPt. Specifies the attachment point, the amount above any deductible at which the reinsurance layer begins to take loss. The loss level is specified in the terms of a treaty between the cedant and reinsurer.
  • effectDate. Specifies the inception date of the treaty, the day from which losses are eligible for recovery.
  • expireDate. Specifies the expiration date of the treaty, the day from which a loss-occurring contract no longer takes loss and a risks-attaching contract no longer allows risks to attach.
  • numOfReinst. Specifies the number of reinstatements, the number of times that treaty occurrence limit (occurLimit) may be restored to its full amount after an event that led to a non-zero reinsurance payout, so that the cedant has the full limit coverage for the next event occurrence. A value of 99 indicates unlimited reinstatements.
  • occurLimit. Specifies the occurrence limit, the maximum amount that a treaty will pay out for all risks combined for any event.
  • pcntRiShare. Specifies the reinstatement premium, the percentage of the premium the insured must pay to the insurer to reinstate coverage after it has been exhausted.
  • pcntCovered. Specifies the percent covered, the percentage of loss greater than the attachment point (attachPt) that is covered by the treaty.
  • pcntPlaced. Specifies the percent placed, the percentage of a treaty’s coverage that has been accepted by participating reinsurers.
  • premium. Specifies the amount that the insurer or reinsurer charges to provide the coverage described in the treaty.
  • priority. Specifies the inuring priority of the treaty, a number that indicates the order in which treaties in a portfolio take a loss. Treaties with lower priority numbers take losses before treaties with higher priority numbers.
  • retentAmt. Specifies the percent retention, the percentage of the reinsurer’s share of the treaty losses that are not covered by retrocessions. Reinsurers use the retentAmt to model portfolios. The retentAmt determines the net premium that the reinsurer receives for a treaty.
  • reinstCharge. Specifies the reinstatement premium, the amount that the insured must pay the insurer to reinstate the coverage of the treaty once it has been exhausted.
  • treatyName. Specifies a secondary name for the treaty. The primary name for the treaty, the treatyId, cannot be updated.

On success the service returns 204 No Content.

Step 3: Add treaties to analysis

Risk Modeler 2.0 enables you to create new portfolio-level treaties and apply those treaties to existing EP analysis results in a single call.

The create PATE treaty service enables you to add one or more treaties to specified analysis or analysis group. All parameters are specified in the request body.

You may add any portfolio-level catastrophe (CATA), corporate catastrophe (CORP), or stop loss treaty (STOP) to a set of analysis results.

  • A catastrophe treaty (CATA) is an agreement between a primary insurer (the cedant) and a reinsurer in which the primary insurer cedes part of its risk to the reinsurer. Unlike the per-risk treaties, the catastrophe treaties apply at the portfolio level.
  • A corporation treaty (CORP) insures a corporation against a large catastrophe that would impact more than one business unit. Corporate catastrophe treaties do not take loss until all catastrophe treaties have been applied; all catastrophe treaties insure to the benefit of a corporate catastrophe treaty.
  • A stop loss treaty (STOP) is a form of aggregate excess of loss reinsurance designed to cut off an insurer’s losses at a given point. A stop loss treaty protects a company in the case of multiple losses. Attachment points and limits are based on aggregate losses instead of on a single occurrence.
curl --location --request POST 'https://{host}/riskmodeler/v1/pate-treaties' \
--header 'Content-Type: application/json' \
--header 'Authorization: {api_key}' \
--data-raw '{
    "pcntRetent": 100,
    "priority": 1,
    "cedant": {
        "id": "",
        "name": ""
    },
    "treatyNumber": "treatyNumber",
    "maolAmount": null,
    "attachPt": 0,
    "treatyName": "PATE_Name",
    "userId1": "",
    "riskLimit": 0,
    "userId2": "",
    "expireDate": "2021-02-18T22:38:01.471Z",
    "reinstCharge": 100,
    "pcntRiShare": 100,
    "occurLimit": 1,
    "currency": {
        "code": "USD",
        "name": ""
    },
    "isValid": true,
    "producer": null,
    "lobs": [],
    "pcntPlaced": 100,
    "numOfReinst": 1,
    "premium": 0,
    "attachBasis": {
        "code": "L",
        "name": ""
    },
    "treatyType": {
        "code": "CATA",
        "name": ""
    },
    "treatyId": null,
    "pcntCovered": 100,
    "retentAmt": null,
    "attachLevel": {
        "code": "PORT",
        "name": ""
    },
    "effectDate": "2020-02-18T22:38:01.471Z",
    "analysisId": 101282,
    "operationType": "INSERT"
}'

Only the cedant attribute is required in the request body. Once the treaty has been applied to an analysis post-analysis, the cedant cannot be edited. Consequently, cedant-specific losses are included for treaties edited, added, or deleted post-analysis to a multi-cedant portfolio. If you add a treaty to an analysis, the only cedants you may specify in the PATE treaty are cedants that are already specified in corresponding analysis.

Once you have updated a PATE treaty or created a new PATE treaty by applying that treaty to an analysis result set, you can recalculate loss metrics based on the terms specified in PATE treaties applied to an analysis result.

Step 4: Reanalyze with PATE

The Analyze with PATE service recalculates the losses projected in the original analysis based on changes to the terms the applied treaties.

The required analysisId path parameter identifies the original analysis

curl --request POST \
     --url 'https://{host}/riskmodeler/v2/analyses/34/pate?groupInfoOnly=true' \
     --header 'Accept: application/json' \
     --header 'Authorization: XXXXXXXXXX' \
     --header 'Content-Type: application/json'

The updated analysis is generated based changes to the terms of PATE treaties specified in the request body.

The service accepts three optional body parameters: insert, update, and delete.

  • The insert attribute defines an array of PATE treaty adjustments that will be added to the analysis for PATE processing.
  • The update attribute specifies adjustments to the PATE treaties already applied to the analysis. Not every treaty attribute can be updated. For a list of PATE treaty terms that can be edited, see Update PATE treaty.
  • The delete attribute specifies an array adjustments to PATE treaties that are removed from the analysis for PATE processing.

❗️

If no edits are made to any of the PATE treaties applied to the original analysis, the service returns a PATE-018 error: We cannot process this job because you have not made any changes.

If successful, returns a 202 Accepted HTTP response and adds a PATE job to the workflow engine queue. The URI returned in the Location header specifies the ID for this job (e.g. {host}/v2/workflows/100000). You can use this jobId to check the status the job using the Get workflow or operation service.