Introduction

The USERV Auto insurance use case was developed in 2006 as a standard business rule use case that all the vendors could implement so that prospects would have a common example to use when evaluating business rules engines. Back in 2006 this was a prominent feature of the Business Rules Forum. Each vendor would present their solution to the entire conference. Corticon’s solution was originally implemented using Corticon 4.3.

The original USERV Use Case Specification is in the appendix.

The Decision Modeling Community has decided to revive this example so that vendors can highlight the new rule modeling features they have added to their products since 2006.

I’d appreciate everyone’s help in reviewing the model to do a number of things:

  1. Look for any silly mistakes, misspellings etc.
  2. Look for improvements we can make to the rule model structure
  3. Identify where we can show off any new Corticon features added since 2006

I’ve upgraded the rules from 2006 and added natural language expressions for all the condition. I also organized the rule sheets into folders of related rules.

Back in 2006 we used a custom C application to interface with the rules.

Today we have an opportunity to make use of the Telerik products to produce a nice interface for executing the rules (although that’s not really a feature of the rules engine)

Below is a walk though of the rule sheets that make up the solution.

Vocabulary

Data Model

Business objects and their relationships

Attributes and data types

 

Entire Decision Rule Flow

Each of the sub components is described in detail below.

The rule statements in each of the rule sheets were taken (copy/paste) directly from the original spec (and may be supplemented by embedded variables to make the messages more meaningful)

Vehicle Eligibility Rules

Rule Flow as Drawn manually by the rule author

Rule Sheet Dependency Diagram As Generated Automatically by Corticon

Attribute Dependencies (as generated by Corticon)

  

High Theft List

HighTheftProbabilityAuto is a lookup table read from a database.

Shouldn’t the conditions be ‘OR’d together? Or would it be clearer to split up the exists statement? Or is there a better way of representing this?

 

Potential Theft

Occupant Injury Risk Rating

Actions are set up as check boxes with the intent that if users will maintain these rules in the web console they will be unable to change the values of the risk rating text strings. This reduces the risk of a user entering an incorrect value.

Auto Eligibility

Check rule 5

How it’s implemented

Note the use of the more specific alias “driver” to make the expression more readable than “ServiceParticipant”. Same idea with policyOwner, except that we add a filter that ensures that we only select the “BusinessParty” that is identified as the policyOwner. Similarly Vehicle is filtered to only those of type=’car’ and the alias reflect that.

Driver Eligibility Rules

Dependency Diagram

The Corticon generated diagram reveals that there are actually TWO independent decisions inside this flow – one for isEligible and one for isHighRisk

Would it be helpful to show a different color or symbol to distinguish input attributes (like gender) from intermediate ones (like driver age classification)? How about distinguishing transient from base attributes?

 

Driver Age

Perhaps we should be calculating the age from the date of birth? Why are the filters disabled?

 

Driver Training

Driving Record

 

Eligibility Scoring

Decision context is productType=’Vehicle Insurance’

 

Long Term Client Scoring

Eligibility Scoring

This sheet combines a number of unrelated attributes. Eg vehicle eligibility score is independent of driver eligibility score and client score (any or all may get added). Should these be split on to separate sheets? i.e rules 1,2,3 are mutually exclusive and 4,5,6 are also mutually exclusive.

Should the eligibility scores be kept separate (for vehicle, and driver and client) and totaled at the end?

If we did this we’d have visibility of the contribution of each factor and this could be displayed in the bill (or audit report)

 

Scoring Interpretation

  

Pricing Rules

Manually created rule flow diagram

Rule Sheet Dependency

Attribute Dependency

Attributes and Rule Sheet Dependency

Auto Base Premium

Auto Theft Premium

Auto Injury Premium

Auto Option Premium

Auto Age Premium

Auto Airbag Discount

Auto Alarm Discount

Redesign Suggestion

Currently there is a sequence dependency between airbags and alarms since the airbag rules initialize the discount percent to zero. If they should be dropped on the rule flow in the wrong order then the rules will not work correctly. The alarm discount would get lost. This can be eliminated if we keep the discounts in separate attributes and add them together at the point where we apply the discount. This may be a better approach anyway since having the discount values stored separately allows us to itemize the discounts on the bill. It also allows for future possible rules that might only allow the greater of the two discounts, not the sum of them. If there were to be an arbitrary number of possible discounts then we would be better modeling it as a one-to-many association between Vehicle and Discount. This involves a little more design work but provides a more extensible solution

