Skip to content

feature/BI improvement FM#1745

Merged
sambles merged 56 commits intomainfrom
feature/bi-improvement-fm
Aug 28, 2025
Merged

feature/BI improvement FM#1745
sambles merged 56 commits intomainfrom
feature/bi-improvement-fm

Conversation

@vinulw
Copy link
Copy Markdown
Contributor

@vinulw vinulw commented Jul 25, 2025

feature/BI improvement - fmp

A new fm level SiteItem applies BIWaitingPeriod and BIPOI (period of indemnity).

  • This new level is applied before the SiteCoverage level.
  • Output loss from this level is calculated as output_loss = min(input_loss - BIWaitingPeriod, BIPOI).
  • For multi peril the terms are in accordance with the alloc_rule_il, by default allocation will occur proportional to the input loss.

vinulw added 3 commits July 25, 2025 13:32
tests included:
- WP missing, POI
- POI missing, WP (defaults to 365 POI)
- POI longer than a year (720 days)
@vinulw vinulw linked an issue Jul 25, 2025 that may be closed by this pull request
2 tasks
@vinulw vinulw marked this pull request as ready for review August 14, 2025 14:04
@vinulw vinulw requested review from benhayes21 and sstruzik August 14, 2025 14:04
@vinulw vinulw self-assigned this Aug 14, 2025
@vinulw vinulw added the feature A main feature, captured on the backlog label Aug 14, 2025
@vinulw
Copy link
Copy Markdown
Contributor Author

vinulw commented Aug 14, 2025

@sstruzik the multi peril case is handled using the back allocation mechanism. By default this means KTOOLS_ALLOC_IL_DEFAULT=2 which splits the losses / terms based on input loss. Is this correct?


def get_default_fm_aggregation_profile(path=False):
fp = os.path.join(STATIC_DATA_FP, 'default_fm_agg_profile.json')
return {int(k): v for k, v in get_default_json(src_fp=fp).items()} if not path else fp
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand the point of path in the original function and looking at the code path is never used as a parameter.
I think we can clean this and remove it. this way we have get_default_fm_aggregation_profile that return the default profile.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the path variable seems to be redundant in these functions as well:

  • get_default_accounts_profile
  • get_default_exposure_profile
  • get_default_fm_profile_field_values
  • get_default_step_policies_profile
  • get_config_profile
  • get_default_unified_profile

@sstruzik
Copy link
Copy Markdown
Contributor

@sstruzik the multi peril case is handled using the back allocation mechanism. By default this means KTOOLS_ALLOC_IL_DEFAULT=2 which splits the losses / terms based on input loss. Is this correct?

yes, correct.

@sambles sambles merged commit 1e0e5c8 into main Aug 28, 2025
26 checks passed
@sambles sambles mentioned this pull request Aug 29, 2025
@awsbuild awsbuild added this to the 2.4.7 milestone Aug 29, 2025
@sambles sambles deleted the feature/bi-improvement-fm branch January 29, 2026 11:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature A main feature, captured on the backlog

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

improve BI calculations based on duration of interruption

5 participants