Hierarchical Compartmental Models for Loss Reserving
July 17, 2018
Extending the Growth Curve Approach
Exponential Growth Function
- Exponential growth for rate of payment kp defined as: GFt=1−e−kp⋅t
Exponential Growth as an ODE system
Define EXt as exposure % at development time t
Assume EX0=1 and EXt+GFt=1
Growth function is a solution to ODEs:
- dEXt/dt=−kp⋅EXt dGFt/dt=kp⋅EXt
- EXt=e−kp⋅t GFt=1−e−kp⋅t
Exponential Growth Model as an ODE system
Assume EX0=Premiums=P
Define PDt as cumulative paid claims at time t
Allow a multiple of exposure, ULR, to become paid
- dEXt/dt=−kp⋅EXt dPDt/dt=kp⋅ULR⋅EXt
- EXt=P⋅(1−GFt) PDt=P⋅ULR⋅GFt
Compartmental Model Representation
- Systems of ODEs can be written schematically as compartmental models:
- Readily extensible framework for modelling the claims process
Compartmental Reserving Models
Base Model Schematic
- Introduce additional compartment for reported claims
- Define ker as rate claims occur and are reported
- Split ULR into multiplicative components:
- Reported Loss Ratio (RLR)
- Reserve Robustness Factor (RRF)
Base Model ODEs
- dEXtdt=−ker⋅EXtdOStdt=ker⋅RLR⋅EXt−kp⋅OStdPDtdt=kp⋅RRF⋅OSt

Extending the Model
- Constant rates of reporting and payment rarely hold
- Delays in reporting post-incident
- Payment delays for larger claims
- Allow ker and kp to depend on development time, t
- ker(t)=βer⋅t kp(t)=β1,p/(β2,p+t)
Extended Model ODEs
- dEXtdt=−βer⋅t⋅EXtdOStdt=βer⋅t⋅RLR⋅EXt−β1,p(β2,p+t)⋅OStdPDtdt=β1,p(β2,p+t)⋅RRF⋅OSt
Hierarchical Compartmental Reserving Model
Model Specification
- [OSij,PDij]T= yij∼N(μij, σ2[δ])μij=Pi⋅f(δij,tj,ker,RLR[i],kp,RRF[i])f(δij,tj,…)=(1−δij)⋅^OS(tj,ker,RLR[i],kp) + δij⋅^PD(tj,ker,RLR[i],kp,RRF[i])δij={0if yij=OSij1if yij=PDij(RLR[i]RRF[i])∼N((μRLRμRRF),(σ2RLR00σ2RRF))
Priors
- Prior assumptions driven by domain knowledge:
- Profitability
- Case reserving strength
- Reporting / Payment speed
‘brms’ Code
fml <-
loss_train ~ premiums * (
(1 - delta) * (RLR*ker/(ker - kp) * (exp(-kp*dev) - exp(-ker*dev))) +
delta * (RLR*RRF/(ker - kp) * (ker *(1 - exp(-kp*dev)) - kp*(1 - exp(-ker*dev))))
)
b1 <- brm(bf(fml,
ker ~ 1, kp ~ 1,
RLR ~ 1 + (1 | accident_year),
RRF ~ 1 + (1 | accident_year),
sigma ~ 0 + deltaf,
nl = TRUE),
data = lossData0[cal <= max(accident_year)],
family = brmsfamily("gaussian", link_sigma = "log"),
prior = c(prior(gamma(4, 5), nlpar = "RLR", lb=0),
prior(gamma(4, 5), nlpar = "RRF", lb=0),
prior(gamma(3, 2), nlpar = "ker", lb=0),
prior(gamma(3, 4), nlpar = "kp", lb=0)),
control = list(adapt_delta = 0.999, max_treedepth=15),
seed = 1234, iter = 1000)
Posterior Predictive Checks: Outstanding
![Outstanding PPIs]()
Posterior Predictive Checks: Paid
![Paid PPIs]()
Exercise Questions
Is a Normal observation model appropriate?
How sensitive is the model to alternative priors?
Are RLRi and RRFi likely to be independent?
How might we increase model flexibility?
1
Hierarchical Compartmental Models for Loss Reserving
Jake Morris
July 17, 2018