Apply Discount

How it’s implemented

Driver Premiums

How it’s implemented

In order to navigate from driver to driver details we make use of the reverse direction of the association.

Market Segment

How it’s implemented

How it works

Columns zero is a non-conditional rule and gets executed first to calculate the sum of the vehicle premiums and driver premiums. Then rules 1 and 2 make deductions from that total premium.

Policy Base Premium

How it’s implemented

The alias “car” refers to ALL of the vehicles on a specific policy belonging to a particular

 

Preferred Clients

  

Preferred Client

Orange indicates still to be implemented (was an extended operator in 4.3 – long since lost) – maybe should be implemented with a rule sheet to make the rule model more transportable.

Elite Client

How it’s implemented

How it works

The alias “services” refers to ALL the services associated with a client. The ->sum operator adds up all the servicePremiums (and balances) for all the services.



The Complete Decision Service

Manually drawn rule flow

Dependencies between the rule sheets

Auto generated rule flow

Dependencies between the attributes and the rule sheets across the entire decision service

Idea: hide the red rule sheets and only show the inter-attribute dependencies – this will make the diagram less cluttered. Can be done by replacing attr1->sheet1, sheet1->attr2 with attr1->attr2

The we can enable tracing that starts (or ends) with a specific attribute to see all the specific dependencies.

 

Pricing Rules Dependencies

Rule Sheet Dependency

Attribute Dependency

 



 

Appendix A The Original USERV Product Derby Specification

Company Profile

UServ Financial Services provides a full service portfolio of financial products, including:

  • Insurance
    • Property and Casualty
    • Vehicle
      • Auto
      • Motorcycle
      • Boat
    • Life
    • Health
    • Business
  • Banking
    • Demand Deposit
    • Savings
    • Money Market
    • Retirement
    • Loans
      • Mortgage
      • Credit Cards
      • Lines of Credit

 

UServ’s objective is to satisfy the complete financial services of its clients including their families, their businesses and their business colleagues.  With this focus on complete relationship services, clients are rewarded for their loyalty as they deepen their relationship with UServ by increasing their financial portfolio.

 

UServ plays a balancing act between rewarding their best clients and managing the risk inherent in providing on-going service to clients whose portfolios are profitable, but violate the eligibility rules of individual products.

 

Business Rules

UServ’s business rules are an essential component for managing this risk.  The business rules address eligibility, pricing and cancellation policies at both the individual product and portfolio level.

 

Client Segmentation Business Rules

This case study focuses on UServ’s vehicle insurance products, but differentiates the basic business rules from those that apply to preferred and elite clients. 

A Preferred Client has a portfolio that includes at least three products.  For example, a Preferred Client may have a portfolio that includes vehicle and life insurance policies and an Individual Retirement Account (IRA).  A client is not a Preferred Client if their portfolio includes only three life insurance policies or four IRAs.

An Elite Client has a combined balance of over $250,000.  The annual insurance policy premiums are included when calculating the combined balance.

 

A Family Portfolio can contain the portfolios of related clients.  They do not have to live together, but must be in the same family.

The market segment applies to all of the portfolios within Family Portfolios.  For example, if any of the portfolios achieve a Preferred or Elite status, all the portfolios within that Family Portfolio achieve that client status.

The balances and years as a client of all the Family Portfolios are combined to determine the Client Status.

 

Eligibility Business Rules

 The base business rules are dependent on the type of vehicle being insured and the characteristics of the people covered by the policy. 

Automobile Eligibility

 Potential Theft Category

If the car is a convertible, then the car’s potential theft rating is high.

If the car’s price is greater than $45,000, then the car’s potential theft rating is high.

If the car model is on the list of “High Theft Probability Auto”, then the car’s potential theft rating is high.

If all of the following are true, then the car’s potential theft rating is moderate.

  • car’s price is between $20,000 and $45,000,
  • car model is not on the list of  “High Theft Probability Auto”

If all of the following are true, then the car’s potential theft rating is low:

  • car’s price is less that $20,000
  • car model is not on the list of  “High Theft Probability Auto”

 

High Theft Probability Auto List

Years

Make and Model

1964 – 1970

VW Bug

Any Year

Porsche

Any Year

BMW

 The “High Theft Probability Auto” list is maintained by Risk Management and provided as input to the eligibility rating process.

 

Potential Occupant Injury Category

If the car has no airbags, then the car’s potential occupant injury rating is extremely high.

