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.
North52 Decision Suite Solution
The North52 Decision Suite solution works like this:
- A formula of type 'Save - To Current Record' 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 H 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.