Conversation
Adds `actsim_sample`, a synthetic incremental OMDM triangle with a
two-level index, for testing and demonstrating multi-D / multi-grain
workflows. All other grains are available via `.grain()` (e.g. OQDQ,
OYDY) and 2-D/3-D views via `.sum()` / `.groupby()`.
Shape: (9, 2, 120, 120)
Index: Region x LOB
Region: New_York, Chicago, Atlanta
LOB: COLL (collision), TPL_BI (third-party BI), AB (accident benefits)
Columns: reportedCount, Incurred (incremental)
Origin: monthly, 2016-01 to 2025-12; valuation 2025-12-31
Generated with ActSim (ClaimSimulator), seeds 1000-1008 (one per segment).
Exposure / frequency
- One annual-term policy cohort written each month, 2015-01 to 2025-12,
100 policies per cohort per region.
- Claim counts per cohort ~ Poisson(100 x freq):
COLL 0.11 (lambda = 11), TPL_BI 0.010 (lambda = 1.0), AB 0.007 (lambda = 0.7)
- Accident dates uniform within the policy term (NHPP with alpha = 0);
claims from accidents before 2016-01-01 are dropped.
Severity (lognormal, mu/sigma of log-loss, at 2016 level)
- COLL (8.3, 0.75): mean ~5.3k
- TPL_BI (9.9, 1.15): mean ~38.6k
- AB (10.2, 1.45): mean ~77.0k
- Trend: mu + 0.05 per accident year (~5.1% p.a. severity inflation).
Development (per-claim age-to-age factors keyed by development month,
each perturbed by N(1, 0.10))
- COLL: {0: 1.6, 1: 1.3, 2: 1.05, 3: 1.0} ultimate by month 3
- TPL_BI: {3: 2.0, 12: 1.5, 24: 1.15, 36: 1.05, 48: 1.0} ultimate by month 48
- AB: {3: 2.3, 12: 1.8, 24: 1.4, 48: 1.15, 72: 1.05, 96: 1.0} ultimate by month 96
- reportedCount is recorded at each claim's first development age.
Known characteristics
- Incurred only moves at the keyed ages, so the TPL_BI and AB rows
change in steps rather than every month.
- Multiplicative LDF noise produces some small negative incremental
incurred amounts, mostly at the final development age.
- All figures are fictional.
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. |
|
@jzhng105 please complete the PR template and resolve CICD checks |
|
instructions for adding new datasets is here. https://github.com/casact/chainladder-python/blob/main/chainladder/utils/data/_manifest.py |
two-level index, in chainladder/utils/data/_manifest.py
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1425 +/- ##
=======================================
Coverage 92.59% 92.59%
=======================================
Files 102 102
Lines 5846 5846
Branches 723 723
=======================================
Hits 5413 5413
Misses 312 312
Partials 121 121
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:
|
|
Checked off the lists and registered the sample data in manifest |
|
@jzhng105 sorry, are you sure you read the checklist? PR template prefix in this case should be [FEAT], can you update that please? For the future, please also fill out the AI/LLM Usage portion. I think we are ok for this one as I understand the data is completely synthetic. |
| "columns": ["values"], | ||
| "cumulative": True, | ||
| }, | ||
| "actsim_sample": { |
There was a problem hiding this comment.
can we just use actsim here and drop the sample so everything looks a bit more uniformed?
There was a problem hiding this comment.
Please update the csv filename too! Thanks @jzhng105!!
Adds
actsim_sample, a synthetic incremental OMDM triangle with a two-level index, for testing and demonstrating multi-D / multi-grain workflows. All other grains are available via.grain()(e.g. OQDQ, OYDY) and 2-D/3-D views via.sum()/.groupby().Shape: (9, 2, 120, 120)
Index: Region x LOB
Region: New_York, Chicago, Atlanta
LOB: COLL (collision), TPL_BI (third-party BI), AB (accident benefits)
Columns: reportedCount, Incurred (incremental)
Origin: monthly, 2016-01 to 2025-12; valuation 2025-12-31
Generated with ActSim (ClaimSimulator), seeds 1000-1008 (one per segment).
Exposure / frequency
Severity (lognormal, mu/sigma of log-loss, at 2016 level)
Development (per-claim age-to-age factors keyed by development month, each perturbed by N(1, 0.10))
Known characteristics
Summary of Changes
Added
actsim_sample, a synthetic incremental OMDM triangle with a two-level index, for testing and demonstrating multi-D / multi-grain workflows. All other grains are available via.grain()(e.g. OQDQ, OYDY) and 2-D/3-D views via.sum()/.groupby().Related GitHub Issue(s)
ISSUE #1218 closed
AI/LLM Usage
Additional Context for Reviewers
Submitter's Checklist
[FIX],[FEAT],[DOCS],[TST],[CHORE], or[BRK]).Reviewer's Checklist