ImpliedCaseDevelopment#
- class chainladder.ImpliedCaseDevelopment(reported_pattern: Any = None, paid_pattern: Any = None, style: Literal['cdf', 'ldf'] = 'cdf')[source]#
Implied Case Development Estimator (Friedland Approach 2).
An Estimator that derives implied case development factors (LDFs/CDFs) from benchmark reported and paid development patterns (Friedland 2010, Chapter 12, Exhibit III).
This method is commonly used by self-insurers or for excess/reinsurance layers where credible historical triangles are unavailable, but carried case reserves and industry/benchmark development patterns are known.
- Parameters:
- reported_patterndict, Series, DataFrame, Triangle, or Development
Benchmark reported loss development pattern. Can be cumulative (CDF) or incremental (LDF), as specified by
style.- paid_patterndict, Series, DataFrame, Triangle, or Development
Benchmark paid loss development pattern. Can be cumulative (CDF) or incremental (LDF), as specified by
style.- styleLiteral[‘cdf’, ‘ldf’], optional (default=’cdf’)
Whether
reported_patternandpaid_patternare cumulative development factors (‘cdf’) or incremental link ratios (‘ldf’).
- Attributes:
- case_cdf_Triangle
Implied cumulative case development factors to ultimate.
- case_ldf_Triangle
Incremental link ratios implied by
case_cdf_.- ldf_Triangle
Estimated loss development patterns for case outstanding (alias for
case_ldf_for downstream compatibility with estimators likeChainladder).- case_Triangle
The case triangle used during fitting.
Examples
import pandas as pd import numpy as np import chainladder as cl case_data = pd.DataFrame({ "origin": [1998, 1999, 2000, 2001, 2002, 2003], "valuation": 2008, "case": [500000, 650000, 800000, 850000, 975000, 1000000], }) case_tri = cl.Triangle( case_data, origin="origin", valuation="valuation", columns="case", cumulative=True ).val_to_dev() rep_cdfs = {132: 1.015, 120: 1.020, 108: 1.030, 96: 1.051, 84: 1.077, 72: 1.131} paid_cdfs = {132: 1.046, 120: 1.067, 108: 1.109, 96: 1.187, 84: 1.306, 72: 1.489} model = cl.ImpliedCaseDevelopment( reported_pattern=rep_cdfs, paid_pattern=paid_cdfs, style="cdf", ).fit(case_tri) print(np.round(model.case_cdf_["case"].values[0, 0, 0, 5:], 3))
[1.545 1.439 1.445 1.421 1.454 1.506]
Inherited Methods
|
Fit to data, then transform it. |
|
Get metadata routing of this object. |
|
Get parameters for this estimator. |
|
Apply |
|
Converts triangle array_backend. |
|
Set output container. |
|
Set the parameters of this estimator. |
|
Serializes triangle object to json format |
|
Serializes triangle object to pickle. |