Rate routines that do not calculate properties on the cost

Many rate routines calculate properties on the cost such as the base rate, adjusted rate, and term amount. You can also create rate routines that do not calculate properties on the cost. These rate routines may set up rating information for use by another rate routine.

In the sample data, the PA Assign Driver rate routine does not calculate properties on the cost. You can use this rate routine as a model for creating your own rate routines that do not set properties on the cost. This rate routine sets the assigned driver which another rate routine uses. The PA Assign Driver rate routine accesses the Youthful Driver Age rate table to determine whether the driver qualifies as a youthful driver. This rate routine provides data for the PA Vehicle Coverage Premium Algorithm rate routine that rates vehicle coverages. The rating engine executes PA Assign Driver before executing PA Vehicle Coverage Premium Algorithm. See the rateSlice method in PARatingEngine.gs.

A no-cost rate routine uses a parameter set that does not include cost. In no-cost parameter sets, Include Cost is not selected. The PA Assign Driver rate routine uses the PA Driver Assignment Parameter Set parameter set.

See also

Using rate routines for non-premium requirements

You can use rate routines that do not calculate properties on the cost for calculations that are secondary to calculating premium. Some examples of these calculations are:

  • Retain the discount/surcharge amounts applied to the premium calculation. These amounts are retained in variables that are passed into subsequent rate routines.
  • Calculate premium for coverage term values other than the selected one so that the customer can see differences in premium.
  • Implement rating requirements, such as two-pass rating, within the rate routine.

    Use two-pass rating if you have to run the rating algorithms twice on the policy data with small differences. For example, in some types of capping, you rate the new policy using the old rate book and then the new rate book. Or, you have to find the highest risk driver by running the rate routine on each driver to get the highest risk. With that risk, you can then process the premium calculation.

Although you can implement these non-premium requirements in the rate routine, you risk making the rate routine more complex than the calculation requires. Consider moving the non-premium calculations to a separate rate routine. Assess the trade-off between complexity and requirements on a case by case basis. An example is driver assignment.