If the car only has driver’s air bag, then the car’s potential occupant injury rating is high.

If the car has driver’s and front passenger air bags, then the car’s potential occupant injury rating is moderate.

If the car has driver’s front passenger and side panel air bags, then the car’s potential occupant injury is low.

If the car is a convertible and has no roll bar, then the potential occupant injury is extremely high.

 

Auto Eligibility

If the Potential Occupant Injury Rating is extremely high, then the auto eligibility is “not eligible”.

If the Potential Occupant Injury Rating is high, then the auto eligibility is “provisional”.

If the Potential Theft Rating is high, then the auto eligibility is “provisional”.

If the car is not housed in the same State as where the policy owner lives and

the driver of the car is a young driver and not a Preferred Client, then the auto eligibility is "provisional".

If none of the following is true, then the auto eligibility is “eligible”

  • Auto eligibility is “not eligible”
  • Auto eligibility is “provisional”

 

Driver Eligibility

(applied to each driver covered by the application or policy)

 

Driver Age Category

If the driver is male and is under the age of 25, then young driver.

If the driver is female and is under the age of 20, then young driver.

If young driver and driver has training certification, then eligible driver.

If the driver is over the age of 70, then senior driver.

If senior driver and driver has training certification, then eligible driver.

If the following are not true, then eligible driver

  • Young driver
  • Senior driver

If driver has taken driver’s training from school then driver has training certification.

If driver has taken driver’s training from a licensed driver training company, then driver has training certification.

If driver had taken a senior citizen driver’s refresher course, then driver has training certification.

 

Driving Record Category

If the driver has been convicted of a DUI, then the driver qualifies as a High Risk Driver

If the number of accidents the applicant has been involved in is greater than 2, then the driver qualifies as a High Risk Driver.

If the driver has had more that 3 moving violations in the last two years, then the driver qualifies as a High Risk Driver.

 

Eligibility Scoring

 A client’s eligibility for auto insurance is determined by a scoring system based on the risk ratings for various categories.  The lower the score, the better the eligibility rating.

 

For each Car:

If the Auto Eligibility is Eligible then increase the Vehicle Policy Eligibility Score by 100.

If the Auto Eligibility is Provisional then increase the Vehicle Policy Eligibility Score by 50.

If the Auto Eligibility is Eligible then the Vehicle Policy Eligibility Score is unchanged.

 

For each Driver:

If a Young Driver and the Driver is not an Eligible Driver then increase the Vehicle Policy Eligibility Score by 30.

If a Senior Driver and the Driver is not an Eligible Driver then increase the Vehicle Policy Eligibility Score by 20.

If Eligible Driver then the Vehicle Policy Eligibility Score is unchanged.

If a High Risk Driver then increase the Vehicle Policy Eligibility Score by 100.

 

Client Segment

If Preferred Client then decrease the Vehicle Policy Eligibility Score by 50.

If Elite Client then decrease the Vehicle Policy Eligibility Score by 100.

 

If eligibility score is less that 100, then client is eligible for insurance

If eligibility score is between 100 and 250 inclusive, then the client’s application/policy renewal must be reviewed by underwriting manager who will determine whether the client is eligible for auto insurance.

If eligibility score is greater than 250, the client is not eligible for auto insurance.

If a long term client, the client is always eligible for auto insurance, as is every person and car directly covered by a long term client’s auto policy.

A long term client has maintained a UServ portfolio for 15 years.

 

Pricing Business Rules

 If the client is eligible for auto insurance, then the annual premium must be determined.

 

Auto Premiums

 For each car on the policy:

If compact car, then base premium is $250.

If sedan, then base premium is $400.

If luxury car, then base premium is $500.

If car is new, then increase premium by $400.

If the model year is the same as the current year, then new car.

If the model year is the same as next year, then the car is new.

If car is not new and less than 5 years old, then increase premium by $300.

If car is between 5 and 10 years old, then increase premium by $250.

If uninsured motorist coverage is included, then increase premium by $300

If medical coverage is included, then increase premium by $600.

If Potential Occupant Injury is Extremely High, then increase premium by $1,000.

If Potential Occupant Injury is High, then increase premium by $500.

If Potential Theft is High, then increase premium by $500.

If the car is not housed in the same State as where the policy owner lives, then increase the premium by $1,000.

 

Auto Discounts

If the car only has Driver airbags then lower the premium by 12 %.

If the car has Driver and Passenger airbags then lower the premium by 15 %.

