reserving.BornhuetterFerguson
The Bornhuetter–Ferguson method: each origin’s latest value plus the
Usage
reserving.BornhuetterFerguson()expected loss apriori * exposure times the share still to develop, 1 - 1 / cdf, as chainladder-python’s BornhuetterFerguson.
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 expected ultimate per unit of exposure; positive.
average: (volume, simple, regression) = "volume"-
How link ratios are averaged, as in ChainLadder.
sigma_interpolation: (log - linear, mack) = "log-linear"tail: (float, TailConstant, TailCurve, TailBondy or TailLogLinear)- As ChainLadder; no tail by default.
Examples
>>> from prospicio.reserving import BornhuetterFerguson, 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 = BornhuetterFerguson(apriori=0.5).fit(tri, "paid", "premium")
>>> [round(u, 2) for u in fit.ultimate][150.0, 266.67]
Attributes
| Name | Description |
|---|---|
| apriori | Expected loss ratio. |
| average | How link ratios are averaged. |
| sigma_interpolation | How unestimable variance parameters are filled in. |
| 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() | 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
fit(triangle, column, exposure)own exposure.
Parameters
triangle: Trianglecolumn: 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 ExpectedLoss.fit.