BerquistSherman Adjustment

BerquistSherman Adjustment#

import chainladder as cl

This example demonstrates the adjustment to case reserves using the Berquist-Sherman method. A key assumption, and highly sensitive one at that, is the selection of a trend factor representative of the trend in average open case reserves from year to year.

# Load data
triangle = cl.load_sample('berqsherm').loc['MedMal']

# Specify Berquist-Sherman model
berq = cl.BerquistSherman(
    paid_amount='Paid', incurred_amount='Incurred',
    reported_count='Reported', closed_count='Closed',
    trend=0.15)

# Adjust our triangle data
berq_triangle = berq.fit_transform(triangle)
berq_cdf = cl.Development().fit(berq_triangle['Incurred']).cdf_
orig_cdf = cl.Development().fit(triangle['Incurred']).cdf_
Hide code cell source
import matplotlib.pyplot as plt
plt.style.use('ggplot')
%config InlineBackend.figure_format = 'retina'

# Plot the results
ax = (berq_cdf / orig_cdf).T.plot(
    kind='bar', grid=True, legend=False,
    title='Berquist Sherman CDF to Unadjusted CDF',
    xlabel='Age to Ultimate', 
    ylabel='Case Incurred CDF Adjustment');
../_images/00c613eaa4f121e5ca2b413618b215dafd7b61223e96b83fef150c0b7d203b4a.png