If the car has Driver, Passenger and Side airbags then lower the premium by 18 %.

If the car’s potential theft rating is high and the car is equipped with an alarm system, then lower the premium by 10%.

 Percentages are accumulated.  Add up all the percentages that apply to the car and apply as a total discount.

 

Driver Premiums

 For each driver on the policy:

If young driver and married and located in CA, NY or VA, then increase premium by $700.

If young driver and single and located in CA, NY or VA, then increase premium by $720.

If young driver and married and not located in CA, NY or VA, then increase premium by $300.

If young driver and single and not located in CA, NY or VA, then increase premium by $300.

If senior driver and located in CA, NY or VA, then increase premium by $500.

If senior driver and not located in CA, NY or VA, then increase premium by $200.

Driver is a Typical Driver is all of the following are true:

  • Not a Young Driver
  • Not a Senior Driver

If a Typical Driver, then increase premium by $0.

If a High Risk Driver, then increase premium by $1,000.

Raise the premium by $ 150 per accident

 

Market Segment Discounts

 These discounts are applied after all the individual car and driver premiums with discounts have been calculated.  Total those premiums and then apply the market segment discounts.

If a preferred client, lower the premium by $250.

If an elite client, then lower the premium by $500.

 

Base Premium

 After all discounts have been applied, the annual premium must be greater than or equal to the sum of the base premium for all the cars on the policy.

Facts

Facts are business rules that describe a relationship that can occur between business concepts.  They are expressed as English statements in the form of Subject – Verb – Object.  For example, Vehicle Insurance is a type of Insurance, Insurance is a type of Product, Vehicle Insurance Policy covers Vehicle and Vehicle Insurance Policy has Vehicle Policy Eligibility Score.

 

Facts are expressed unconstrained.  For example, the default statement for the fact “Vehicle Insurance Policy covers Vehicle” is “A Vehicle Insurance Policy covers some Vehicles” or “A Vehicle Insurance Policy covers zero to many Vehicles”.  Validation rules are used to place constraints on facts.  For example, the validation rule “Every Vehicle Insurance Policy covers at least one Vehicle” states that a Vehicle Insurance Policy is incomplete and, therefore invalid, until at least one vehicle has been assigned to it.

 

UServ’s facts are provided in the following table and represented in the business concepts diagram (Business Concepts (Fact) Model). 

Subject Business Concept

Verb

Object Business Concept

"Business Liability Insurance"

is a type of

Insurance

"Business Party"

is involved as

"Service Participant"

"Business Party"

is involved as

"Client Portfolio Participant"

"Client Portfolio"

has

"Average Rolling 12 Month Product Type Count"

"Client Portfolio"

involves

"Client Portfolio Participant"

"Credit Card"

is a type of

"Loan Product"

"Demand Deposit"

is a type of

"Liability Product"

"Driver Airbag"

is a type of

Airbag

"Eligible Driver"

is a type of

Driver

"High Risk Driver"

is a type of

Driver

"Individual Retirement Account"

is a type of

"Liability Product"

"Insurance Policy"

has

Premium

"Insurance Policy"

is a type of

Service

"Liability Product"

is a type of

Banking

"Licensed Driver Training Company Certificate"

is a type of

"Training Certificate"

"Life Insurance"

is a type of

Insurance

"Line of Credit"

is a type of

"Loan Product"

"Loan Product"

is a type of

Banking

"Long Term Client"

is a type of

Client

"Medical Insurance"

is a type of

Insurance

"Money Market"

is a type of

"Liability Product"

"New Car"

is a type of

Car

"Not Eligible"

is a type of

"Auto Eligibility"

"Passenger Airbag"

is a type of

Airbag

"Product Option"

has

"Product Option Price"

"School Certificate"

is a type of

"Training Certificate"

"Senior Driver"

is a type of

Driver

"Senior Refresher Course"

is a type of

"Training Certificate"

"Side Airbag"

is a type of

Airbag

"Typical Driver"

is a type of

Driver

"Vehicle Coverage Option"

is a type of

"Product Option"

"Vehicle Insurance Policy"

has

"Vehicle Policy Eligibility Score"

"Vehicle Insurance Policy"

covers

Vehicle

"Vehicle Insurance Policy"

is a type of

"Insurance Policy"

"Vehicle Insurance"

is a type of

Insurance

"Young Driver"

is a type of

Driver

Banking

is a type of

Product

Car

has

Model

Car

has

"Potential Occupant Injury Rating"

