Friedland Chapter 11 - #1176
Conversation
* WIP * making progress * promoting _param_property * fixing bug * full implementation w/ test * bugbot and tests * test fix * rubric * docstring and additional tests * bugbot proof * Update test_disposal.py * docstring and additional tests * bugbot proof * Update test_disposal.py * more bugbot fixes * bug fix * fix * forcing numpy after all * more fixes * more fixes * addressing reviewer comments * added missing dependencies * restructuring disposal attributes into mixin class * adding `is_disposal_rate` attribute to triangle * improving docstring and adding codecov coverage * chapter 11 prep * streamlining single dev weights * doctest fixes * additional tests
Pyright Type CompletenessView the full Project (full
Other symbols referenced but not exported by
Symbols without documentation:
Patch (exported symbols added or changed by this PR): 0.0% fully typed (0 / 3)
Patch symbol details
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a108767. Configure here.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1176 +/- ##
==========================================
+ Coverage 91.14% 91.20% +0.06%
==========================================
Files 91 91
Lines 5365 5380 +15
Branches 681 683 +2
==========================================
+ Hits 4890 4907 +17
+ Misses 340 339 -1
+ Partials 135 134 -1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|

Summary of Changes
Adding a first draft of Chapter 11, which showcases the recently added
TriangleWeightandDisposalRateUnlike Chapter 6 and 7, we are using jupyter notebook, which provides richer formatting. Testing is achieved through asserts built into the notebook, though failing any assert only results in a warning.
RTD version here.
Related GitHub Issue(s)
refers #588
closes #1073 #1024
Additional Context for Reviewers
other misc edits:
adding precision to several friedland datasets (use severity x count to get more decimals on loss)
removing friedland_xyz_disposal (redundant)
nan_triangleno longer returns full triangle for any patternw_is now deleted inside_drop_subtrianglesTriangleWeightnow supports full trianglesfit_OLSis fixed insideWeightedRegression; r-squared is addedI passed tests locally for both code (
uv run pytest) and documentation changes (uv run jb build docs --builder=custom --custom-builder=doctest)Note
Medium Risk
Changes to
nan_triangle, weighted OLS, andTriangleWeighton full triangles affect core triangle arithmetic and development weighting; risk is moderate due to broad doctest/notebook coverage rather than isolated UI changes.Overview
Adds Friedland Chapter 11 documentation (notebook + TOC) that chains existing methods—
Development,Chainladder,TriangleWeight,DisposalRate,Trend,WeightedRegression—for frequency-severity ultimates, with assert-based reconciliation to textbook figures.Core library changes:
TriangleWeightnow fits on full triangles (e.g.full_triangle_) via anis_fullpath inn_periodsweighting;fitforces numpy/cupy backends and returns typedTriangleweights.WeightedRegression.fit_OLSuses weighted means for slope/intercept and exposesrsq_.nan_triangleno longer treats pattern triangles like ultimates (dropsis_patternshortcut)._drop_subtrianglesalso clearsw_.Data: Friedland CSVs get finer loss precision;
friedland_gl_insurergains Reported Claims;friedland_xyz_dispis removed from the manifest (file deleted). Chapter 6/7 doctests updated for rounded paid values.Reviewed by Cursor Bugbot for commit dc2919e. Bugbot is set up for automated code reviews on this repo. Configure here.