## reserving.ExpectedLoss


The expected loss ratio method: each origin's ultimate is [apriori](reserving.Benktander.md#prospicio.reserving.Benktander.apriori)


Usage


``` python
reserving.ExpectedLoss()
```


times its exposure, whatever has been observed. The chain ladder is still fitted for the development pattern the fit reports.

The exposure is a measure column of the same triangle (premium, say): each origin's latest observed cumulative value in the segment fitted.


## Parameters


`apriori: float = ``1.0`  
Expected loss ratio: the ultimate per unit of exposure; positive.

`average: (volume, simple, regression) = ``"volume"`  
How link ratios are averaged, as in [ChainLadder](reserving.ChainLadder.md#prospicio.reserving.ChainLadder).

`sigma_interpolation: (log - linear, mack) = ``"log-linear"`  

`tail: (float, TailConstant, TailCurve, TailBondy or TailLogLinear)`  
As [ChainLadder](reserving.ChainLadder.md#prospicio.reserving.ChainLadder); no tail by default.


## Examples

``` python
>>> from prospicio.reserving import ExpectedLoss, Triangle
>>> tri = Triangle.from_long(
...     [2020, 2020, 2021], [12, 24, 12],
...     {"paid": [100.0, 150.0, 200.0], "premium": [250.0, 250.0, 400.0]},
... )
>>> fit = ExpectedLoss(apriori=0.5).fit(tri, "paid", "premium")
>>> fit.ultimate, fit.reserve
```

(\[125.0, 200.0\], \[-25.0, 0.0\])


## Attributes

| Name | Description |
|----|----|
| [apriori](#apriori) | Expected loss ratio. |
| [average](#average) | How link ratios are averaged. |
| [sigma_interpolation](#sigma_interpolation) | How unestimable variance parameters are filled in. |
| [tail](#tail) | The tail: a constant factor as a number, otherwise its estimator. |

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


#### apriori


Expected loss ratio.


`apriori: float`


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


#### average


How link ratios are averaged.


`average: str`


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


#### sigma_interpolation


How unestimable variance parameters are filled in.


`sigma_interpolation: str`


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


#### tail


The tail: a constant factor as a number, otherwise its estimator.


`tail: Any`


## Methods

| Name | Description |
|----|----|
| [fit()](#fit) | Fits one loss column in every segment of a triangle, each with its |

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


#### fit()


Fits one loss column in every segment of a triangle, each with its


Usage


``` python
fit(triangle, column, exposure)
```


own exposure.


##### Parameters


`triangle: Triangle`  

`column: str`  
The losses to project.

`exposure: str`  
The exposure column; each origin's latest observed cumulative value is its exposure (an incremental triangle's is cumulated).


##### Returns


`ExpectedLossFit`  


##### Raises


`ValueError`  
As [ChainLadder.fit](reserving.ChainLadder.md#prospicio.reserving.ChainLadder.fit), if [apriori](reserving.Benktander.md#prospicio.reserving.Benktander.apriori) is not positive, or if an origin has no observed, finite, positive exposure (the message names it and, with keys, its segment).
