How does proration handle minor differences in term length?
The default rating engine first calculates
a term amount (CostData.TermAmount)
and then prorates that value. To do this task, the code must know that
the term is a certain amount of time.
To get the length of time in the term,
the default rating engine gets the NumDaysInRatedTerm
property from the cost.
In the default rating engine, the NumDaysInRatedTerm contains the
number of days in a standard period from the period’s effective date.
Depending on the effective date, the number of days in a standard period
can vary.
- A standard period of 6 months might be 182 days, 180 days, and so on.
- A standard period of 1 year might be 365 or 366 depending on the leap year.
This subtle difference has a couple implications that may not be obvious.
- The default rating engine charges the same rate even if the length of the standard period changes in a minor way. For example, 181 days compared to 184 days in a 6 month period. This has the advantage that to the insured, they understand that their rate did not change from period to period. However, some people do not expect this behavior.
- The default rating engine
sets
TermAmountbased on a standard period length not the number of actual days in the term. Because of this, you can identify a non-standard period length even at submission or renewal time. For example, if the standard term is 365 days, a shortened period for 244 days will show 67% proration for costs that cover the entire period. The proration percentage is a percentage of the standard period length, not the actual period length.
You might want to take an entirely different approach to this proration algorithm. For example, suppose a rate from the table represents the price for 1 day or 30 days. You could perform the following operation.
- Calculate the length of the actual policy period. For example, 280 days for a non-standard year period.
- Determine the rate for that
period with the following formula.
period_rate= actual_rate * (number_of_days_in_period) / (number_of_days_for_standard_rate) - Set the
TermAmountproperty on the cost data object based on the 280 day rate. - Set the
NumDaysInRatedTermproperty on the cost data object to280.
This way, the insured sees costs that represent the entire term that do not appear prorated. The rate varies if the period length varies, but this may be your desired behavior for some or all rating lines.