Car

has

"Model Year"

Car

has

"Auto Eligibility"

Car

has

"Potential Theft Rating"

Car

has

Price

Car

has

Rollbar

Car

has

Airbag

Car

is a type of

Vehicle

Client

owns

"Client Portfolio"

Compact

is a type of

Style

Convertible

 

Car

Driver

has

"Number of Moving Violations in Last Two Years"

Driver

has

"Number of Accidents"

Driver

has

DUI

Driver

has

"Training Certificate"

Driver

is covered by

"Vehicle Insurance Policy"

Driver

is a type of

"Service Participant"

Eligible

is a type of

"Auto Eligibility"

Female

is a type of

Gender

Insurance

is a type of

Product

Luxury

is a type of

Style

Male

is a type of

Gender

Manufacturer

builds

Model

Married

is a type of

"Marital Status"

Model

has

Style

Model

has

"High Theft Probability"

Mortgage

is a type of

"Loan Product"

Organization

is a type of

"Business Party"

Person

has

Age

Person

has

"Person Name"

Person

lives in

"US State"

Person

has

"Marital Status"

Person

has

Gender

Person

has

"Birth Date"

Person

is a type of

"Business Party"

Product

includes

"Product Option"

Product

sets the rules for

Service

Provisional

is a type of

"Auto Eligibility"

Savings

is a type of

"Liability Product"

Sedan

is a type of

Style

Service

selects

"Product Option"

Service

involves

"Service Participant"

Service

is provided through

"Client Portfolio"

Single

is a type of

"Marital Status"

Style

has

"Base Premium"

 

Validation Rules

Following are a subset of UServ’s validation rules.

Every Product must include at least one Product Option.

Every Product Option must have exactly one Product Option Price.

Product Option Price must be US Currency.

Every Service must have its rules set by exactly one Product.

Every Insurance Policy must have exactly one Premium.

Every Service must select at least one Product Option.

Every Vehicle Insurance Policy must cover at least one Driver.

Every Vehicle Insurance Policy must cover at least one Vehicle.

A Vehicle may be covered by at most one Vehicle Insurance Policy.

Every Driver must be a Person.

Every Car must have exactly one Model.

Every Car must have exactly one Model Year.

Every Car must have exactly one Potential Theft Rating.

Every Car must have exactly one Auto Eligibility.

Every Model must have exactly one Style.

Every Style must have exactly one Base Premium.

Base Premium must be US Currency.

 

Car Configuration Rules

If a Car has a Side Airbag then the Car must have a Passenger Airbag.

If a Car has a Passenger Airbag then the Car must have a Driver Airbag.

An Airbag must be a Factory Installed Item.




 

Scenarios

Grandfathered Rule Sets

 The purpose of this scenario, besides exercising the auto insurance eligibility and pricing business rules, is to establish business rules for determining preferred clients, apply them and then change the business rules to be more stringent.  The original set of rules continues to apply to clients who qualified as premium clients under those rules.  The new ruleset applies to new clients.

 

Preferred Client Business Rule V1

 

A Preferred Client has a portfolio that includes at least three products families.  For example, a Preferred Client may have a portfolio that includes vehicle and life insurance policies and an Individual Retirement Account (IRA).  A client is not a Preferred Client if their portfolio includes only three vehicle insurance policies or four IRAs.

 

Sara Klaus is a new customer establishing a portfolio of financial services:

  • Checking Account
  • IRA
  • Property Insurance for her house
  • Auto Insurance

 She qualifies for a Preferred Client because she is establishing accounts and policies in more that three product families.

 

Policy Effective Date: 1/1/2006

 Auto profiles:

Car 1

2006 Honda Odyssey
Full Airbags
Alarm System
Price $39,000
Type: Luxury

Car 2

2003 Toyota Camry
Driver and Passenger Airbags
Price: $12,000
Type: Compact

 

Driver profiles:

Sara

Female
38 years old
Single
Lives in Arizona
No Accidents
1 Moving Violation
No DUIs

Spenser

Sara’s Son
Male
17 years old
Single
Lives in Arizona
No Accidents
No Moving Violations
No DUIs
Has a Driver’s Training Certificate from school
Has a Good Student Certificate

 Options for each car: Uninsured Motorist, Medical Coverage

 

Preferred Client Business Rule V2

Rule Change on 4/1/2006

 

Management wants to reward longevity as well as depth of a client’s portfolio.  They have decided to change the Preferred Client eligibility rules to include a measure of longevity.

