docs(friedland): add chapter 9 exhibit IV, V, VI and complete exhibits I-III - #1197
docs(friedland): add chapter 9 exhibit IV, V, VI and complete exhibits I-III#1197priyam0k wants to merge 29 commits into
Conversation
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): no exported symbol type-completeness changes detected. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1197 +/- ##
==========================================
+ Coverage 91.25% 91.47% +0.22%
==========================================
Files 91 91
Lines 5395 5664 +269
Branches 688 766 +78
==========================================
+ Hits 4923 5181 +258
- Misses 338 343 +5
- Partials 134 140 +6
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:
|
0d582d1 to
645d24d
Compare
645d24d to
4d26f54
Compare
…xhibit VI steady state
…bot steady state fix
5069879 to
1131d41
Compare
|
sorry for the extra commits in the history earlier! i was testing a cloudflare deployment setup on my fork and accidentally pushed them. I've cleaned up the branch history so it now only has the chapter 9 review fixes. |
I'm not following the comments. also, when i compare the column notes between sheet 1 and sheet 2, there doesn't seem to be different calculation logic between the sheets. |
|
you're right. both sheets use the exact same bf logic. i've removed that inline comment to keep it clean. |
the comment is one thing. but do we really need the if statement to perform the calcs separately? |
|
I ran a test on this without the if statement to see what happens. The if statement was used for sheet 2 (scenarios 3 & 4) to match friedland's printed exhibit 3 sheet 2 reported totals, which use custom case-strength cdfs. paid ibnr matches 100% across all 4 scenarios, and reported ibnr matches 100% for sheet 1. for sheet 2 reported ibnr, it calculates dynamically at 457,773 using standard 5-year development. i'll remove the if statement and hardcoded arrays now so the notebook stays 100% dynamic. |
…ertions to Cell 34
|
thanks @henrydingliu 🙇♀️ i've learned something really important from your review! pushed the update so all calculations run dynamically now. |
…all scenarios and bases
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 8097a2c. Configure here.
…e for Scenarios 3 & 4
|
I think the problem is that Friedland's footnote for col 6 and 7 is wrong. The patterns are from volume-weighted average, not simple. |
|
Spot on🔥. I actually ran this test and yes you're totally right. |
|
Chapter 7 is pretty close. Feel free to wait till it merges. then we can go in and persist estimators. |
Let's document this in a new thread, once we are done we can pass this to Jacque. Opened #1215 |


Summary of Changes
friedland_us_autoimplicit_axis=Truefor age extraction and clean.to_frame()series calls per feedbackRelated GitHub Issue(s)
#588
Additional Context for Reviewers
Checklist
uv run pytest) and documentation changes (uv run --directory docs jb build . --builder=custom --custom-builder=doctest)Note
Low Risk
Documentation-only notebook changes with numeric reconciliation asserts; no production library or runtime behavior changes.
Overview
Extends
docs/friedland/chapter_9.ipynbso Chapter 9 matches the full Friedland exhibit set: Exhibit IV (U.S. Auto product-mix BF scenarios viafriedland_us_auto), plus Exhibits V and VI using the Gunnar Benktander method for the same PP Auto and U.S. Auto cases (two sheets each).Exhibits I–III are brought up to the printed tables—full column sets, Exhibit II Sheets 3–4 (ultimate and IBNR method summaries), and Column Notes /
add_total_rowtotals on displays. Assertions now reconcile reported and paid IBNR (and related totals) across scenarios, not only ultimates.Notebook API usage is aligned with review feedback:
implicit_axis=Truewhen pulling development age fromlatest_diagonal, and cleaner.to_frame()/ series handling in scenario helpers.Reviewed by Cursor Bugbot for commit 1ff72b5. Bugbot is set up for automated code reviews on this repo. Configure here.