## reserving.ClaimsDevelopmentResult


Merz and Wüthrich's (2008) one-year view of a Mack fit: standard errors


Usage


``` python
reserving.ClaimsDevelopmentResult()
```


of the claims development result (CDR), the change in the chain-ladder ultimate over a calendar year, per origin and in total. The total includes the covariance between origins. Year `k` of the run-off is R ChainLadder's `CDR(k)S.E.`; summed in square over the years, the run-off gives back Mack's standard error.


## Examples

``` python
>>> from prospicio.reserving import Mack, Triangle
>>> tri = Triangle.from_long(
...     [2020] * 4 + [2021] * 3 + [2022] * 2 + [2023],
...     [12, 24, 36, 48, 12, 24, 36, 12, 24, 12],
...     [100.0, 150.0, 165.0, 170.0, 110.0, 170.0, 180.0, 120.0, 175.0, 130.0],
... )
>>> mack = Mack().fit(tri, "values")
>>> cdr = mack.claims_development_result()
>>> len(cdr.by_calendar_year), cdr.one_year_standard_error[0]
```

(3, 0.0)

``` python
>>> abs(cdr.total_run_off_standard_error - mack.total_standard_error) < 1e-9
```

True


## Attributes

| Name | Description |
|----|----|
| [by_calendar_year](#by_calendar_year) | Standard error of each origin's CDR in each future calendar year: |
| [one_year_standard_error](#one_year_standard_error) | Standard error of each origin's CDR in the next calendar year, R's |
| [origins](#origins) | Origin periods, oldest first. |
| [run_off_standard_error](#run_off_standard_error) | Standard error of each origin's full run-off, the square root of |
| [total_by_calendar_year](#total_by_calendar_year) | Standard error of the total CDR in each future calendar year. |
| [total_one_year_standard_error](#total_one_year_standard_error) | Standard error of the total CDR in the next calendar year. |
| [total_run_off_standard_error](#total_run_off_standard_error) | Standard error of the total full run-off; equals Mack's. |

------------------------------------------------------------------------


#### by_calendar_year


Standard error of each origin's CDR in each future calendar year:


`by_calendar_year: list[list[float]]`


`by_calendar_year[k - 1][i]` is year `k` (R's `CDR(k)S.E.`) of origin `i`, zero once the origin is fully developed. One year per age-to-age factor.


------------------------------------------------------------------------


#### one_year_standard_error


Standard error of each origin's CDR in the next calendar year, R's


`one_year_standard_error: list[float]`


`CDR(1)S.E.`.


------------------------------------------------------------------------


#### origins


Origin periods, oldest first.


`origins: list[str]`


------------------------------------------------------------------------


#### run_off_standard_error


Standard error of each origin's full run-off, the square root of


`run_off_standard_error: list[float]`


the sum of its yearly mean squared errors; equals Mack's.


------------------------------------------------------------------------


#### total_by_calendar_year


Standard error of the total CDR in each future calendar year.


`total_by_calendar_year: list[float]`


------------------------------------------------------------------------


#### total_one_year_standard_error


Standard error of the total CDR in the next calendar year.


`total_one_year_standard_error: float`


------------------------------------------------------------------------


#### total_run_off_standard_error


Standard error of the total full run-off; equals Mack's.


`total_run_off_standard_error: float`


## Methods

| Name | Description |
|----|----|
| [to_frame()](#to_frame) | One row per origin: `origin`, then `cdr_1`, `cdr_2`, … the |

------------------------------------------------------------------------


#### to_frame()


One row per origin: `origin`, then `cdr_1`, `cdr_2`, … the


Usage


``` python
to_frame()
```


standard error of the CDR in each future calendar year (R's `CDR(k)S.E.`), and `run_off`, that of the full run-off. Needs pandas.


##### Returns


`pandas.DataFrame`