A Preferred Client has a portfolio that includes an average of three products families over the prior rolling 12 month period.  The configuration of the portfolio families can change over the period, so long as the average is three product families.  New clients must maintain this average for a year before they are eligible.

 

To ensure that the existing preferred clients are not upset over the change in these eligibility rules, they will continue to maintain their preferred client status until their portfolio configuration falls below the 3 family limit.

 In this scenario, a new client with the exact same profile as Sara does not qualify for the preferred customer.  Sara is re-rated at her six month anniversary and continues to qualify as a preferred client.

 

Policy Effective Date: 7/1/2006

 Mark Houston purchases a new auto policy to cover both his and his daughter's car.  He has the same profile as Sara's.

 

Auto profiles:

Car 1

2006 Honda Odyssey
Full Airbags
Alarm System
Price $39,000
Type: Luxury

Car 2

2003 Toyota Camry
Driver and Passenger Airbags
Price: $12,000
Type: Compact

 

Driver Profiles:

Mark Houston

Male
38 years old
Single
Lives in Arizona
No Accidents
1 Moving Violation
No DUIs

Angie

Mark’s Daughter
Female
17 years old
Single
Lives in Arizona
No Accidents
No Moving Violations
No DUIs
Has a Driver’s Training Certificate from school
Has a Good Student Certificate

 Options: Uninsured Motorist, Medical Coverage

 When Sara is re-rated, everything is the same because she falls under the grandfather clause.

 

Car Garaged Outside the State

 Angie goes to college at UCLA and takes her 2003 Toyota.  the car garaged outside the state rule now applies. In addition, Angie has had problems adjusting to driving in Los Angeles and has had three accidents.

 When Mark's policy is re-rated, his eligibility score now required review.

 The underwriter decides to allow Mark to continue insuring Angie and her car under the current policy.

 Determine the new annual premium.

 

Family Portfolios

UServ allows clients who are related to combine their portfolios into a Family Portfolio.  This allows a family to attain a higher client market segment as a group.

 

Mark's parents, Harry and Susan Houston, are UServ Financial Services clients.  Their portfolio includes: 

Product

Balance

IRA

$220,000

 

Mark's Portfolio includes:

Product

Balance

IRA

$34,000

Checking

$6,000

Property Insurance Annual Premium

$400

Auto Insurance Annual Premium

$5,279

Total Combined Family Portfolio Balance: $270,679

By combining their portfolios, they qualify as Elite clients.  Mark receives a discount for his elite status.

Re-price Mark's Auto Insurance Policy.




Business Concepts (Fact) Model

Business Concepts Model Key 

Graphic

Translation

Read fact in the direction of the small arrow.

  • Product sets the rules for Service.
  • Product includes Product Options.
  • Service selects Product Option.

Identify states that the primary business concept (in this case the Driver) can be in.

Read fact in the direction of the triangle arrow:

  • Young Driver is a type of Driver
  • Senior Driver is a type of Driver
  • Typical Driver is a type of Driver

The above facts are mutually exclusive.

  • Eligible Driver is a type of Driver
  • High Risk Driver is a type of Driver

These states can co-exist.

 

Reading the fact from the primary business concept:

 

  • Some Drivers are Young Drivers
  • Some Drivers are High Risk Drivers

Etc.

“Has” Facts

The business concept of the arrow head side of the fact is a piece of knowledge (knowledge property) of the other business concept.

Read in the direction of the arrow head:

  • Person has Person Name
  • Person has Age
  • Person has Birth Date
  • Person has Gender
  • Person Had Marital Status

 

Facts are unconstrained.  For example, the default statement for Service selects Product Option is A Service may select some Product Options.  Business rules must be stated to constrain the fact, such as:

  • Every Service must select at least one Product Option. “At least” translates to one or more.
  • Every Service must be governed by exactly one Product. “Exactly one” translates to one and only one.

 

The business rules that constrain the facts are not provided in this case study.

The fact model is not intended to dictate the application’s object class model or database design.  It represents the knowledge that must be available to support the business rules.  The developer is free to choose how to represent this knowledge in the solution.

The solution does not need to determine whether the Client is an Elite Client.  Assume that this information is provided to the application.

The solution does not need to calculate the rolling 12 month average product count.  Assume that this information is provided to the application.

 



Business Process Models

  

Process Vehicle Insurance Application

 

Process Policy Renewal

Process Policy

Score Policy