Skip to content
Actuarial reserving in Python
Branch: master
Clone or download
John Bogaardt
John Bogaardt editorial fix
Latest commit 59547b3 Feb 22, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/workflows finalize CI workflow Jan 14, 2020
chainladder warn on invalid origin/development combo Feb 19, 2020
docs editorial fix Feb 22, 2020
examples docs Jan 20, 2020
.gitignore update doc Jan 22, 2020 housekeeping Jan 14, 2020
LICENSE Change license -> MPL 2.0 Dec 4, 2019 added prism dataset Jan 22, 2020 Triangle init support for Period dtype Feb 17, 2020
r_requirements.txt move CI to github actions Jan 14, 2020
readthedocs.yml moved readthedocs.yml Jan 19, 2019
requirements.txt numpy<=1.16.4 for R tests Jan 14, 2020
setup.cfg Create setup.cfg Jun 25, 2017 version update Feb 18, 2020

chainladder (python)

PyPI version Build Status Documentation Status codecov

chainladder - Property and Casualty Loss Reserving in Python

This package is highly inspired by the popular R ChainLadder package and where equivalent procedures exist, has been heavily tested against the R package.

A goal of this package is to be minimalistic in needing its own API. To that end, we've adopted as much of the pandas API for data manipulation and the scikit-learn API for model construction as possible. The idea here is to allow an actuary already versed in these tools to easily pick up this package. We figure an actuary who uses python has reasonable familiarity with pandas and scikit-learn, so they can spend as little mental energy as possible learning yet another API.


Please visit the Documentation page for examples, how-tos, and source code documentation.


Tutorial notebooks are available for download here.

Have a question?

Feel free to reach out on Gitter.

Want to contribute?

Check out our contributing guidelines.


To install using pip: pip install chainladder

Alternatively, install directly from github: pip install git+

Note: This package requires Python 3.5 and later, numpy 1.12.0 and later, pandas 0.23.0 and later, scikit-learn 0.18.0 and later.

GPU support

New in version 0.5.0 - chainladder now supports CUDA-based GPU computations by way of CuPY. You can now swap array_backend between numpy and cupy to switch between CPU and GPU-based computations.

Array backends can be set globally:

import chainladder as cl

Alternatively, they can be set per Triangle instance.

cl.Triangle(..., array_backend='cupy')

Note you must have a CUDA-enabled graphics card and CuPY installed to use the GPU backend.

You can’t perform that action at this time.