From 9d15757b181e77f1328b47f859c413131c391481 Mon Sep 17 00:00:00 2001 From: "henrydingliu@gmail.com" Date: Mon, 17 Aug 2026 06:12:03 +0000 Subject: [PATCH 1/5] some ruff fixes --- docs/friedland/chapter_7_part_2.ipynb | 10182 ++---------------------- pyproject.toml | 1 + 2 files changed, 768 insertions(+), 9415 deletions(-) diff --git a/docs/friedland/chapter_7_part_2.ipynb b/docs/friedland/chapter_7_part_2.ipynb index 76cf4259..332becc6 100644 --- a/docs/friedland/chapter_7_part_2.ipynb +++ b/docs/friedland/chapter_7_part_2.ipynb @@ -2,8 +2,16 @@ "cells": [ { "cell_type": "markdown", - "id": "e74a94cb", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "f820c54c-3ed3-4448-a4fb-fd9771e61b51", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "# Chapter 7 — Part II\n", "\n", @@ -12,22 +20,28 @@ }, { "cell_type": "code", - "execution_count": 2, - "id": "f42e0344", - "metadata": {}, + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "e184941f-5789-47b2-a172-4c386551320f", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "outputs": [], "source": [ "import chainladder as cl\n", - "from IPython.display import display, HTML, Markdown\n", - "import json\n", + "from IPython.display import display, HTML\n", "import numpy as np\n", "import pandas as pd\n", + "import warnings\n", "\n", "pd.set_option(\"display.max_columns\", None)\n", "pd.set_option(\"display.width\", 1000)\n", "\n", - "import warnings\n", - "\n", "warnings.filterwarnings(\n", " \"ignore\",\n", " message=r\"Some exclusions have been ignored\\..*link ratio\\(s\\) is required.*\",\n", @@ -37,8 +51,16 @@ }, { "cell_type": "markdown", - "id": "7a9e5a4a", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "d3554dc4-ad57-4ef8-83aa-29c57b1f89ee", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "## Exhibit III — U.S. Industry P.P. Auto (Impact of Changing Conditions)\n", "\n", @@ -59,9 +81,17 @@ }, { "cell_type": "code", - "execution_count": 3, - "id": "5595108e", - "metadata": {}, + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "5824e373-e75b-4b52-bda5-c95d24f56f03", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "outputs": [], "source": [ "triangles = cl.load_sample(\"friedland_uspp\")" @@ -69,20 +99,36 @@ }, { "cell_type": "markdown", - "id": "6118594f", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "715bfc70-83be-4769-99ac-38676b6116aa", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "For the sheets depicting the claim triangles and age-to-age factors, we reuse the function `dev_exhibit` used in Part I:" ] }, { "cell_type": "code", - "execution_count": 4, - "id": "79e5ac39", - "metadata": {}, + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "96212eab-a235-475b-a265-413a51c13d26", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "outputs": [], "source": [ - "def dev_exhibit(tri: cl.Triangle, avg_params: dict[str,int], selected_avg: str, tail: float) -> dict[cl.Triangle()]:\n", + "def dev_exhibit(tri: cl.Triangle, avg_params: dict[str, int], selected_avg: str, tail: float) -> dict[cl.Triangle()]:\n", " display('')\n", " display(HTML(\"\"\"\n", "

\n", @@ -105,17 +151,17 @@ " PART 3 - Average Age-to-Age Factor\n", "

\n", " \"\"\"))\n", - " for k,v in avg_params.items():\n", + " for k, v in avg_params.items():\n", " devs[k] = cl.Development(**v).fit_transform(tri)\n", - " def print_ldfs(ldf_dict:dict[cl.Triangle()]):\n", + " def print_ldfs(ldf_dict: dict[cl.Triangle()]):\n", " with pd.option_context(\"display.float_format\", \"{:.3f}\".format):\n", - " display(pd.concat([v.to_frame().rename(index={'(All)':k}) for k,v in ldf_dict.items()]))\n", + " display(pd.concat([v.to_frame().rename(index={'(All)': k}) for k, v in ldf_dict.items()]))\n", " return None\n", - " print_ldfs({k:v.ldf_.round(decimals=3) for k,v in devs.items()})\n", - " devs[\"Selected\"] = cl.TailConstant(tail = tail, projection_period = 0).fit_transform(devs[selected_avg])\n", + " print_ldfs({k: v.ldf_.round(decimals=3) for k,v in devs.items()})\n", + " devs[\"Selected\"] = cl.TailConstant(tail=tail, projection_period=0).fit_transform(devs[selected_avg])\n", " selected = {}\n", " selected['CDF to Ultimate'] = devs[\"Selected\"].ldf_.round(decimals=3).incr_to_cum().round(decimals=3)\n", - " selected['Percent Reported'] = (1/selected['CDF to Ultimate']).round(decimals=3)\n", + " selected['Percent Reported'] = (1 / selected['CDF to Ultimate']).round(decimals=3)\n", " display(HTML(\"\"\"\n", "

\n", " PART 4 - Selected Age-to-Age Factor\n", @@ -128,17 +174,33 @@ }, { "cell_type": "markdown", - "id": "796caf1c", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "a26bcce9-b831-49c0-9fee-65e7a0017bb5", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "We also define a special formatting function `ex_sht1` in order to create Sheet 1 of Exhibit III, which has its own unique layout:" ] }, { "cell_type": "code", - "execution_count": 5, - "id": "99de7a11", - "metadata": {}, + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "2792c89a-c214-4cac-98d0-5c72f502f5aa", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "outputs": [], "source": [ "def ex3sht1(\n", @@ -161,35 +223,32 @@ " def col_mult(x, y):\n", " return x.squeeze() * y.squeeze()\n", "\n", - " title = (\"Exhibit III, Sheet 1, Summary of Earned Premium and Claim Ratio Assumptions and Actual IBNR\")\n", - " #scenario = \"Steady State\"\n", + " # scenario = \"Steady State\"\n", "\n", " dev = cl.Development(**dev_input).fit(tri)\n", " model = cl.Chainladder().fit(dev.transform(tri))\n", - " tail = cl.TailConstant(**tail_input).fit_transform(dev.transform(tri))\n", " ult = model.ultimate_\n", - " ibnr = model.ibnr_\n", - "\n", - " col1 = pd.DataFrame({\"Accident Year\" : format_col(tri.origin.astype(str))})\n", - " col2 = pd.DataFrame({\"Earned Premium\" : format_col(tri.latest_diagonal.loc[\"Steady State\", \"Earned Premium\"])})\n", - " col4 = pd.DataFrame({\"Ult. Claims\" : format_col(ult.loc[\"Steady State\", \"Reported Claims\"])})\n", - " col3 = pd.DataFrame({\"Ult. Claim Ratio\" : col_div(col4, col2)})\n", - " col5 = pd.DataFrame({\"Rep. Claims 12/31/08\" : format_col(tri.latest_diagonal.loc[\"Steady State\", \"Reported Claims\"])})\n", - " col6 = pd.DataFrame({\"Actual IBNR\" : col_diff(col4, col5)})\n", - " col8 = pd.DataFrame({\"Ult. Claims\" : format_col(ult.loc[\"Increasing Claim\", \"Reported Claims\"])})\n", - " col9 = pd.DataFrame({\"Rep. Claims 12/31/08\" : format_col(tri.latest_diagonal.loc[\"Increasing Claim\", \"Reported Claims\"])})\n", - " col7 = pd.DataFrame({\"Ult. Claim Ratio\" : col_div(col8, col2)})\n", - " col10 = pd.DataFrame({\"Actual IBNR\" : col_diff(col8, col9)})\n", - " col11 = pd.DataFrame({\"Accident Year\" : format_col(tri.origin.astype(str))})\n", - " col12 = pd.DataFrame({\"Earned Premium\" : format_col(tri.latest_diagonal.loc[\"Steady State\", \"Earned Premium\"])})\n", - " col14 = pd.DataFrame({\"Ult. Claims\" : format_col(ult.loc[\"Steady State\", \"Reported Claims\"])})\n", - " col13 = pd.DataFrame({\"Ult. Claim Ratio\" : col_div(col14, col12)})\n", - " col15 = pd.DataFrame({\"Rep. Claims 12/31/08\" : format_col(tri.latest_diagonal.loc[\"Increasing Case\", \"Reported Claims\"])})\n", - " col16 = pd.DataFrame({\"Actual IBNR\" : col_diff(col14, col15)})\n", - " col18 = pd.DataFrame({\"Ult. Claims\" : format_col(ult.loc[\"Increasing Claim\", \"Reported Claims\"])})\n", - " col17 = pd.DataFrame({\"Ult. Claim Ratio\" : col_div(col18, col12)})\n", - " col19 = pd.DataFrame({\"Rep. Claims 12/31/08\" : format_col(tri.latest_diagonal.loc[\"Increasing Claim Case\", \"Reported Claims\"])})\n", - " col20 = pd.DataFrame({\"Actual IBNR\" : col_diff(col18, col19)})\n", + "\n", + " col1 = pd.DataFrame({\"Accident Year\": format_col(tri.origin.astype(str))})\n", + " col2 = pd.DataFrame({\"Earned Premium\": format_col(tri.latest_diagonal.loc[\"Steady State\", \"Earned Premium\"])})\n", + " col4 = pd.DataFrame({\"Ult. Claims\": format_col(ult.loc[\"Steady State\", \"Reported Claims\"])})\n", + " col3 = pd.DataFrame({\"Ult. Claim Ratio\": col_div(col4, col2)})\n", + " col5 = pd.DataFrame({\"Rep. Claims 12/31/08\": format_col(tri.latest_diagonal.loc[\"Steady State\", \"Reported Claims\"])})\n", + " col6 = pd.DataFrame({\"Actual IBNR\": col_diff(col4, col5)})\n", + " col8 = pd.DataFrame({\"Ult. Claims\": format_col(ult.loc[\"Increasing Claim\", \"Reported Claims\"])})\n", + " col9 = pd.DataFrame({\"Rep. Claims 12/31/08\": format_col(tri.latest_diagonal.loc[\"Increasing Claim\", \"Reported Claims\"])})\n", + " col7 = pd.DataFrame({\"Ult. Claim Ratio\": col_div(col8, col2)})\n", + " col10 = pd.DataFrame({\"Actual IBNR\": col_diff(col8, col9)})\n", + " col11 = pd.DataFrame({\"Accident Year\": format_col(tri.origin.astype(str))})\n", + " col12 = pd.DataFrame({\"Earned Premium\": format_col(tri.latest_diagonal.loc[\"Steady State\", \"Earned Premium\"])})\n", + " col14 = pd.DataFrame({\"Ult. Claims\": format_col(ult.loc[\"Steady State\", \"Reported Claims\"])})\n", + " col13 = pd.DataFrame({\"Ult. Claim Ratio\": col_div(col14, col12)})\n", + " col15 = pd.DataFrame({\"Rep. Claims 12/31/08\": format_col(tri.latest_diagonal.loc[\"Increasing Case\", \"Reported Claims\"])})\n", + " col16 = pd.DataFrame({\"Actual IBNR\": col_diff(col14, col15)})\n", + " col18 = pd.DataFrame({\"Ult. Claims\": format_col(ult.loc[\"Increasing Claim\", \"Reported Claims\"])})\n", + " col17 = pd.DataFrame({\"Ult. Claim Ratio\": col_div(col18, col12)})\n", + " col19 = pd.DataFrame({\"Rep. Claims 12/31/08\": format_col(tri.latest_diagonal.loc[\"Increasing Claim Case\", \"Reported Claims\"])})\n", + " col20 = pd.DataFrame({\"Actual IBNR\": col_diff(col18, col19)})\n", "\n", " cols = [col1, col2, col3, col4, col5, col6]\n", " df1 = pd.concat([col1, col2], axis=1)\n", @@ -203,20 +262,20 @@ " dfs_lower = [df4, df5, df6]\n", "\n", " results_upper = pd.concat(dfs_upper, axis=1, keys=[\"\", \"Steady State\", \"Increasing Claim Ratios\"])\n", - " results_upper = results_upper.set_index((\"\", \"Accident Year\")) #since its multi-index, I needed to use the tuple to designate the index col\n", + " results_upper = results_upper.set_index((\"\", \"Accident Year\")) # since its multi-index, I needed to use the tuple to designate the index col\n", " results_upper.index.name = \"Accident Year\" \n", " results_upper.loc[\"Total\"] = results_upper.sum()\n", "\n", - " #remove the totals from the ratio columns (where totals do not make sense)\n", + " # remove the totals from the ratio columns (where totals do not make sense)\n", " results_upper.loc[\"Total\", (\"Steady State\", \"Ult. Claim Ratio\")] = np.nan\n", " results_upper.loc[\"Total\", (\"Increasing Claim Ratios\", \"Ult. Claim Ratio\")] = np.nan\n", "\n", " results_lower = pd.concat(dfs_lower, axis=1, keys=[\"\", \"Increasing Case Outstanding Strength\", \"Increasing Claim Ratios and Case Outstanding Strength\"])\n", - " results_lower = results_lower.set_index((\"\", \"Accident Year\")) #since its multi-index, I needed to use the tuple to designate the index col\n", + " results_lower = results_lower.set_index((\"\", \"Accident Year\")) # since its multi-index, I needed to use the tuple to designate the index col\n", " results_lower.index.name = \"Accident Year\" \n", " results_lower.loc[\"Total\"] = results_lower.sum()\n", "\n", - " #remove the totals from the ratio columns (where totals do not make sense)\n", + " # remove the totals from the ratio columns (where totals do not make sense)\n", " results_lower.loc[\"Total\", (\"Increasing Case Outstanding Strength\", \"Ult. Claim Ratio\")] = np.nan\n", " results_lower.loc[\"Total\", (\"Increasing Claim Ratios and Case Outstanding Strength\", \"Ult. Claim Ratio\")] = np.nan\n", "\n", @@ -285,414 +344,59 @@ }, { "cell_type": "markdown", - "id": "e64c791b", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "8af12bf1-2549-4296-afd3-16086db32dfc", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III Sheet 1: Summary of Earned Premium and Claim Ratio Assumptions and Actual IBNR" ] }, { "cell_type": "markdown", - "id": "6250f087", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "fc69fee2-99ec-4efe-b380-dfc863d37458", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "We begin by generating Exhibit III, Sheet 1:" ] }, { "cell_type": "code", - "execution_count": 6, - "id": "06a03be7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "\n", - "

\n", - " Exhibit III Sheet 1: Summary of Earned Premium and Claim Ratio Assumptions and Actual IBNR\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Steady StateIncreasing Claim Ratios
 Earned PremiumUlt. Claim RatioUlt. ClaimsRep. Claims 12/31/08Actual IBNRUlt. Claim RatioUlt. ClaimsRep. Claims 12/31/08Actual IBNR
Accident Year         
19991,000,00070.0%700,000700,000070.0%700,000700,0000
20001,050,00070.0%735,000735,000070.0%735,000735,0000
20011,102,50070.0%771,750771,750070.0%771,750771,7500
20021,157,62570.0%810,338810,338070.0%810,338810,3380
20031,215,50670.0%850,855842,3468,50970.0%850,855842,3468,509
20041,276,28270.0%893,397884,4638,93480.0%1,021,0251,010,81510,210
20051,340,09670.0%938,068919,30618,76285.0%1,139,0821,116,30022,782
20061,407,10070.0%984,970935,72249,24890.0%1,266,3911,203,07163,320
20071,477,45570.0%1,034,219930,797103,42295.0%1,403,5821,263,224140,358
20081,551,32870.0%1,085,930836,166249,764100.0%1,551,3281,194,523356,805
Total12,577,8938,804,5278,365,888438,63910,249,3519,647,367601,984
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Increasing Case Outstanding StrengthIncreasing Claim Ratios and Case Outstanding Strength
 Earned PremiumUlt. Claim RatioUlt. ClaimsRep. Claims 12/31/08Actual IBNRUlt. Claim RatioUlt. ClaimsRep. Claims 12/31/08Actual IBNR
Accident Year         
19991,000,00070.0%700,000700,000070.0%700,000700,0000
20001,050,00070.0%735,000735,000070.0%735,000735,0000
20011,102,50070.0%771,750771,750070.0%771,750771,7500
20021,157,62570.0%810,338810,338070.0%810,338810,3380
20031,215,50670.0%850,855842,3468,50970.0%850,855842,3468,509
20041,276,28270.0%893,397884,4638,93480.0%1,021,0251,010,81510,210
20051,340,09670.0%938,068933,3774,69185.0%1,139,0821,133,3865,696
20061,407,10070.0%984,970962,80822,16290.0%1,266,3911,237,89728,494
20071,477,45570.0%1,034,219979,92254,29795.0%1,403,5821,329,89573,687
20081,551,32870.0%1,085,930931,185154,745100.0%1,551,3281,330,264221,064
Total12,577,8938,804,5278,551,189253,33810,249,3519,901,691347,660
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "f5c35b35-e57d-4a98-a7ca-c0b5e482d7bd", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "dev_input = {\n", - " \"average\" : \"volume\",\n", - " \"n_periods\" : 5\n", + " \"average\": \"volume\",\n", + " \"n_periods\": 5\n", "}\n", "\n", "tail_input = {\n", - " \"tail\" : 1.0,\n", - " \"projection_period\" : -1\n", + " \"tail\": 1.0,\n", + " \"projection_period\": -1\n", "}\n", "\n", "res_up, res_low = ex3sht1(\n", @@ -704,9 +408,16 @@ }, { "cell_type": "code", - "execution_count": 7, - "id": "8f547560", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "3e3d3350-0412-4eed-b279-f12c18fd1a75", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -803,8 +514,16 @@ }, { "cell_type": "markdown", - "id": "e8023233", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "7206cf98-e77b-492b-9162-ff43b8bdd6de", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III, Sheet 2 - Sheet 2: USPP Auto Steady-State - Reported Claims\n", "\n", @@ -813,595 +532,38 @@ }, { "cell_type": "code", - "execution_count": 8, - "id": "3f94ce14", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999539,000630,000665,000686,000693,000693,000700,000700,000700,000700,000
2000565,950661,500698,250720,300727,650727,650735,000735,000735,000
2001594,248694,575733,163756,315764,033764,033771,750771,750
2002623,960729,304769,821794,131802,234802,234810,338
2003655,158765,769808,312833,837842,346842,346
2004687,916804,057848,727875,529884,463
2005722,312844,260891,164919,306
2006758,427886,473935,722
2007796,348930,797
2008836,166
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 539000.0 630000.0 665000.0 686000.0 693000.0 693000.0 700000.0 700000.0 700000.0 700000.0\n", - "2000 565950.0 661500.0 698250.0 720300.0 727650.0 727650.0 735000.0 735000.0 735000.0 NaN\n", - "2001 594248.0 694575.0 733163.0 756315.0 764033.0 764033.0 771750.0 771750.0 NaN NaN\n", - "2002 623960.0 729304.0 769821.0 794131.0 802234.0 802234.0 810338.0 NaN NaN NaN\n", - "2003 655158.0 765769.0 808312.0 833837.0 842346.0 842346.0 NaN NaN NaN NaN\n", - "2004 687916.0 804057.0 848727.0 875529.0 884463.0 NaN NaN NaN NaN NaN\n", - "2005 722312.0 844260.0 891164.0 919306.0 NaN NaN NaN NaN NaN NaN\n", - "2006 758427.0 886473.0 935722.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 796348.0 930797.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 836166.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.1691.0561.0321.0101.0001.0101.0001.0001.000
20001.1691.0561.0321.0101.0001.0101.0001.000
20011.1691.0561.0321.0101.0001.0101.000
20021.1691.0561.0321.0101.0001.010
20031.1691.0561.0321.0101.000
20041.1691.0561.0321.010
20051.1691.0561.032
20061.1691.056
20071.169
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.1691.0561.0321.0101.0001.0101.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.169 1.056 1.032 1.010 1.000 1.010 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.1691.0561.0321.0101.0001.0101.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.169 1.056 1.032 1.010 1.000 1.010 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate1.3001.1121.0531.0201.0101.0101.0001.0001.0001.000
Percent Reported0.7690.8990.9500.9800.9900.9901.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 1.300 1.112 1.053 1.020 1.010 1.010 1.000 1.000 1.000 1.000\n", - "Percent Reported 0.769 0.899 0.950 0.980 0.990 0.990 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "36ad1ed9-800c-4b93-89ce-9c5fc8953142", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " triangles.loc[\"Steady State\", \"Reported Claims\"],\n", " avg_params={\"volume_5\": {'n_periods': 5, 'average': 'volume'}},\n", - " selected_avg='volume_5',tail=1\n", + " selected_avg='volume_5', tail=1\n", " )" ] }, { "cell_type": "code", - "execution_count": 9, - "id": "81e510ee", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "07277871-a31d-4f98-ad98-3cfd80e2584f", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -1421,8 +583,16 @@ }, { "cell_type": "markdown", - "id": "582c31f3", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "9cf3d2eb-2010-4b7c-b0fb-c5c6ea118cce", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III, Sheet 3: USPP Auto Steady-State - Paid Claims\n", "\n", @@ -1431,582 +601,18 @@ }, { "cell_type": "code", - "execution_count": 10, - "id": "80dde7e9", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999294,000497,000588,000644,000672,000686,000693,000693,000700,000700,000
2000308,700521,850617,400676,200705,600720,300727,650727,650735,000
2001324,135547,943648,270710,010740,880756,315764,033764,033
2002340,342575,340680,684745,511777,924794,131802,234
2003357,359604,107714,718782,786816,820833,837
2004375,227634,312750,454821,925857,661
2005393,988666,028787,976863,022
2006413,688699,329827,375
2007434,372734,295
2008456,090
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 294000.0 497000.0 588000.0 644000.0 672000.0 686000.0 693000.0 693000.0 700000.0 700000.0\n", - "2000 308700.0 521850.0 617400.0 676200.0 705600.0 720300.0 727650.0 727650.0 735000.0 NaN\n", - "2001 324135.0 547943.0 648270.0 710010.0 740880.0 756315.0 764033.0 764033.0 NaN NaN\n", - "2002 340342.0 575340.0 680684.0 745511.0 777924.0 794131.0 802234.0 NaN NaN NaN\n", - "2003 357359.0 604107.0 714718.0 782786.0 816820.0 833837.0 NaN NaN NaN NaN\n", - "2004 375227.0 634312.0 750454.0 821925.0 857661.0 NaN NaN NaN NaN NaN\n", - "2005 393988.0 666028.0 787976.0 863022.0 NaN NaN NaN NaN NaN NaN\n", - "2006 413688.0 699329.0 827375.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 434372.0 734295.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 456090.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.6901.1831.0951.0431.0211.0101.0001.0101.000
20001.6901.1831.0951.0431.0211.0101.0001.010
20011.6901.1831.0951.0431.0211.0101.000
20021.6901.1831.0951.0431.0211.010
20031.6901.1831.0951.0431.021
20041.6901.1831.0951.043
20051.6901.1831.095
20061.6901.183
20071.690
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.6901.1831.0951.0431.0211.0101.0001.0101.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.690 1.183 1.095 1.043 1.021 1.010 1.000 1.010 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.6901.1831.0951.0431.0211.0101.0001.0101.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.690 1.183 1.095 1.043 1.021 1.010 1.000 1.010 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate2.3781.4071.1901.0861.0421.0201.0101.0101.0001.000
Percent Reported0.4210.7110.8400.9210.9600.9800.9900.9901.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 2.378 1.407 1.190 1.086 1.042 1.020 1.010 1.010 1.000 1.000\n", - "Percent Reported 0.421 0.711 0.840 0.921 0.960 0.980 0.990 0.990 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "66a5e8b5-54fc-45b3-918a-f328be3653c1", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " triangles.loc[\"Steady State\", \"Paid Claims\"],\n", @@ -2018,9 +624,16 @@ }, { "cell_type": "code", - "execution_count": 11, - "id": "025358aa", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "f6d2c85c-d302-4f81-886c-41c8436d4bb8", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -2040,8 +653,16 @@ }, { "cell_type": "markdown", - "id": "31ba3995", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "271e7723-8f39-4e2f-a6db-0e325a1f7624", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III, Sheet 4: USPP Auto Increasing Claim Ratios - Reported Claims\n", "\n", @@ -2050,582 +671,18 @@ }, { "cell_type": "code", - "execution_count": 12, - "id": "35744cce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999539,000630,000665,000686,000693,000693,000700,000700,000700,000700,000
2000565,950661,500698,250720,300727,650727,650735,000735,000735,000
2001594,248694,575733,163756,315764,033764,033771,750771,750
2002623,960729,304769,821794,131802,234802,234810,338
2003655,158765,769808,312833,837842,346842,346
2004786,189918,923969,9741,000,6051,010,815
2005877,0931,025,1731,082,1271,116,300
2006975,1211,139,7511,203,071
20071,080,7591,263,224
20081,194,523
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 539000.0 630000.0 665000.0 686000.0 693000.0 693000.0 700000.0 700000.0 700000.0 700000.0\n", - "2000 565950.0 661500.0 698250.0 720300.0 727650.0 727650.0 735000.0 735000.0 735000.0 NaN\n", - "2001 594248.0 694575.0 733163.0 756315.0 764033.0 764033.0 771750.0 771750.0 NaN NaN\n", - "2002 623960.0 729304.0 769821.0 794131.0 802234.0 802234.0 810338.0 NaN NaN NaN\n", - "2003 655158.0 765769.0 808312.0 833837.0 842346.0 842346.0 NaN NaN NaN NaN\n", - "2004 786189.0 918923.0 969974.0 1000605.0 1010815.0 NaN NaN NaN NaN NaN\n", - "2005 877093.0 1025173.0 1082127.0 1116300.0 NaN NaN NaN NaN NaN NaN\n", - "2006 975121.0 1139751.0 1203071.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 1080759.0 1263224.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 1194523.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.1691.0561.0321.0101.0001.0101.0001.0001.000
20001.1691.0561.0321.0101.0001.0101.0001.000
20011.1691.0561.0321.0101.0001.0101.000
20021.1691.0561.0321.0101.0001.010
20031.1691.0561.0321.0101.000
20041.1691.0561.0321.010
20051.1691.0561.032
20061.1691.056
20071.169
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.1691.0561.0321.0101.0001.0101.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.169 1.056 1.032 1.010 1.000 1.010 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.1691.0561.0321.0101.0001.0101.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.169 1.056 1.032 1.010 1.000 1.010 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate1.3001.1121.0531.0201.0101.0101.0001.0001.0001.000
Percent Reported0.7690.8990.9500.9800.9900.9901.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 1.300 1.112 1.053 1.020 1.010 1.010 1.000 1.000 1.000 1.000\n", - "Percent Reported 0.769 0.899 0.950 0.980 0.990 0.990 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "5d25f054-9821-4419-b20b-d8af2141fe30", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " triangles.loc[\"Increasing Claim\", \"Reported Claims\"],\n", @@ -2637,9 +694,16 @@ }, { "cell_type": "code", - "execution_count": 13, - "id": "7cc96844", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "7d67f946-b9be-4ea3-b92d-cbb5508d3a7d", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -2659,8 +723,16 @@ }, { "cell_type": "markdown", - "id": "cd087aa9", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "7ebdcaa5-3785-46d1-990f-db3b2b5ed1e9", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III, Sheet 5: USPP Auto Increasing Claim Ratios - Paid Claims\n", "\n", @@ -2669,582 +741,18 @@ }, { "cell_type": "code", - "execution_count": 14, - "id": "8d9a4359", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999294,000497,000588,000644,000672,000686,000693,000693,000700,000700,000
2000308,700521,850617,400676,200705,600720,300727,650727,650735,000
2001324,135547,943648,270710,010740,880756,315764,033764,033
2002340,342575,340680,684745,511777,924794,131802,234
2003357,359604,107714,718782,786816,820833,837
2004428,831724,928857,661939,343980,184
2005478,414808,748956,8281,047,955
2006531,884899,1371,063,768
2007589,505996,544
2008651,558
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 294000.0 497000.0 588000.0 644000.0 672000.0 686000.0 693000.0 693000.0 700000.0 700000.0\n", - "2000 308700.0 521850.0 617400.0 676200.0 705600.0 720300.0 727650.0 727650.0 735000.0 NaN\n", - "2001 324135.0 547943.0 648270.0 710010.0 740880.0 756315.0 764033.0 764033.0 NaN NaN\n", - "2002 340342.0 575340.0 680684.0 745511.0 777924.0 794131.0 802234.0 NaN NaN NaN\n", - "2003 357359.0 604107.0 714718.0 782786.0 816820.0 833837.0 NaN NaN NaN NaN\n", - "2004 428831.0 724928.0 857661.0 939343.0 980184.0 NaN NaN NaN NaN NaN\n", - "2005 478414.0 808748.0 956828.0 1047955.0 NaN NaN NaN NaN NaN NaN\n", - "2006 531884.0 899137.0 1063768.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 589505.0 996544.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 651558.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.6901.1831.0951.0431.0211.0101.0001.0101.000
20001.6901.1831.0951.0431.0211.0101.0001.010
20011.6901.1831.0951.0431.0211.0101.000
20021.6901.1831.0951.0431.0211.010
20031.6901.1831.0951.0431.021
20041.6901.1831.0951.043
20051.6901.1831.095
20061.6901.183
20071.690
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.6901.1831.0951.0431.0211.0101.0001.0101.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.690 1.183 1.095 1.043 1.021 1.010 1.000 1.010 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.6901.1831.0951.0431.0211.0101.0001.0101.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.690 1.183 1.095 1.043 1.021 1.010 1.000 1.010 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate2.3781.4071.1901.0861.0421.0201.0101.0101.0001.000
Percent Reported0.4210.7110.8400.9210.9600.9800.9900.9901.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 2.378 1.407 1.190 1.086 1.042 1.020 1.010 1.010 1.000 1.000\n", - "Percent Reported 0.421 0.711 0.840 0.921 0.960 0.980 0.990 0.990 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "fa4de35d-893c-4ed5-b69e-ee5c98ca0c1c", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " triangles.loc[\"Increasing Claim\", \"Paid Claims\"],\n", @@ -3256,9 +764,16 @@ }, { "cell_type": "code", - "execution_count": 15, - "id": "b5a6558d", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "d56700ff-bcc2-4372-bf62-5e1bb491fe41", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -3278,8 +793,16 @@ }, { "cell_type": "markdown", - "id": "c12b6661", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "a65122c5-3c39-4f2d-a15f-9f937b3c8201", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III, Sheet 6: USPP Auto Increasing Case Outstanding Strength - Reported Claims\n", "\n", @@ -3288,582 +811,18 @@ }, { "cell_type": "code", - "execution_count": 16, - "id": "0ab5bcf6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999539,000630,000665,000686,000693,000693,000700,000700,000700,000700,000
2000565,950661,500698,250720,300727,650727,650735,000735,000735,000
2001594,248694,575733,163756,315764,033764,033771,750771,750
2002623,960729,304769,821794,131802,234802,234810,338
2003655,158765,769808,312833,837842,346842,346
2004687,916804,057848,727878,745884,463
2005722,312844,260897,355933,377
2006758,427897,702962,808
2007818,067979,922
2008931,185
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 539000.0 630000.0 665000.0 686000.0 693000.0 693000.0 700000.0 700000.0 700000.0 700000.0\n", - "2000 565950.0 661500.0 698250.0 720300.0 727650.0 727650.0 735000.0 735000.0 735000.0 NaN\n", - "2001 594248.0 694575.0 733163.0 756315.0 764033.0 764033.0 771750.0 771750.0 NaN NaN\n", - "2002 623960.0 729304.0 769821.0 794131.0 802234.0 802234.0 810338.0 NaN NaN NaN\n", - "2003 655158.0 765769.0 808312.0 833837.0 842346.0 842346.0 NaN NaN NaN NaN\n", - "2004 687916.0 804057.0 848727.0 878745.0 884463.0 NaN NaN NaN NaN NaN\n", - "2005 722312.0 844260.0 897355.0 933377.0 NaN NaN NaN NaN NaN NaN\n", - "2006 758427.0 897702.0 962808.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 818067.0 979922.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 931185.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.1691.0561.0321.0101.0001.0101.0001.0001.000
20001.1691.0561.0321.0101.0001.0101.0001.000
20011.1691.0561.0321.0101.0001.0101.000
20021.1691.0561.0321.0101.0001.010
20031.1691.0561.0321.0101.000
20041.1691.0561.0351.007
20051.1691.0631.040
20061.1841.073
20071.198
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.1781.0611.0341.0091.0001.0101.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.178 1.061 1.034 1.009 1.000 1.010 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.1781.0611.0341.0091.0001.0101.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.178 1.061 1.034 1.009 1.000 1.010 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate1.3171.1181.0541.0191.0101.0101.0001.0001.0001.000
Percent Reported0.7590.8940.9490.9810.9900.9901.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 1.317 1.118 1.054 1.019 1.010 1.010 1.000 1.000 1.000 1.000\n", - "Percent Reported 0.759 0.894 0.949 0.981 0.990 0.990 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "88067e71-ac07-468e-8eec-61d01bf8b1bd", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " triangles.loc[\"Increasing Case\", \"Reported Claims\"],\n", @@ -3875,9 +834,16 @@ }, { "cell_type": "code", - "execution_count": 17, - "id": "2960fa5a", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "90a9c9fc-4390-41a5-864d-9fc00c7fb081", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -3897,8 +863,16 @@ }, { "cell_type": "markdown", - "id": "fce58cd8", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "58a99e02-d36d-4df8-8788-9d6ec6e3fdff", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III, Sheet 7: USPP Auto Increasing Case Outstanding Strength - Paid Claims\n", "\n", @@ -3907,582 +881,18 @@ }, { "cell_type": "code", - "execution_count": 18, - "id": "5a759ad5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999294,000497,000588,000644,000672,000686,000693,000693,000700,000700,000
2000308,700521,850617,400676,200705,600720,300727,650727,650735,000
2001324,135547,943648,270710,010740,880756,315764,033764,033
2002340,342575,340680,684745,511777,924794,131802,234
2003357,359604,107714,718782,786816,820833,837
2004375,227634,312750,454821,925857,661
2005393,988666,028787,976863,022
2006413,688699,329827,375
2007434,372734,295
2008456,090
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 294000.0 497000.0 588000.0 644000.0 672000.0 686000.0 693000.0 693000.0 700000.0 700000.0\n", - "2000 308700.0 521850.0 617400.0 676200.0 705600.0 720300.0 727650.0 727650.0 735000.0 NaN\n", - "2001 324135.0 547943.0 648270.0 710010.0 740880.0 756315.0 764033.0 764033.0 NaN NaN\n", - "2002 340342.0 575340.0 680684.0 745511.0 777924.0 794131.0 802234.0 NaN NaN NaN\n", - "2003 357359.0 604107.0 714718.0 782786.0 816820.0 833837.0 NaN NaN NaN NaN\n", - "2004 375227.0 634312.0 750454.0 821925.0 857661.0 NaN NaN NaN NaN NaN\n", - "2005 393988.0 666028.0 787976.0 863022.0 NaN NaN NaN NaN NaN NaN\n", - "2006 413688.0 699329.0 827375.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 434372.0 734295.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 456090.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.6901.1831.0951.0431.0211.0101.0001.0101.000
20001.6901.1831.0951.0431.0211.0101.0001.010
20011.6901.1831.0951.0431.0211.0101.000
20021.6901.1831.0951.0431.0211.010
20031.6901.1831.0951.0431.021
20041.6901.1831.0951.043
20051.6901.1831.095
20061.6901.183
20071.690
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.6901.1831.0951.0431.0211.0101.0001.0101.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.690 1.183 1.095 1.043 1.021 1.010 1.000 1.010 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.6901.1831.0951.0431.0211.0101.0001.0101.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.690 1.183 1.095 1.043 1.021 1.010 1.000 1.010 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate2.3781.4071.1901.0861.0421.0201.0101.0101.0001.000
Percent Reported0.4210.7110.8400.9210.9600.9800.9900.9901.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 2.378 1.407 1.190 1.086 1.042 1.020 1.010 1.010 1.000 1.000\n", - "Percent Reported 0.421 0.711 0.840 0.921 0.960 0.980 0.990 0.990 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "8b3f84c1-4b66-4da5-b2fe-6edd5a959810", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " triangles.loc[\"Increasing Case\", \"Paid Claims\"],\n", @@ -4494,9 +904,16 @@ }, { "cell_type": "code", - "execution_count": 19, - "id": "009fb8f3", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "ef036921-3daf-4836-b590-287521dec659", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -4516,8 +933,16 @@ }, { "cell_type": "markdown", - "id": "dcd4322b", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "67606cd8-b4fc-42b3-ae3b-82e0dff9512b", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III, Sheet 8: USPP Auto Increasing Claim Ratios and Increasing Case Outstanding Strength - Reported Claims\n", "\n", @@ -4526,582 +951,18 @@ }, { "cell_type": "code", - "execution_count": 20, - "id": "ec0b53a5", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999539,000630,000665,000686,000693,000693,000700,000700,000700,000700,000
2000565,950661,500698,250720,300727,650727,650735,000735,000735,000
2001594,248694,575733,163756,315764,033764,033771,750771,750
2002623,960729,304769,821794,131802,234802,234810,338
2003655,158765,769808,312833,837842,346842,346
2004786,189918,923969,9741,004,2801,010,815
2005877,0931,025,1731,089,6451,133,386
2006975,1211,154,1881,237,897
20071,110,2341,329,895
20081,330,264
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 539000.0 630000.0 665000.0 686000.0 693000.0 693000.0 700000.0 700000.0 700000.0 700000.0\n", - "2000 565950.0 661500.0 698250.0 720300.0 727650.0 727650.0 735000.0 735000.0 735000.0 NaN\n", - "2001 594248.0 694575.0 733163.0 756315.0 764033.0 764033.0 771750.0 771750.0 NaN NaN\n", - "2002 623960.0 729304.0 769821.0 794131.0 802234.0 802234.0 810338.0 NaN NaN NaN\n", - "2003 655158.0 765769.0 808312.0 833837.0 842346.0 842346.0 NaN NaN NaN NaN\n", - "2004 786189.0 918923.0 969974.0 1004280.0 1010815.0 NaN NaN NaN NaN NaN\n", - "2005 877093.0 1025173.0 1089645.0 1133386.0 NaN NaN NaN NaN NaN NaN\n", - "2006 975121.0 1154188.0 1237897.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 1110234.0 1329895.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 1330264.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.1691.0561.0321.0101.0001.0101.0001.0001.000
20001.1691.0561.0321.0101.0001.0101.0001.000
20011.1691.0561.0321.0101.0001.0101.000
20021.1691.0561.0321.0101.0001.010
20031.1691.0561.0321.0101.000
20041.1691.0561.0351.007
20051.1691.0631.040
20061.1841.073
20071.198
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.1791.0611.0351.0091.0001.0101.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.179 1.061 1.035 1.009 1.000 1.010 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.1791.0611.0351.0091.0001.0101.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.179 1.061 1.035 1.009 1.000 1.010 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate1.3191.1191.0551.0191.0101.0101.0001.0001.0001.000
Percent Reported0.7580.8940.9480.9810.9900.9901.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 1.319 1.119 1.055 1.019 1.010 1.010 1.000 1.000 1.000 1.000\n", - "Percent Reported 0.758 0.894 0.948 0.981 0.990 0.990 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "44b6d0b2-9d4a-44ba-91a4-24773aabaf95", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " triangles.loc[\"Increasing Claim Case\", \"Reported Claims\"],\n", @@ -5113,9 +974,16 @@ }, { "cell_type": "code", - "execution_count": 21, - "id": "715e4a58", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "8c10e053-a35d-4de3-8043-cae3adf55a73", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -5135,8 +1003,16 @@ }, { "cell_type": "markdown", - "id": "9a085c93", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "42044945-804a-4b55-b126-f49fde4bd939", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III, Sheet 9: USPP Auto Increasing Claim Ratios and Increasing Case Outstanding Strength - Paid Claims\n", "\n", @@ -5145,582 +1021,18 @@ }, { "cell_type": "code", - "execution_count": 22, - "id": "16a0f5fd", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999294,000497,000588,000644,000672,000686,000693,000693,000700,000700,000
2000308,700521,850617,400676,200705,600720,300727,650727,650735,000
2001324,135547,943648,270710,010740,880756,315764,033764,033
2002340,342575,340680,684745,511777,924794,131802,234
2003357,359604,107714,718782,786816,820833,837
2004428,831724,928857,661939,343980,184
2005478,414808,748956,8281,047,955
2006531,884899,1371,063,768
2007589,505996,544
2008651,558
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 294000.0 497000.0 588000.0 644000.0 672000.0 686000.0 693000.0 693000.0 700000.0 700000.0\n", - "2000 308700.0 521850.0 617400.0 676200.0 705600.0 720300.0 727650.0 727650.0 735000.0 NaN\n", - "2001 324135.0 547943.0 648270.0 710010.0 740880.0 756315.0 764033.0 764033.0 NaN NaN\n", - "2002 340342.0 575340.0 680684.0 745511.0 777924.0 794131.0 802234.0 NaN NaN NaN\n", - "2003 357359.0 604107.0 714718.0 782786.0 816820.0 833837.0 NaN NaN NaN NaN\n", - "2004 428831.0 724928.0 857661.0 939343.0 980184.0 NaN NaN NaN NaN NaN\n", - "2005 478414.0 808748.0 956828.0 1047955.0 NaN NaN NaN NaN NaN NaN\n", - "2006 531884.0 899137.0 1063768.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 589505.0 996544.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 651558.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.6901.1831.0951.0431.0211.0101.0001.0101.000
20001.6901.1831.0951.0431.0211.0101.0001.010
20011.6901.1831.0951.0431.0211.0101.000
20021.6901.1831.0951.0431.0211.010
20031.6901.1831.0951.0431.021
20041.6901.1831.0951.043
20051.6901.1831.095
20061.6901.183
20071.690
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.6901.1831.0951.0431.0211.0101.0001.0101.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.690 1.183 1.095 1.043 1.021 1.010 1.000 1.010 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.6901.1831.0951.0431.0211.0101.0001.0101.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.690 1.183 1.095 1.043 1.021 1.010 1.000 1.010 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate2.3781.4071.1901.0861.0421.0201.0101.0101.0001.000
Percent Reported0.4210.7110.8400.9210.9600.9800.9900.9901.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 2.378 1.407 1.190 1.086 1.042 1.020 1.010 1.010 1.000 1.000\n", - "Percent Reported 0.421 0.711 0.840 0.921 0.960 0.980 0.990 0.990 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "6c971741-8101-4f39-879a-cec55ad7669b", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " triangles.loc[\"Increasing Claim Case\", \"Paid Claims\"],\n", @@ -5732,9 +1044,16 @@ }, { "cell_type": "code", - "execution_count": 23, - "id": "2fffd889", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "9168098c-511d-4121-b911-b4e369169e61", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -5754,8 +1073,16 @@ }, { "cell_type": "markdown", - "id": "4a34afcd", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "6ed96687-ffb9-447d-b86c-69785e447461", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit III, Sheets 10 and 11: USPP Auto Development of Unpaid Claim Estimate\n", "\n", @@ -5764,9 +1091,16 @@ }, { "cell_type": "code", - "execution_count": 24, - "id": "191822b3", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "d700523c-6c64-42df-9762-0e74600532f1", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -5789,13 +1123,13 @@ " tri = tr.copy()\n", "\n", " dev_input = {\n", - " \"average\" : \"volume\",\n", - " \"n_periods\" : 5\n", + " \"average\": \"volume\",\n", + " \"n_periods\": 5\n", " }\n", "\n", " tail_input = {\n", - " \"tail\" : 1.0,\n", - " \"projection_period\" : -1\n", + " \"tail\": 1.0,\n", + " \"projection_period\": -1\n", " }\n", "\n", " dev = cl.Development(**dev_input)\n", @@ -5812,64 +1146,64 @@ " ult = format_col(tri.loc[actual_scenario][\"Reported Claims\"].latest_diagonal)\n", " \n", " col1 = pd.DataFrame({\n", - " \"Accident Year\" : format_col(tr.origin)\n", + " \"Accident Year\": format_col(tr.origin)\n", " })\n", "\n", " col2 = pd.DataFrame({\n", - " \"Age of Accident Year at 12/31/08\" : format_col(tr.development, reverse=True)\n", + " \"Age of Accident Year at 12/31/08\": format_col(tr.development, reverse=True)\n", "\n", " })\n", "\n", " col3 = pd.DataFrame({\n", - " \"Claims at 12/31/2008 - Reported\" : format_col(tri.loc[scenario][\"Reported Claims\"].latest_diagonal)\n", + " \"Claims at 12/31/2008 - Reported\": format_col(tri.loc[scenario][\"Reported Claims\"].latest_diagonal)\n", "\n", " })\n", "\n", " col4 = pd.DataFrame({\n", - " \"Claims at 12/31/2008 - Paid\" : format_col(tri.loc[scenario][\"Paid Claims\"].latest_diagonal)\n", + " \"Claims at 12/31/2008 - Paid\": format_col(tri.loc[scenario][\"Paid Claims\"].latest_diagonal)\n", "\n", " })\n", "\n", " col5 = pd.DataFrame({\n", - " \"Case Outstanding\" : col_diff(col3, col4)\n", + " \"Case Outstanding\": col_diff(col3, col4)\n", "\n", " })\n", "\n", " col6 = pd.DataFrame({\n", - " \"CDF to Ult. - Reported\" : format_col(tri.cdf_.loc[scenario][\"Reported Claims\"], reverse=True)\n", + " \"CDF to Ult. - Reported\": format_col(tri.cdf_.loc[scenario][\"Reported Claims\"], reverse=True)\n", "\n", " })\n", "\n", " col7 = pd.DataFrame({\n", - " \"CDF to Ult. - Paid\" : format_col(tri.cdf_.loc[scenario][\"Paid Claims\"], reverse=True)\n", + " \"CDF to Ult. - Paid\": format_col(tri.cdf_.loc[scenario][\"Paid Claims\"], reverse=True)\n", " })\n", "\n", " col8 = pd.DataFrame({\n", - " \"Projected Ult. Claims Using Dev. Method - Reported\" : col_mult(col3, col6)\n", + " \"Projected Ult. Claims Using Dev. Method - Reported\": col_mult(col3, col6)\n", " })\n", "\n", " col9 = pd.DataFrame({\n", - " \"Projected Ult. Claims Using Dev. Method - Paid\" : col_mult(col4, col7)\n", + " \"Projected Ult. Claims Using Dev. Method - Paid\": col_mult(col4, col7)\n", " })\n", "\n", " col10 = pd.DataFrame({\n", - " \"Estimated IBNR Using Dev. Method - Reported\" : col_diff(col8, col3)\n", + " \"Estimated IBNR Using Dev. Method - Reported\": col_diff(col8, col3)\n", " })\n", "\n", " col11 = pd.DataFrame({\n", - " \"Estimated IBNR Using Dev. Method - Paid\" : col_diff(col9, col3)\n", + " \"Estimated IBNR Using Dev. Method - Paid\": col_diff(col9, col3)\n", " })\n", "\n", " col12 = pd.DataFrame({\n", - " \"Actual IBNR\" : col_diff(col_mult(ult, cdf), col3)\n", + " \"Actual IBNR\": col_diff(col_mult(ult, cdf), col3)\n", " })\n", "\n", " col13 = pd.DataFrame({\n", - " \"Difference from Actual IBNR - Reported\" : col_diff(col12, col10)\n", + " \"Difference from Actual IBNR - Reported\": col_diff(col12, col10)\n", " })\n", "\n", " col14 = pd.DataFrame({\n", - " \"Difference from Actual IBNR - Paid\" : col_diff(col12, col11)\n", + " \"Difference from Actual IBNR - Paid\": col_diff(col12, col11)\n", " })\n", "\n", "\n", @@ -5927,975 +1261,34 @@ }, { "cell_type": "markdown", - "id": "71ab9a93", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "0140972d-5728-4f27-a5b0-49b02170928e", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "We then generate Sheets 10 and 11 which illustrate the differences between the actual IBNR and the IBNR obtained through the development method for each scenario (pp. 123-124)." ] }, { "cell_type": "code", - "execution_count": 25, - "id": "e0f134ea", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

Exhibit III Sheets 10 and 11 — Steady State

" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Age of Accident Year at 12/31/08Claims at 12/31/2008 - ReportedClaims at 12/31/2008 - PaidCase OutstandingCDF to Ult. - ReportedCDF to Ult. - PaidProjected Ult. Claims Using Dev. Method - ReportedProjected Ult. Claims Using Dev. Method - PaidEstimated IBNR Using Dev. Method - ReportedEstimated IBNR Using Dev. Method - PaidActual IBNRDifference from Actual IBNR - ReportedDifference from Actual IBNR - Paid
Accident Year             
1999120700,000700,00001.0001.000700,000700,00000000
2000108735,000735,00001.0001.000735,000735,00000000
200196771,750764,0337,7171.0001.010771,750771,7510100-1
200284810,338802,2348,1041.0001.010810,338810,3370-1001
200372842,346833,8378,5091.0101.020850,855850,8548,5098,5088,50900
200460884,463857,66126,8021.0101.042893,397893,3978,9348,9348,93400
200548919,306863,02256,2841.0201.087938,068938,06718,76218,76118,76200
200636935,722827,375108,3471.0531.190984,970984,97049,24849,24849,24800
200724930,797734,295196,5021.1111.4081,034,2191,034,218103,422103,421103,42201
200812836,166456,090380,0761.2992.3811,085,9301,085,928249,764249,762249,76402
Total8,365,8887,573,547792,3418,804,5278,804,522438,639438,634438,63905
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "

Exhibit III Sheets 10 and 11 — Increasing Claim

" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Age of Accident Year at 12/31/08Claims at 12/31/2008 - ReportedClaims at 12/31/2008 - PaidCase OutstandingCDF to Ult. - ReportedCDF to Ult. - PaidProjected Ult. Claims Using Dev. Method - ReportedProjected Ult. Claims Using Dev. Method - PaidEstimated IBNR Using Dev. Method - ReportedEstimated IBNR Using Dev. Method - PaidActual IBNRDifference from Actual IBNR - ReportedDifference from Actual IBNR - Paid
Accident Year             
1999120700,000700,00001.0001.000700,000700,00000000
2000108735,000735,00001.0001.000735,000735,00000000
200196771,750764,0337,7171.0001.010771,750771,7510100-1
200284810,338802,2348,1041.0001.010810,338810,3370-1001
200372842,346833,8378,5091.0101.020850,855850,8548,5098,5088,50900
2004601,010,815980,18430,6311.0101.0421,021,0251,021,02510,21010,21010,21000
2005481,116,3001,047,95568,3451.0201.0871,139,0821,139,08122,78222,78122,78200
2006361,203,0711,063,768139,3031.0531.1901,266,3911,266,39063,32063,31963,32000
2007241,263,224996,544266,6801.1111.4081,403,5821,403,583140,358140,359140,3580-0
2008121,194,523651,558542,9651.2992.3811,551,3281,551,328356,805356,805356,80500
Total9,647,3678,575,1131,072,25410,249,35110,249,350601,984601,983601,98401
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "

Exhibit III Sheets 10 and 11 — Increasing Case

" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Age of Accident Year at 12/31/08Claims at 12/31/2008 - ReportedClaims at 12/31/2008 - PaidCase OutstandingCDF to Ult. - ReportedCDF to Ult. - PaidProjected Ult. Claims Using Dev. Method - ReportedProjected Ult. Claims Using Dev. Method - PaidEstimated IBNR Using Dev. Method - ReportedEstimated IBNR Using Dev. Method - PaidActual IBNRDifference from Actual IBNR - ReportedDifference from Actual IBNR - Paid
Accident Year             
1999120700,000700,00001.0001.000700,000700,00000000
2000108735,000735,00001.0001.000735,000735,00000000
200196771,750764,0337,7171.0001.010771,750771,7510100-1
200284810,338802,2348,1041.0001.010810,338810,3370-1001
200372842,346833,8378,5091.0101.020850,855850,8548,5098,5088,50900
200460884,463857,66126,8021.0101.042893,397893,3978,9348,9348,93400
200548933,377863,02270,3551.0201.087951,657938,06718,2804,6904,691-13,5890
200636962,808827,375135,4331.0551.1901,015,301984,97052,49322,16222,162-30,3310
200724979,922734,295245,6271.1191.4081,096,2351,034,218116,31354,29654,297-62,0161
200812931,185456,090475,0951.3182.3811,227,5891,085,928296,404154,743154,745-141,6592
Total8,551,1897,573,547977,6429,052,1218,804,522500,932253,333253,338-247,5955
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "

Exhibit III Sheets 10 and 11 — Increasing Claim Case

" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Age of Accident Year at 12/31/08Claims at 12/31/2008 - ReportedClaims at 12/31/2008 - PaidCase OutstandingCDF to Ult. - ReportedCDF to Ult. - PaidProjected Ult. Claims Using Dev. Method - ReportedProjected Ult. Claims Using Dev. Method - PaidEstimated IBNR Using Dev. Method - ReportedEstimated IBNR Using Dev. Method - PaidActual IBNRDifference from Actual IBNR - ReportedDifference from Actual IBNR - Paid
Accident Year             
1999120700,000700,00001.0001.000700,000700,00000000
2000108735,000735,00001.0001.000735,000735,00000000
200196771,750764,0337,7171.0001.010771,750771,7510100-1
200284810,338802,2348,1041.0001.010810,338810,3370-1001
200372842,346833,8378,5091.0101.020850,855850,8548,5098,5088,50900
2004601,010,815980,18430,6311.0101.0421,021,0251,021,02510,21010,21010,21000
2005481,133,3861,047,95585,4311.0191.0871,155,4821,139,08122,0965,6955,696-16,4000
2006361,237,8971,063,768174,1291.0551.1901,305,6391,266,39067,74228,49328,494-39,2490
2007241,329,895996,544333,3511.1201.4081,488,8751,403,583158,98073,68873,687-85,293-0
2008121,330,264651,558678,7061.3202.3811,756,5041,551,328426,240221,064221,064-205,1760
Total9,901,6918,575,1131,326,57810,595,46910,249,350693,778347,659347,660-346,1181
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "7f13b84a-322c-42d4-b6a6-567bdd06da4a", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "res_1 = Ex3Sht10(\"Steady State\", triangles)\n", "\n", @@ -6908,9 +1301,16 @@ }, { "cell_type": "code", - "execution_count": 26, - "id": "21931acb", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "845faa63-6b86-4318-9b23-97241563bf2e", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -7011,8 +1411,16 @@ }, { "cell_type": "markdown", - "id": "82fddb5f", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "125675a9-6c58-4e6a-a6b3-0cd6c166b10f", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "## Exhibit IV — Impact of Changing Product Mix Example\n", "\n", @@ -7025,9 +1433,17 @@ }, { "cell_type": "code", - "execution_count": 27, - "id": "8d88d02f", - "metadata": {}, + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "d16123af-4e67-45ed-a337-4d02e6970cfa", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "outputs": [], "source": [ "data = cl.load_sample(\"friedland_us_auto\")\n", @@ -7036,8 +1452,16 @@ }, { "cell_type": "markdown", - "id": "f1f909dd", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "3c0648e2-245f-4048-ba39-9893be8503d3", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit IV, Sheet 1 - Summary of Assumptions - Earned Premiums and Claim Ratios\n", "\n", @@ -7046,9 +1470,17 @@ }, { "cell_type": "code", - "execution_count": 28, - "id": "3db66603", - "metadata": {}, + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "cd5c2f80-0397-4717-83d2-08d3941d1c48", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "outputs": [], "source": [ "def Ex4Sht1(scenario, tri):\n", @@ -7073,13 +1505,13 @@ " tri = tri.copy()\n", "\n", " dev_input = {\n", - " \"average\" : \"volume\",\n", - " \"n_periods\" : 5\n", + " \"average\": \"volume\",\n", + " \"n_periods\": 5\n", " }\n", "\n", " tail_input = {\n", - " \"tail\" : 1.0,\n", - " \"projection_period\" : -1\n", + " \"tail\": 1.0,\n", + " \"projection_period\": -1\n", " }\n", "\n", " dev = cl.Development(**dev_input)\n", @@ -7087,54 +1519,54 @@ " tri = tail.fit_transform(dev.fit_transform(tri))\n", "\n", " col1 = pd.DataFrame({\n", - " \"Accident Year\" : format_col(tri.origin)\n", + " \"Accident Year\": format_col(tri.origin)\n", " })\n", "\n", " col2 = pd.DataFrame({\n", - " \"Priv Pass Auto\" : format_col(tri.loc[\"Steady State\"][\"Earned Premium\"].latest_diagonal / 2)\n", + " \"Priv Pass Auto\": format_col(tri.loc[\"Steady State\"][\"Earned Premium\"].latest_diagonal / 2)\n", " })\n", "\n", " col3 = pd.DataFrame({\n", - " \"Comm Auto\" : col_diff(\n", + " \"Comm Auto\": col_diff(\n", " format_col(tri.loc[scenario][\"Earned Premium\"].latest_diagonal),\n", " col2\n", " )\n", " })\n", "\n", " col4 = pd.DataFrame({\n", - " \"Total\" : format_col(tri.loc[scenario][\"Earned Premium\"].latest_diagonal)\n", + " \"Total\": format_col(tri.loc[scenario][\"Earned Premium\"].latest_diagonal)\n", " })\n", "\n", " col5 = pd.DataFrame({\n", - " \"Priv Pass Auto (%)\" : pd.Series([0.7] * 10) \n", + " \"Priv Pass Auto (%)\": pd.Series([0.7] * 10) \n", " })\n", "\n", " col6 = pd.DataFrame({\n", - " \"Comm Auto (%)\" : pd.Series([0.8] * 10) \n", + " \"Comm Auto (%)\": pd.Series([0.8] * 10) \n", " })\n", "\n", " col8 = pd.DataFrame({\n", - " \"Priv Pass Auto\" : col_mult(col2, col5) \n", + " \"Priv Pass Auto\": col_mult(col2, col5) \n", " })\n", "\n", " col9 = pd.DataFrame({\n", - " \"Comm Auto\" : col_mult(col3, col6) \n", + " \"Comm Auto\": col_mult(col3, col6) \n", " })\n", "\n", " col10 = pd.DataFrame({\n", - " \"Comm Auto\" : col_add(col8, col9) \n", + " \"Comm Auto\": col_add(col8, col9) \n", " })\n", "\n", " col7 = pd.DataFrame({\n", - " \"Total (%)\" : col_div(col10, col4) \n", + " \"Total (%)\": col_div(col10, col4) \n", " })\n", "\n", " col11 = pd.DataFrame({\n", - " \"Reported Claims as at 12/31/2008\" : format_col(tri.loc[scenario][\"Reported Claims\"].latest_diagonal) \n", + " \"Reported Claims as at 12/31/2008\": format_col(tri.loc[scenario][\"Reported Claims\"].latest_diagonal) \n", " })\n", "\n", " col12 = pd.DataFrame({\n", - " \"Actual IBNR\" : col_diff(col10, col11) \n", + " \"Actual IBNR\": col_diff(col10, col11) \n", " })\n", "\n", "\n", @@ -7147,8 +1579,8 @@ " \"Priv Pass Auto\": \"{:,.0f}\",\n", " \"Comm Auto\": \"{:,.0f}\",\n", " \"Total\": \"{:,.0f}\",\n", - " \"Reported Claims as at 12/31/2008\" : \"{:,.0f}\",\n", - " \"Actual IBNR\" : \"{:,.0f}\",\n", + " \"Reported Claims as at 12/31/2008\": \"{:,.0f}\",\n", + " \"Actual IBNR\": \"{:,.0f}\",\n", "\n", " # Percentages\n", " \"Priv Pass Auto (%)\": \"{:.1%}\",\n", @@ -7191,453 +1623,34 @@ }, { "cell_type": "markdown", - "id": "46324359", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "917f0d11-563f-416c-a838-59b5e577fe54", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "Having defined the function, we generate Sheet 1, which contains the development of losses under the Steady State and Changing Product Mix scenarios (p. 125):" ] }, { "cell_type": "code", - "execution_count": 29, - "id": "346c3742", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

Exhibit IV, Sheet 1 — Steady State

" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Priv Pass AutoComm AutoTotalPriv Pass Auto (%)Comm Auto (%)Total (%)Priv Pass AutoComm AutoComm AutoReported Claims as at 12/31/2008Actual IBNR
Accident Year           
19991,000,0001,000,0002,000,00070.0%80.0%75.0%700,000800,0001,500,0001,500,0000
20001,050,0001,050,0002,100,00070.0%80.0%75.0%735,000840,0001,575,0001,575,0000
20011,102,5001,102,5002,205,00070.0%80.0%75.0%771,750882,0001,653,7501,653,7500
20021,157,6251,157,6252,315,25070.0%80.0%75.0%810,338926,1001,736,4381,736,438-0
20031,215,5061,215,5062,431,01370.0%80.0%75.0%850,855972,4051,823,2601,814,7518,509
20041,276,2821,276,2822,552,56370.0%80.0%75.0%893,3971,021,0251,914,4221,885,06829,354
20051,340,0961,340,0962,680,19170.0%80.0%75.0%938,0671,072,0762,010,1431,948,49961,644
20061,407,1001,407,1002,814,20170.0%80.0%75.0%984,9701,125,6802,110,6511,937,577173,074
20071,477,4561,477,4562,954,91170.0%80.0%75.0%1,034,2191,181,9642,216,1831,852,729363,454
20081,551,3281,551,3283,102,65670.0%80.0%75.0%1,085,9301,241,0622,326,9921,568,393758,599
Total12,577,89212,577,89225,155,7858,804,52510,062,31418,866,83917,472,2051,394,634
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "

Exhibit IV, Sheet 1 — Changing Product Mix

" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Priv Pass AutoComm AutoTotalPriv Pass Auto (%)Comm Auto (%)Total (%)Priv Pass AutoComm AutoComm AutoReported Claims as at 12/31/2008Actual IBNR
Accident Year           
19991,000,0001,000,0002,000,00070.0%80.0%75.0%700,000800,0001,500,0001,500,0000
20001,050,0001,050,0002,100,00070.0%80.0%75.0%735,000840,0001,575,0001,575,0000
20011,102,5001,102,5002,205,00070.0%80.0%75.0%771,750882,0001,653,7501,653,7500
20021,157,6251,157,6252,315,25070.0%80.0%75.0%810,338926,1001,736,4381,736,438-0
20031,215,5061,215,5062,431,01370.0%80.0%75.0%850,855972,4051,823,2601,814,7518,509
20041,276,2821,276,2822,552,56370.0%80.0%75.0%893,3971,021,0251,914,4221,885,06829,354
20051,340,0961,659,1662,999,26270.0%80.0%75.5%938,0671,327,3332,265,4002,193,54571,855
20061,407,1002,156,9163,564,01670.0%80.0%76.1%984,9701,725,5322,710,5032,471,446239,057
20071,477,4562,803,9904,281,44670.0%80.0%76.5%1,034,2192,243,1923,277,4112,680,487596,924
20081,551,3283,645,1885,196,51670.0%80.0%77.0%1,085,9302,916,1504,002,0802,556,6951,445,385
Total12,577,89217,067,17429,645,0668,804,52513,653,73922,458,26420,067,1802,391,084
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "1e33c4ee-d8e2-4fca-b39b-b3e50720fcd2", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "res_1 = Ex4Sht1(\"Steady State\", data)\n", "\n", @@ -7646,9 +1659,16 @@ }, { "cell_type": "code", - "execution_count": 30, - "id": "c6744884", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "dc7ba90a-562c-4d9a-a052-5eed729c549f", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -7694,8 +1714,16 @@ }, { "cell_type": "markdown", - "id": "fdbc301f", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "fb9e8df4-d253-46f3-a2e9-1e59ff9f22b2", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit IV, Sheet 2 - U.S. Auto Steady-State - Reported Claims\n", "\n", @@ -7704,582 +1732,18 @@ }, { "cell_type": "code", - "execution_count": 31, - "id": "8a7c6e5d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
19991,011,0001,254,0001,377,0001,454,0001,477,0001,493,0001,500,0001,500,0001,500,0001,500,000
20001,061,5501,316,7001,445,8501,526,7001,550,8501,567,6501,575,0001,575,0001,575,000
20011,114,6281,382,5351,518,1431,603,0351,628,3931,646,0331,653,7501,653,750
20021,170,3591,451,6621,594,0501,683,1871,709,8121,728,3341,736,438
20031,228,8771,524,2451,673,7521,767,3461,795,3031,814,751
20041,290,3211,600,4571,757,4401,855,7131,885,068
20051,354,8371,680,4801,845,3121,948,499
20061,422,5791,764,5041,937,577
20071,493,7071,852,729
20081,568,393
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 1011000.0 1254000.0 1377000.0 1454000.0 1477000.0 1493000.0 1500000.0 1500000.0 1500000.0 1500000.0\n", - "2000 1061550.0 1316700.0 1445850.0 1526700.0 1550850.0 1567650.0 1575000.0 1575000.0 1575000.0 NaN\n", - "2001 1114628.0 1382535.0 1518143.0 1603035.0 1628393.0 1646033.0 1653750.0 1653750.0 NaN NaN\n", - "2002 1170359.0 1451662.0 1594050.0 1683187.0 1709812.0 1728334.0 1736438.0 NaN NaN NaN\n", - "2003 1228877.0 1524245.0 1673752.0 1767346.0 1795303.0 1814751.0 NaN NaN NaN NaN\n", - "2004 1290321.0 1600457.0 1757440.0 1855713.0 1885068.0 NaN NaN NaN NaN NaN\n", - "2005 1354837.0 1680480.0 1845312.0 1948499.0 NaN NaN NaN NaN NaN NaN\n", - "2006 1422579.0 1764504.0 1937577.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 1493707.0 1852729.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 1568393.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.2401.0981.0561.0161.0111.0051.0001.0001.000
20001.2401.0981.0561.0161.0111.0051.0001.000
20011.2401.0981.0561.0161.0111.0051.000
20021.2401.0981.0561.0161.0111.005
20031.2401.0981.0561.0161.011
20041.2401.0981.0561.016
20051.2401.0981.056
20061.2401.098
20071.240
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.2401.0981.0561.0161.0111.0051.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.240 1.098 1.056 1.016 1.011 1.005 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.2401.0981.0561.0161.0111.0051.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.240 1.098 1.056 1.016 1.011 1.005 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate1.4841.1971.0901.0321.0161.0051.0001.0001.0001.000
Percent Reported0.6740.8350.9170.9690.9840.9951.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 1.484 1.197 1.090 1.032 1.016 1.005 1.000 1.000 1.000 1.000\n", - "Percent Reported 0.674 0.835 0.917 0.969 0.984 0.995 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "75c61ab1-6532-4777-bac7-45c09617f165", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " data.loc[\"Steady State\", \"Reported Claims\"],\n", @@ -8291,9 +1755,16 @@ }, { "cell_type": "code", - "execution_count": 32, - "id": "2833183d", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "55c545db-cb24-43dd-a4e0-ac5fed36c99d", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -8313,8 +1784,16 @@ }, { "cell_type": "markdown", - "id": "a58d9059", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "b93ce1ee-6425-4134-a8b8-fee3e92f8034", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit IV, Sheet 3 - U.S. Auto Steady-State - Paid Claims\n", "\n", @@ -8323,582 +1802,18 @@ }, { "cell_type": "code", - "execution_count": 33, - "id": "8c9306e2", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999470,000865,0001,124,0001,300,0001,400,0001,446,0001,469,0001,477,0001,492,0001,500,000
2000493,500908,2501,180,2001,365,0001,470,0001,518,3001,542,4501,550,8501,566,600
2001518,175953,6631,239,2101,433,2501,543,5001,594,2151,619,5731,628,393
2002544,0841,001,3461,301,1711,504,9131,620,6751,673,9261,700,551
2003571,2881,051,4131,366,2291,580,1581,701,7091,757,622
2004599,8521,103,9841,434,5401,659,1661,786,794
2005629,8451,159,1831,506,2681,742,124
2006661,3371,217,1421,581,581
2007694,4041,277,999
2008729,124
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 470000.0 865000.0 1124000.0 1300000.0 1400000.0 1446000.0 1469000.0 1477000.0 1492000.0 1500000.0\n", - "2000 493500.0 908250.0 1180200.0 1365000.0 1470000.0 1518300.0 1542450.0 1550850.0 1566600.0 NaN\n", - "2001 518175.0 953663.0 1239210.0 1433250.0 1543500.0 1594215.0 1619573.0 1628393.0 NaN NaN\n", - "2002 544084.0 1001346.0 1301171.0 1504913.0 1620675.0 1673926.0 1700551.0 NaN NaN NaN\n", - "2003 571288.0 1051413.0 1366229.0 1580158.0 1701709.0 1757622.0 NaN NaN NaN NaN\n", - "2004 599852.0 1103984.0 1434540.0 1659166.0 1786794.0 NaN NaN NaN NaN NaN\n", - "2005 629845.0 1159183.0 1506268.0 1742124.0 NaN NaN NaN NaN NaN NaN\n", - "2006 661337.0 1217142.0 1581581.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 694404.0 1277999.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 729124.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.8401.2991.1571.0771.0331.0161.0051.0101.005
20001.8401.2991.1571.0771.0331.0161.0051.010
20011.8401.2991.1571.0771.0331.0161.005
20021.8401.2991.1571.0771.0331.016
20031.8401.2991.1571.0771.033
20041.8401.2991.1571.077
20051.8401.2991.157
20061.8401.299
20071.840
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.8401.2991.1571.0771.0331.0161.0051.0101.005
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.840 1.299 1.157 1.077 1.033 1.016 1.005 1.010 1.005" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.8401.2991.1571.0771.0331.0161.0051.0101.0051.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.840 1.299 1.157 1.077 1.033 1.016 1.005 1.010 1.005 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate3.1891.7331.3341.1531.0711.0361.0201.0151.0051.000
Percent Reported0.3140.5770.7500.8670.9340.9650.9800.9850.9951.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 3.189 1.733 1.334 1.153 1.071 1.036 1.020 1.015 1.005 1.000\n", - "Percent Reported 0.314 0.577 0.750 0.867 0.934 0.965 0.980 0.985 0.995 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "ef6aaa08-8b09-422e-b216-1879113ac300", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " data.loc[\"Steady State\", \"Paid Claims\"],\n", @@ -8910,9 +1825,16 @@ }, { "cell_type": "code", - "execution_count": 34, - "id": "5059355c", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "c5fe4b1f-4b07-43b4-8b76-72d4a9ff787b", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -8932,8 +1854,16 @@ }, { "cell_type": "markdown", - "id": "7b782ca9", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "36fc95a3-2716-42e9-9ac5-e66e42f1a6e3", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit IV, Sheet 4 - U.S. Auto Changing Product Mix - Reported Claims\n", "\n", @@ -8942,582 +1872,18 @@ }, { "cell_type": "code", - "execution_count": 35, - "id": "5c96f69e", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
19991,011,0001,254,0001,377,0001,454,0001,477,0001,493,0001,500,0001,500,0001,500,0001,500,000
20001,061,5501,316,7001,445,8501,526,7001,550,8501,567,6501,575,0001,575,0001,575,000
20011,114,6281,382,5351,518,1431,603,0351,628,3931,646,0331,653,7501,653,750
20021,170,3591,451,6621,594,0501,683,1871,709,8121,728,3341,736,438
20031,228,8771,524,2451,673,7521,767,3461,795,3031,814,751
20041,290,3211,600,4571,757,4401,855,7131,885,068
20051,505,4381,879,5802,072,4902,193,545
20061,776,4912,232,3892,471,446
20072,119,8322,680,487
20082,556,695
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 1011000.0 1254000.0 1377000.0 1454000.0 1477000.0 1493000.0 1500000.0 1500000.0 1500000.0 1500000.0\n", - "2000 1061550.0 1316700.0 1445850.0 1526700.0 1550850.0 1567650.0 1575000.0 1575000.0 1575000.0 NaN\n", - "2001 1114628.0 1382535.0 1518143.0 1603035.0 1628393.0 1646033.0 1653750.0 1653750.0 NaN NaN\n", - "2002 1170359.0 1451662.0 1594050.0 1683187.0 1709812.0 1728334.0 1736438.0 NaN NaN NaN\n", - "2003 1228877.0 1524245.0 1673752.0 1767346.0 1795303.0 1814751.0 NaN NaN NaN NaN\n", - "2004 1290321.0 1600457.0 1757440.0 1855713.0 1885068.0 NaN NaN NaN NaN NaN\n", - "2005 1505438.0 1879580.0 2072490.0 2193545.0 NaN NaN NaN NaN NaN NaN\n", - "2006 1776491.0 2232389.0 2471446.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 2119832.0 2680487.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 2556695.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.2401.0981.0561.0161.0111.0051.0001.0001.000
20001.2401.0981.0561.0161.0111.0051.0001.000
20011.2401.0981.0561.0161.0111.0051.000
20021.2401.0981.0561.0161.0111.005
20031.2401.0981.0561.0161.011
20041.2401.0981.0561.016
20051.2491.1031.058
20061.2571.107
20071.264
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.2521.1011.0571.0161.0111.0051.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.252 1.101 1.057 1.016 1.011 1.005 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.2521.1011.0571.0161.0111.0051.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.252 1.101 1.057 1.016 1.011 1.005 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate1.5041.2011.0911.0321.0161.0051.0001.0001.0001.000
Percent Reported0.6650.8330.9170.9690.9840.9951.0001.0001.0001.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 1.504 1.201 1.091 1.032 1.016 1.005 1.000 1.000 1.000 1.000\n", - "Percent Reported 0.665 0.833 0.917 0.969 0.984 0.995 1.000 1.000 1.000 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "e8fc0e66-6190-4d8c-873a-06354f7f3645", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " data.loc[\"Changing Product Mix\", \"Reported Claims\"],\n", @@ -9529,9 +1895,16 @@ }, { "cell_type": "code", - "execution_count": 36, - "id": "ee12d597", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "f7589d5a-9912-40de-8a73-1718b9abd680", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -9551,8 +1924,16 @@ }, { "cell_type": "markdown", - "id": "bcaa5b7d", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "ece056d2-71bb-44bb-98c5-640ab0705150", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit IV, Sheet 5 - U.S. Auto Changing Product Mix - Paid Claims\n", "\n", @@ -9561,582 +1942,18 @@ }, { "cell_type": "code", - "execution_count": 37, - "id": "e0cc72a6", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "''" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 1 - Data Triangle\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
1224364860728496108120
1999470,000865,0001,124,0001,300,0001,400,0001,446,0001,469,0001,477,0001,492,0001,500,000
2000493,500908,2501,180,2001,365,0001,470,0001,518,3001,542,4501,550,8501,566,600
2001518,175953,6631,239,2101,433,2501,543,5001,594,2151,619,5731,628,393
2002544,0841,001,3461,301,1711,504,9131,620,6751,673,9261,700,551
2003571,2881,051,4131,366,2291,580,1581,701,7091,757,622
2004599,8521,103,9841,434,5401,659,1661,786,794
2005686,0011,276,6011,677,2891,951,435
2006793,3051,493,0741,983,482
2007927,8741,766,164
20081,097,644
" - ], - "text/plain": [ - " 12 24 36 48 60 72 84 96 108 120\n", - "1999 470000.0 865000.0 1124000.0 1300000.0 1400000.0 1446000.0 1469000.0 1477000.0 1492000.0 1500000.0\n", - "2000 493500.0 908250.0 1180200.0 1365000.0 1470000.0 1518300.0 1542450.0 1550850.0 1566600.0 NaN\n", - "2001 518175.0 953663.0 1239210.0 1433250.0 1543500.0 1594215.0 1619573.0 1628393.0 NaN NaN\n", - "2002 544084.0 1001346.0 1301171.0 1504913.0 1620675.0 1673926.0 1700551.0 NaN NaN NaN\n", - "2003 571288.0 1051413.0 1366229.0 1580158.0 1701709.0 1757622.0 NaN NaN NaN NaN\n", - "2004 599852.0 1103984.0 1434540.0 1659166.0 1786794.0 NaN NaN NaN NaN NaN\n", - "2005 686001.0 1276601.0 1677289.0 1951435.0 NaN NaN NaN NaN NaN NaN\n", - "2006 793305.0 1493074.0 1983482.0 NaN NaN NaN NaN NaN NaN NaN\n", - "2007 927874.0 1766164.0 NaN NaN NaN NaN NaN NaN NaN NaN\n", - "2008 1097644.0 NaN NaN NaN NaN NaN NaN NaN NaN NaN" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 2 - Age-to-Age Factors\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 12-2424-3636-4848-6060-7272-8484-9696-108108-120
19991.8401.2991.1571.0771.0331.0161.0051.0101.005
20001.8401.2991.1571.0771.0331.0161.0051.010
20011.8401.2991.1571.0771.0331.0161.005
20021.8401.2991.1571.0771.0331.016
20031.8401.2991.1571.0771.033
20041.8401.2991.1571.077
20051.8611.3141.163
20061.8821.328
20071.903
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 3 - Average Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120
volume_51.8701.3101.1581.0771.0331.0161.0051.0101.005
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120\n", - "volume_5 1.870 1.310 1.158 1.077 1.033 1.016 1.005 1.010 1.005" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "

\n", - " PART 4 - Selected Age-to-Age Factor\n", - "

\n", - " " - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-2424-3636-4848-6060-7272-8484-9696-108108-120120-132
Selected1.8701.3101.1581.0771.0331.0161.0051.0101.0051.000
\n", - "
" - ], - "text/plain": [ - " 12-24 24-36 36-48 48-60 60-72 72-84 84-96 96-108 108-120 120-132\n", - "Selected 1.870 1.310 1.158 1.077 1.033 1.016 1.005 1.010 1.005 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
12-Ult24-Ult36-Ult48-Ult60-Ult72-Ult84-Ult96-Ult108-Ult120-Ult
CDF to Ultimate3.2711.7491.3351.1531.0711.0361.0201.0151.0051.000
Percent Reported0.3060.5720.7490.8670.9340.9650.9800.9850.9951.000
\n", - "
" - ], - "text/plain": [ - " 12-Ult 24-Ult 36-Ult 48-Ult 60-Ult 72-Ult 84-Ult 96-Ult 108-Ult 120-Ult\n", - "CDF to Ultimate 3.271 1.749 1.335 1.153 1.071 1.036 1.020 1.015 1.005 1.000\n", - "Percent Reported 0.306 0.572 0.749 0.867 0.934 0.965 0.980 0.985 0.995 1.000" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "c8964d16-c4d0-45ed-888d-0ebea12b95e0", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "devs = dev_exhibit(\n", " data.loc[\"Changing Product Mix\", \"Paid Claims\"],\n", @@ -10148,9 +1965,16 @@ }, { "cell_type": "code", - "execution_count": 38, - "id": "f8c3d22b", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "e41f726d-d40a-4a45-af70-969e10c82046", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -10170,8 +1994,16 @@ }, { "cell_type": "markdown", - "id": "0b198ff1", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "8a066fce-ca4e-4100-854b-396771866c61", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "### Exhibit IV, Sheet 6\n", "\n", @@ -10180,9 +2012,17 @@ }, { "cell_type": "code", - "execution_count": null, - "id": "768432dc", - "metadata": {}, + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "c90bfb3f-935a-4ae5-b8c1-f7745299becd", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "outputs": [], "source": [ "def Ex4Sht6(scenario, tr):\n", @@ -10204,13 +2044,13 @@ " tri = tr.copy()\n", "\n", " dev_input = {\n", - " \"average\" : \"volume\",\n", - " \"n_periods\" : 5\n", + " \"average\": \"volume\",\n", + " \"n_periods\": 5\n", " }\n", "\n", " tail_input = {\n", - " \"tail\" : 1.0,\n", - " \"projection_period\" : -1\n", + " \"tail\": 1.0,\n", + " \"projection_period\": -1\n", " }\n", "\n", " dev = cl.Development(**dev_input)\n", @@ -10219,52 +2059,52 @@ "\n", " \n", " col1 = pd.DataFrame({\n", - " \"Accident Year\" : format_col(tr.origin)\n", + " \"Accident Year\": format_col(tr.origin)\n", " })\n", "\n", " col2 = pd.DataFrame({\n", - " \"Age of Accident Year at 12/31/08\" : format_col(tr.development, reverse=True)\n", + " \"Age of Accident Year at 12/31/08\": format_col(tr.development, reverse=True)\n", "\n", " })\n", "\n", " col3 = pd.DataFrame({\n", - " \"Claims at 12/31/2008 - Reported\" : format_col(tri.loc[scenario][\"Reported Claims\"].latest_diagonal)\n", + " \"Claims at 12/31/2008 - Reported\": format_col(tri.loc[scenario][\"Reported Claims\"].latest_diagonal)\n", "\n", " })\n", "\n", " col4 = pd.DataFrame({\n", - " \"Claims at 12/31/2008 - Paid\" : format_col(tri.loc[scenario][\"Paid Claims\"].latest_diagonal)\n", + " \"Claims at 12/31/2008 - Paid\": format_col(tri.loc[scenario][\"Paid Claims\"].latest_diagonal)\n", "\n", " })\n", "\n", " col5 = pd.DataFrame({\n", - " \"Case Outstanding\" : col_diff(col3, col4)\n", + " \"Case Outstanding\": col_diff(col3, col4)\n", "\n", " })\n", "\n", " col6 = pd.DataFrame({\n", - " \"CDF to Ult. - Reported\" : format_col(tri.cdf_.loc[scenario][\"Reported Claims\"], reverse=True)\n", + " \"CDF to Ult. - Reported\": format_col(tri.cdf_.loc[scenario][\"Reported Claims\"], reverse=True)\n", "\n", " })\n", "\n", " col7 = pd.DataFrame({\n", - " \"CDF to Ult. - Paid\" : format_col(tri.cdf_.loc[scenario][\"Paid Claims\"], reverse=True)\n", + " \"CDF to Ult. - Paid\": format_col(tri.cdf_.loc[scenario][\"Paid Claims\"], reverse=True)\n", " })\n", "\n", " col8 = pd.DataFrame({\n", - " \"Projected Ult. Claims Using Dev. Method - Reported\" : col_mult(col3, col6)\n", + " \"Projected Ult. Claims Using Dev. Method - Reported\": col_mult(col3, col6)\n", " })\n", "\n", " col9 = pd.DataFrame({\n", - " \"Projected Ult. Claims Using Dev. Method - Paid\" : col_mult(col4, col7)\n", + " \"Projected Ult. Claims Using Dev. Method - Paid\": col_mult(col4, col7)\n", " })\n", "\n", " col10 = pd.DataFrame({\n", - " \"Estimated IBNR Using Dev. Method - Reported\" : col_diff(col8, col3)\n", + " \"Estimated IBNR Using Dev. Method - Reported\": col_diff(col8, col3)\n", " })\n", "\n", " col11 = pd.DataFrame({\n", - " \"Estimated IBNR Using Dev. Method - Paid\" : col_diff(col9, col3)\n", + " \"Estimated IBNR Using Dev. Method - Paid\": col_diff(col9, col3)\n", " })\n", "\n", " colA = col_mult(\n", @@ -10284,15 +2124,15 @@ " colC)\n", "\n", " col12 = pd.DataFrame({\n", - " \"Actual IBNR\" : format_col(colD) \n", + " \"Actual IBNR\": format_col(colD) \n", " })\n", "\n", " col13 = pd.DataFrame({\n", - " \"Difference from Actual IBNR - Reported\" : col_diff(col12, col10)\n", + " \"Difference from Actual IBNR - Reported\": col_diff(col12, col10)\n", " })\n", "\n", " col14 = pd.DataFrame({\n", - " \"Difference from Actual IBNR - Paid\" : col_diff(col12, col11)\n", + " \"Difference from Actual IBNR - Paid\": col_diff(col12, col11)\n", " })\n", "\n", "\n", @@ -10364,535 +2204,34 @@ }, { "cell_type": "markdown", - "id": "afa6fa66", - "metadata": {}, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "b5eaffd9-974a-4102-b6cd-01cb6c0beb19", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + } + }, "source": [ "Finally, we generate the tables in Sheet 6 calling the function once for each scenario:" ] }, { "cell_type": "code", - "execution_count": 40, - "id": "9b97c370", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "

Exhibit IV Sheet 6 — Steady State

" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Projected Ult. Claims Using Dev. Method - Reported Projected Ult. Claims Using Dev. Method - Paid Estimated IBNR Using Dev. Method - Reported Estimated IBNR Using Dev. Method - Paid Actual IBNR Difference from Actual IBNR - Reported Difference from Actual IBNR - Paid\n", - "Accident Year \n", - "1999 1.500000e+06 1.500000e+06 0.000000e+00 0.000000e+00 0.00 0.000000 0.000000\n", - "2000 1.575000e+06 1.575000e+06 0.000000e+00 0.000000e+00 0.00 0.000000 0.000000\n", - "2001 1.653750e+06 1.653751e+06 0.000000e+00 5.077861e-01 0.00 0.000000 -0.507786\n", - "2002 1.736438e+06 1.736437e+06 0.000000e+00 -6.286533e-01 -0.50 -0.500000 0.128653\n", - "2003 1.823260e+06 1.823259e+06 8.508579e+03 8.508370e+03 8508.75 0.170703 0.380116\n", - "2004 1.914422e+06 1.914422e+06 2.935449e+04 2.935417e+04 29354.25 -0.239665 0.082623\n", - "2005 2.010144e+06 2.010143e+06 6.164465e+04 6.164403e+04 61644.25 -0.396446 0.223476\n", - "2006 2.110650e+06 2.110651e+06 1.730732e+05 1.730736e+05 173073.75 0.573334 0.153008\n", - "2007 2.216183e+06 2.216183e+06 3.634539e+05 3.634537e+05 363454.25 0.377634 0.564373\n", - "2008 2.326992e+06 2.326992e+06 7.585992e+05 7.585987e+05 758599.00 -0.167707 0.339637\n", - "Total 1.886684e+07 1.886684e+07 1.394634e+06 1.394632e+06 1394633.75 -0.182146 1.364101\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Age of Accident Year at 12/31/08Claims at 12/31/2008 - ReportedClaims at 12/31/2008 - PaidCase OutstandingCDF to Ult. - ReportedCDF to Ult. - PaidProjected Ult. Claims Using Dev. Method - ReportedProjected Ult. Claims Using Dev. Method - PaidEstimated IBNR Using Dev. Method - ReportedEstimated IBNR Using Dev. Method - PaidActual IBNRDifference from Actual IBNR - ReportedDifference from Actual IBNR - Paid
Accident Year             
19991201,500,0001,500,00001.0001.0001,500,0001,500,00000000
20001081,575,0001,566,6008,4001.0001.0051,575,0001,575,00000000
2001961,653,7501,628,39325,3571.0001.0161,653,7501,653,7510100-1
2002841,736,4381,700,55135,8871.0001.0211,736,4381,736,4370-1-0-00
2003721,814,7511,757,62257,1291.0051.0371,823,2601,823,2598,5098,5088,50900
2004601,885,0681,786,79498,2741.0161.0711,914,4221,914,42229,35429,35429,354-00
2005481,948,4991,742,124206,3751.0321.1542,010,1442,010,14361,64561,64461,644-00
2006361,937,5771,581,581355,9961.0891.3352,110,6502,110,651173,073173,074173,07410
2007241,852,7291,277,999574,7301.1961.7342,216,1832,216,183363,454363,454363,45401
2008121,568,393729,124839,2691.4843.1912,326,9922,326,992758,599758,599758,599-00
Total17,472,20515,270,7882,201,41718,866,83918,866,8371,394,6341,394,6321,394,634-01
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "

Exhibit IV Sheet 6 — Changing Product Mix

" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Projected Ult. Claims Using Dev. Method - Reported Projected Ult. Claims Using Dev. Method - Paid Estimated IBNR Using Dev. Method - Reported Estimated IBNR Using Dev. Method - Paid Actual IBNR Difference from Actual IBNR - Reported Difference from Actual IBNR - Paid\n", - "Accident Year \n", - "1999 1.500000e+06 1.500000e+06 0.000000e+00 0.000000e+00 0.00 0.000000 0.000000\n", - "2000 1.575000e+06 1.575000e+06 0.000000e+00 0.000000e+00 0.00 0.000000 0.000000\n", - "2001 1.653750e+06 1.653751e+06 0.000000e+00 5.077861e-01 0.00 0.000000 -0.507786\n", - "2002 1.736438e+06 1.736437e+06 0.000000e+00 -6.286533e-01 -0.50 -0.500000 0.128653\n", - "2003 1.823260e+06 1.823259e+06 8.508579e+03 8.508370e+03 8508.75 0.170703 0.380116\n", - "2004 1.914422e+06 1.914422e+06 2.935449e+04 2.935417e+04 29354.25 -0.239665 0.082623\n", - "2005 2.262942e+06 2.251656e+06 6.939716e+04 5.811071e+04 71855.05 2457.885317 13744.337224\n", - "2006 2.693735e+06 2.650749e+06 2.222891e+05 1.793029e+05 239056.75 16767.659023 59753.872297\n", - "2007 3.217775e+06 3.091665e+06 5.372877e+05 4.111784e+05 596924.25 59636.506072 185745.825499\n", - "2008 3.842646e+06 3.592941e+06 1.285951e+06 1.036246e+06 1445385.00 159434.484745 409138.546111\n", - "Total 2.221997e+07 2.178988e+07 2.152788e+06 1.722701e+06 2391083.55 238295.966195 668382.664738\n" - ] - }, - { - "data": { - "text/html": [ - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
 Age of Accident Year at 12/31/08Claims at 12/31/2008 - ReportedClaims at 12/31/2008 - PaidCase OutstandingCDF to Ult. - ReportedCDF to Ult. - PaidProjected Ult. Claims Using Dev. Method - ReportedProjected Ult. Claims Using Dev. Method - PaidEstimated IBNR Using Dev. Method - ReportedEstimated IBNR Using Dev. Method - PaidActual IBNRDifference from Actual IBNR - ReportedDifference from Actual IBNR - Paid
Accident Year             
19991201,500,0001,500,00001.0001.0001,500,0001,500,00000000
20001081,575,0001,566,6008,4001.0001.0051,575,0001,575,00000000
2001961,653,7501,628,39325,3571.0001.0161,653,7501,653,7510100-1
2002841,736,4381,700,55135,8871.0001.0211,736,4381,736,4370-1-0-00
2003721,814,7511,757,62257,1291.0051.0371,823,2601,823,2598,5098,5088,50900
2004601,885,0681,786,79498,2741.0161.0711,914,4221,914,42229,35429,35429,354-00
2005482,193,5451,951,435242,1101.0321.1542,262,9422,251,65669,39758,11171,8552,45813,744
2006362,471,4461,983,482487,9641.0901.3362,693,7352,650,749222,289179,303239,05716,76859,754
2007242,680,4871,766,164914,3231.2001.7503,217,7753,091,665537,288411,178596,92459,637185,746
2008122,556,6951,097,6441,459,0511.5033.2733,842,6463,592,9411,285,9511,036,2461,445,385159,434409,139
Total20,067,18016,738,6853,328,49522,219,96821,789,8812,152,7881,722,7012,391,084238,296668,383
\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" + "execution_count": 0, + "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "4dacf976-ab1b-419b-86b8-4e89e8452796", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" } - ], + }, + "outputs": [], "source": [ "res_1 = Ex4Sht6(\"Steady State\", data)\n", "\n", @@ -10901,9 +2240,16 @@ }, { "cell_type": "code", - "execution_count": 51, - "id": "471fa752", + "execution_count": 0, "metadata": { + "application/vnd.databricks.v1+cell": { + "cellMetadata": {}, + "inputWidgets": {}, + "nuid": "e912bd7f-ff89-484b-bb0c-18149c5038cb", + "showTitle": false, + "tableResultSettingsMap": {}, + "title": "" + }, "tags": [ "remove-input" ] @@ -10962,24 +2308,30 @@ } ], "metadata": { + "application/vnd.databricks.v1+notebook": { + "computePreferences": null, + "dashboards": [], + "environmentMetadata": { + "base_environment": "", + "environment_version": "5" + }, + "inputWidgetPreferences": null, + "language": "python", + "notebookMetadata": { + "pythonIndentUnit": 4 + }, + "notebookName": "chapter_7_part_2", + "widgets": {} + }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.12.4" + "name": "python" } }, "nbformat": 4, - "nbformat_minor": 5 + "nbformat_minor": 0 } diff --git a/pyproject.toml b/pyproject.toml index dd0dd4ef..3543aaeb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -174,6 +174,7 @@ select = ["E2", "E4", "E7", "E9", "F"] ".github/scripts/pytest_parallel.py" = ["E241", "E702"] "docs/friedland/chapter_10.ipynb" = ["E731", "F841"] "docs/friedland/chapter_9.ipynb" = ["E731"] +"docs/friedland/chapter_7_part_2.ipynb" = ["E241"] "docs/gallery/plot_advanced_triangle.ipynb" = ["E225"] "docs/gallery/plot_ave_analysis.ipynb" = ["E203", "E225"] "docs/gallery/plot_benktander.ipynb" = ["E251"] From adf3b3cb0f837ca96878556623c8cb46413b4836 Mon Sep 17 00:00:00 2001 From: "henrydingliu@gmail.com" Date: Mon, 17 Aug 2026 06:23:17 +0000 Subject: [PATCH 2/5] more ruff fix --- docs/friedland/chapter_7_part_2.ipynb | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/docs/friedland/chapter_7_part_2.ipynb b/docs/friedland/chapter_7_part_2.ipynb index 332becc6..43eff45f 100644 --- a/docs/friedland/chapter_7_part_2.ipynb +++ b/docs/friedland/chapter_7_part_2.ipynb @@ -157,7 +157,7 @@ " with pd.option_context(\"display.float_format\", \"{:.3f}\".format):\n", " display(pd.concat([v.to_frame().rename(index={'(All)': k}) for k, v in ldf_dict.items()]))\n", " return None\n", - " print_ldfs({k: v.ldf_.round(decimals=3) for k,v in devs.items()})\n", + " print_ldfs({k: v.ldf_.round(decimals=3) for k, v in devs.items()})\n", " devs[\"Selected\"] = cl.TailConstant(tail=tail, projection_period=0).fit_transform(devs[selected_avg])\n", " selected = {}\n", " selected['CDF to Ultimate'] = devs[\"Selected\"].ldf_.round(decimals=3).incr_to_cum().round(decimals=3)\n", @@ -167,7 +167,7 @@ " PART 4 - Selected Age-to-Age Factor\n", " \n", " \"\"\"))\n", - " print_ldfs({'Selected':devs['Selected'].ldf_.round(decimals=3)})\n", + " print_ldfs({'Selected': devs['Selected'].ldf_.round(decimals=3)})\n", " print_ldfs(selected)\n", " return devs" ] @@ -209,7 +209,7 @@ " tail_input: dict\n", ") -> tuple:\n", " \n", - " def format_col(x, reverse = False):\n", + " def format_col(x, reverse=False):\n", " if reverse is True:\n", " return x.to_frame().squeeze()[::-1].reset_index(drop=True)\n", " return x.to_frame().squeeze().reset_index(drop=True)\n", @@ -250,7 +250,6 @@ " col19 = pd.DataFrame({\"Rep. Claims 12/31/08\": format_col(tri.latest_diagonal.loc[\"Increasing Claim Case\", \"Reported Claims\"])})\n", " col20 = pd.DataFrame({\"Actual IBNR\": col_diff(col18, col19)})\n", "\n", - " cols = [col1, col2, col3, col4, col5, col6]\n", " df1 = pd.concat([col1, col2], axis=1)\n", " df2 = pd.concat([col3, col4, col5, col6], axis=1)\n", " df3 = pd.concat([col7, col8, col9, col10], axis=1)\n", @@ -262,7 +261,7 @@ " dfs_lower = [df4, df5, df6]\n", "\n", " results_upper = pd.concat(dfs_upper, axis=1, keys=[\"\", \"Steady State\", \"Increasing Claim Ratios\"])\n", - " results_upper = results_upper.set_index((\"\", \"Accident Year\")) # since its multi-index, I needed to use the tuple to designate the index col\n", + " results_upper = results_upper.set_index((\"\", \"Accident Year\")) # since its multi-index, I needed to use the tuple to designate the index col\n", " results_upper.index.name = \"Accident Year\" \n", " results_upper.loc[\"Total\"] = results_upper.sum()\n", "\n", @@ -271,7 +270,7 @@ " results_upper.loc[\"Total\", (\"Increasing Claim Ratios\", \"Ult. Claim Ratio\")] = np.nan\n", "\n", " results_lower = pd.concat(dfs_lower, axis=1, keys=[\"\", \"Increasing Case Outstanding Strength\", \"Increasing Claim Ratios and Case Outstanding Strength\"])\n", - " results_lower = results_lower.set_index((\"\", \"Accident Year\")) # since its multi-index, I needed to use the tuple to designate the index col\n", + " results_lower = results_lower.set_index((\"\", \"Accident Year\")) # since its multi-index, I needed to use the tuple to designate the index col\n", " results_lower.index.name = \"Accident Year\" \n", " results_lower.loc[\"Total\"] = results_lower.sum()\n", "\n", @@ -1109,7 +1108,7 @@ "source": [ "def Ex3Sht10(scenario, tr):\n", "\n", - " def format_col(x, reverse = False):\n", + " def format_col(x, reverse=False):\n", " if reverse is True:\n", " return x.to_frame().squeeze()[::-1].reset_index(drop=True)\n", " return x.to_frame().squeeze().reset_index(drop=True)\n", @@ -2027,7 +2026,7 @@ "source": [ "def Ex4Sht6(scenario, tr):\n", "\n", - " def format_col(x, reverse = False):\n", + " def format_col(x, reverse=False):\n", " if reverse is True:\n", " return x.to_frame().squeeze()[::-1].reset_index(drop=True)\n", " return x.to_frame().squeeze().reset_index(drop=True)\n", @@ -2115,7 +2114,7 @@ " format_col(tri.loc[scenario][\"Earned Premium\"].latest_diagonal), \n", " format_col(tri.loc[\"Steady State\"][\"Earned Premium\"].latest_diagonal / 2)\n", " ) * pd.Series([0.8] * 10)\n", - " colC = format_col(tri.loc[scenario][\"Reported Claims\"].latest_diagonal)\n", + " colC = format_col(tri.loc[scenario][\"Reported Claims\"].latest_diagonal)\n", " colD = col_diff(\n", " col_sum(\n", " colA, \n", @@ -2190,7 +2189,7 @@ " \"Difference from Actual IBNR - Paid\",\n", " ]\n", "\n", - " #print(results[check_cols].to_string())\n", + " # print(results[check_cols].to_string())\n", "\n", "\n", " display(\n", From b2893a2c5e58d9789bbd46a78b7f038b93823f1a Mon Sep 17 00:00:00 2001 From: "henrydingliu@gmail.com" Date: Mon, 17 Aug 2026 06:55:10 +0000 Subject: [PATCH 3/5] more ruff fixes --- docs/friedland/chapter_7_part_2.ipynb | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/docs/friedland/chapter_7_part_2.ipynb b/docs/friedland/chapter_7_part_2.ipynb index 43eff45f..6ddba60b 100644 --- a/docs/friedland/chapter_7_part_2.ipynb +++ b/docs/friedland/chapter_7_part_2.ipynb @@ -1484,7 +1484,7 @@ "source": [ "def Ex4Sht1(scenario, tri):\n", "\n", - " def format_col(x, reverse = False):\n", + " def format_col(x, reverse=False):\n", " if reverse is True:\n", " return x.to_frame().squeeze()[::-1].reset_index(drop=True)\n", " return x.to_frame().squeeze().reset_index(drop=True)\n", @@ -2179,19 +2179,6 @@ "\n", " display(HTML(f\"

Exhibit IV Sheet 6 — {scenario}

\"))\n", "\n", - " check_cols = [\n", - " \"Projected Ult. Claims Using Dev. Method - Reported\",\n", - " \"Projected Ult. Claims Using Dev. Method - Paid\",\n", - " \"Estimated IBNR Using Dev. Method - Reported\",\n", - " \"Estimated IBNR Using Dev. Method - Paid\",\n", - " \"Actual IBNR\",\n", - " \"Difference from Actual IBNR - Reported\",\n", - " \"Difference from Actual IBNR - Paid\",\n", - " ]\n", - "\n", - " # print(results[check_cols].to_string())\n", - "\n", - "\n", " display(\n", " results.style.format(format_dict, na_rep=\"\")\n", " )\n", From 24807314b98380d5cc596c72a7f97110932e9198 Mon Sep 17 00:00:00 2001 From: "henrydingliu@gmail.com" Date: Mon, 17 Aug 2026 21:24:18 +0000 Subject: [PATCH 4/5] try noqa ignore --- docs/friedland/chapter_7_part_2.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/friedland/chapter_7_part_2.ipynb b/docs/friedland/chapter_7_part_2.ipynb index 6ddba60b..96fef18d 100644 --- a/docs/friedland/chapter_7_part_2.ipynb +++ b/docs/friedland/chapter_7_part_2.ipynb @@ -1329,7 +1329,7 @@ " estimate_cols,\n", " ].values,\n", " np.array([\n", - " [700000, 700000, 0, 0],\n", + " [700000, 700000, 0, 0], # ruff: noqa: E241\n", " [735000, 735000, 0, 0],\n", " [771750, 771750, 0, 0],\n", " [810338, 810338, 0, 0],\n", From 4464ba939ae8e4fc1e85de4425f71e0ba264571a Mon Sep 17 00:00:00 2001 From: "henrydingliu@gmail.com" Date: Mon, 17 Aug 2026 21:27:00 +0000 Subject: [PATCH 5/5] fixing ruff ignore --- docs/friedland/chapter_7_part_2.ipynb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/friedland/chapter_7_part_2.ipynb b/docs/friedland/chapter_7_part_2.ipynb index 96fef18d..44277308 100644 --- a/docs/friedland/chapter_7_part_2.ipynb +++ b/docs/friedland/chapter_7_part_2.ipynb @@ -1323,13 +1323,14 @@ " \"Estimated IBNR Using Dev. Method - Paid\", # (11)\n", "]\n", "\n", + "# ruff: noqa: E241\n", "assert np.allclose(\n", " res_1.loc[\n", " res_1.index != \"Total\",\n", " estimate_cols,\n", " ].values,\n", " np.array([\n", - " [700000, 700000, 0, 0], # ruff: noqa: E241\n", + " [700000, 700000, 0, 0],\n", " [735000, 735000, 0, 0],\n", " [771750, 771750, 0, 0],\n", " [810338, 810338, 0, 0],\n",