Overview
This post outlines a use case for a pricing engine designed to calculate the premium of motor policies. The calculation is influenced by various factors including vehicle model, make, and year of manufacture.
Master Data
The following master data sets are crucial for processing the quotations:
- Make_Model_SI: Determines the Sum Insured based on the vehicle’s make, model, and age.
- Business_Channel: Maps the quotation channel.
- Base_Premium_Loading: Adjusts the base premium based on make, model, and body type.
- Age_Loading: Modifies the premium based on the driver’s age.
- Driver_Experience_Loading: Alters the premium based on the driver’s experience.
- Excess_Loading: Affects the premium based on deductibles.
Objectives
The goal is to determine the status of a motor quotation (STP, Non-STP, or Reject) and calculate the premium if applicable.
Knockout Conditions for Rejection
A quotation will be rejected if it meets any of the following conditions:
- Business Channel is one of the following: 626028, 600823, 300002, 300006.
- Driver age is below 18 or over 80.
- Vehicle age exceeds 10 years.
Non-STP Conditions
A quotation proceeds to Non-STP if it clears knockout conditions and meets the following:
- Sum Insured is greater than or equal to 15,00,000.
Premium Calculation
If all conditions are cleared, the premium is calculated as follows:
Rule Inputs
| NAME | DATA TYPE | INPUT TYPE | REMARKS |
|---|---|---|---|
| BusinessChannel | String | UserInput | Entered as per Master Data (Business_Channel) |
| Make | String | UserInput | Entered as per Master Data (Make_Model_SI) |
| Model | String | UserInput | Entered as per Master Data (Make_Model_SI) |
| BodyType | String | Computed | Computed as per Master Data (Make_Model_SI) using Make & Model |
| SumInsured | Float | Computed | Computed as per Master Data (Make_Model_SI) using Make & Model |
| ProductionYear | DateTime | UserInput | Entered as a date time |
| VehicleAge | Integer | Computed | Computed based on ProductionYear input |
| SeatingCapacity | Integer | Computed | Computed as per Master Data (Make_Model_SI) using Make & Model |
| DriverDOB | DateTime | UserInput | Entered as a date time |
| DriverAge | Integer | Computed | Computed based on the Driver DOB |
| DrivingExperience | Integer | UserInput | Entered as number between 0 and 50 |
| Deductable | Integer | UserInput | Entered as number between 0 and 10000 |
Rule Calculations:
- Sum Insured: Calculated using the Make_Model_SI master data based on the vehicle’s make, model, and age.
- Base Rate: A percentage of loading obtained from the Base_Premium_Loading master data, which is influenced by the vehicle’s make, model, and body type.
- Base Premium Rate: Calculated as
Base Rate * Sum Insured. - Age Loading: Derived from Age_Loading based on the driver’s age.
- Excess Loading: Derived from Excess_Loading based on the deductible amount.
- Driving Experience Loading: Derived from Driver_Experience_Loading based on the years of driving experience.
- Net Premium: Calculated using the formula
Base Premium Rate * (1 + Age Loading) * (1 + Excess Loading) * (1 + Driving Experience Loading).
Conclusion
This pricing engine integrates detailed master data, ensuring precise and fair premium calculations for motor insurance, effectively accounting for vehicle specifics and driver characteristics.

