Views:

Scenario Overview


In this scenario we will demonstrate how to set up a Decision Table that calculates an Insurance Premium for Used Automobiles based on a variety of  Risk Factors.

For this article it is assumed that you have at least basic familiarity with Decision Tables and/or have read the following articles:

Note: We will not detail step-by-step instructions here on how to set up Conditions or Actions, please read the above articles if you need detailed configuration steps.

The rules around the insurance premium are as follows:

Vehicle Type
The following are the base premiums depending on the vehicle type.
  • Compact - €250
  • Sedan - €300
  • Luxury - €500
Vehicle Age
The company does not insure new cars. Depending on the age of the vehicle apply the following charges
  • Less than 3 years old - €450
  • 4 to 6 years old - €350
  • Older than 6 years - €250
Uninsured Motorists
Additional protection available for €100 to cover damage caused to the car by other uninsured motorists.
Medical Cover
There is an extra charge of €700 if the customer wants coverage for any medical bills resulting
from a crash.
Potential Occupant Injury  
Certain vehicles are more dangerous in a collision than others. If the vehicle being insured has 
one of the following ratings then additional charges apply.
  • Extremely High Risk - €1200
  • High Risk - €900
Potential Theft Rating
Certain vehicles are more likely to be stolen than others. If the vehicle's potential theft 
rating is High then a charge of €1500 applies


 
The Automobile form:

The Premium is automatically calculated by the Decison Table.
 

N52 Formula Manager Solution

The Formula Manager solution works like this:

  • A formula of type 'Save - To Current' is created on the Automobile entity
  • The Source Properties are set to all fields except for 'Name', 'Owner' and 'Date First Registered'
  • The Target Property is set to 'Premium'
  • The Event is set to 'Create & Update'
  • Exit on First Match is turned Off (unchecked)

 

Calculations Table


The Calculations Table has 1 calculation in this Decision Table

  • Age - used to calculate the current age of the Automobile

Calculations : 

Age
DateDiff([north52_automobile.north52_datefirstregistered], UtcDate(), 'y')

The Decision Table


As the Decision Table executes and evaluates each of the conditions it sums up the values accordingly.

This is because Column is an Action-Calculation and is used by the Decision Table to keep a running sum of the Automobile Premium based on the results of the rows within the Decision Table. You can think of this as a variable result which is then used to update the Premium field.

This Decision Table is configured as a Save - To Current Record, therefore we don't have to specify which field to update on the Decision Table Actions, the result of the Sum is automatically inserted into the Premium field as specified in the Target Property.




Below you can see the the Decision Table has calculated and applied the Premium to the record.