Rate routine overview
Rate routine design
For each insurance company, rate filings describe in detail how premium is calculated. When filings are required, filings can be the basis for rate routines. The rate filing documentation often does not provide all the information necessary for designing the rate routine. A subject matter expert can transform the rate filing into requirements for a rate routine.
When designing rate routines from rate filings, follow these guidelines:
- Limit the rate routine to calculations that will be versioned within a rate book.
- Keep the rate routine
focussed on things that the business user needs to see in the rating
worksheet. Treat the rate routine as a document of the calculation rather
than a general programming language. When the rate routine executes,
the output document is the rating worksheet. Design the rate routine
so that the rating worksheet reveals the premium calculation.
For example, there is no need to put a polynomial calculation, having multiple parameters, in a rate routine. Instead, use a utility function and pass in the parameters. Business users do not need to know the detailed steps in the polynomial calculation. They just need to know that the polynomial calculation is done as a step in rate routine and passed certain parameters.
- The primary output of rating is the cost of a single coverage. Many secondary outputs are also possible as described in Rate routines that do not calculate properties on the cost.
Rate routine versions
Create a new version of a rate routine when you need to modify it. Versions start at the number 1 and increase by 1 for each new version. If a rate book references version 1 of a rate routine, that rate book continues to reference version 1. You can select the new version of the rate routine in a new rate book or by editing an existing rate book.
Rate routine variant identifiers
In some cases, the rate routine differs in one or more jurisdictions. In the base configuration, you can specify a rate routine that applies to a specific jurisdiction. This is known as a jurisdiction variant in the user interface. A rate routine and its jurisdiction variants have the same code.
The jurisdiction variant is an example of a rate routine variant identifier. In the base configuration, jurisdiction variant is the only example of a variant identifier. However, through configuration, you can create variant identifiers to other features of the policy such as the underwriting company. For more information, see Configuring variant identifiers for a rate routine.
Accessing entity properties and class extensions
Rate routines can access entity properties,
including virtual properties, and class extensions. You can create and
use entity properties and extensions to provide rate routine access to
that data without exposing the business logic that derives it. An example
of this in the base configuration is the Person.Age virtual property. The
rate routine can access this property, and calculating the age is handled
by the entity.
