decision models using dmn and bpmn standards: mortgage recommender
DESCRIPTION
Given our collective experience analyzing, modeling and deploying dozens of Business Rule systems our objective was to explore DMN interactions with existing standards and determine its value-added in the context of a complex-enough business decision.TRANSCRIPT
DEVELOPING COMPLEX-ENOUGH DECISION MODELS
USING DMN & BPMN STANDARDS
Gil Ronen [email protected]
Jacob Feldman, PhD [email protected]
OBJECTIVE
Question: Is the new OMG Decision Model and Notation standard (DMN) useful beyond toy problems?
Given our collective experience analyzing, modeling and deploying dozens of Business Rule systems our objective was to explore DMN interactions with existing standards and determine its value-added in the context of a complex-enough business decision
Ronen & Feldman (c) 2014 2
SYNOPSIS
• Setting the stage for the complex-enough business
decision to be modeled
• Introduction to the new OMG Decision, Model &
Notation standard (DMN)
• Interactions between state-of-the-art business
standards for modeling decision logic (OMG DMN
and BPMN)
• End-to-end model validation
• Conclusions
Ronen & Feldman (c) 2014 3
BUSINESS BACKGROUND: MORTGAGE RECOMMENDATIONS
Business Opportunity:
• Lenders offer multiple products and programs
• Lenders support multiple channels
• channels may offer the same product from different
lenders
• Customer touch-points may not be knowledgeable
about the mortgage domain or specific lender products
• Highlighting benefits of different products is time-
consuming and error-prone in a sales setting
Solution:
• Automate mortgage loan recommendations
Ronen & Feldman (c) 2014 4
BUSINESS CASE: OBJECTIVE-BASED MORTGAGE RECOMMENDATION
1. Customer provides objective and skeletal
preferences
2. Generate loan constraints
3. Match loan constraints to lender products
4. Determine base rate
5. Determine risk-based pricing adjustors
6. Determine monthly payment
7. Determine objective-based option ranking
8. Present ranked options to customer
Ronen & Feldman (c) 2014 5
REQUEST/RESPONSE
Request Objective Requested Program Requested Product
Category
Requested Product
Term Requested LTV
Requested Loan
Amount
Lowest Monthly
Payment Non-Prime Fixed 30 87.50 $350,000
Progra
m
Catego
ry
Ter
m Liens LTV 1st LTV 2nd Amount
Mortgag
e
Insuranc
e
Tax &
Insuranc
e
Principle
& Interest
Total
Monthly
Payment
Benefits
Prime Fixed 30 First 87.50% --- $350,000 $175.00 $437.50 $2,017.01 $2,629.51
Corresponding Prime product
carries a lower rate; Requires
qualifying by more stringent
criteria.
Non-
prime Fixed 30 First 85.00% --- $340,000 $170.00 $425.00 $2,123.38 $2,718.38
Price advantage at 85% over
higher LTV; Specific to a
particular lender.
Non-
prime ARM 3/1 First 87.50% --- $350,000 $175.00 $437.50 $2,126.64 $2,739.14
ARM products typically offer
lower rates initially; 3/1 is fixed
for first 3 years.
Non-
prime Fixed 30
First+
Secon
d
80.00% 10.00% $360,000 $0.00 $450.00 $2,364.94 $2,814.94
Avoids Mortgage Insurance;
Scenario includes 2 loans
closing simultaneously.
Non-
prime Fixed 40 First 87.50% --- $350,000 $175.00 $437.50 $2,238.85 $2,851.35
A longer term reduces the
monthly payment.
Non-
prime Fixed 30 First 87.50% --- $350,000 $175.00 $437.50 $2,243.40 $2,855.90 Requested scenario.
Ronen & Feldman (c) 2014 6
EXISTING STANDARD: BPMN
• BPMN = Business Process Model & Notation
• Understanding and communication of internal business procedures in graphical notation
• Highlights collaboration and transactions between business actors (roles and organizations)
• Concerned with temporal aspects (flow, life-cycle)
• Supports business continual improvement (business controls, re-engineering)
• Already incorporates a Business Rules Task in the context of Business Decision Management (in BPMN 2.0)
Ronen & Feldman (c) 2014 7
NEW STANDARD CONTEXT: BDMS
• BDMS = Business Decision Management System
• BDMS is at the center of modern enterprise architectures
• Business decisions affect customer satisfaction, competitive analysis, and profitability in any businesses
• Examples: loan approval, insurance underwriting, customer service tactics, clinical guidelines, risk management, compliance, and many others
Ronen & Feldman (c) 2014 8
NEW STANDARD: DMN
• DMN = Decision Model & Notation
• New OMG standard for decision modeling
• Beta version 1.0 made available Set. 26, 2013
• Target audience primarily business users (work
product modifiable not only by IT)
• Provides constructs to support modeling decisions so
that they can be represented graphically, modeled
by analysts and, optionally, automated
• Compliments BPMN (and CMMN)
Ronen & Feldman (c) 2014 9
DECISION REPRESENTATION COMPONENTS
• Business Process
• Decision Requirements
• Decision Logic
Ronen & Feldman (c) 2014 10
DECISION REQUIREMENT CONSTRUCTS
• Decision Requirements Graph (DRG)
• Decision Requirements Diagram (DRD)
• Decision
• Input Data
• Business Knowledge Model
• Knowledge Source
• Connectors (Information, Knowledge, Authority)
Ronen & Feldman (c) 2014 11
DMN MODELING
Ronen & Feldman (c) 2014 12
Decision
Requirements
Diagrams (DRD)
Decision Logic
(Standardized
Decision Tables))
Integration with
Business Processes
(BPMN)
DECISION LOGIC
“A business knowledge model may contain any
decision logic which is capable of being represented
as a function. This will allow the import of many existing
decision logic modeling standards (e.g. for business
rules and analytic models) into DMN. An important
format of business knowledge, specifically supported
in DMN, is the Decision Table. “
Ronen & Feldman (c) 2014 13
DMN NOTATION
Ronen & Feldman (c) 2014 14
DRD
Output of the
Decision-2 is used
as an input for the
Decision-1
This Decision Table
represents Business
Knowledge-2
(decision logic)
DECISION DIAGRAMING TOOLS
• Commonly Used Microsoft tools:
• Visio
• Excel
• Business Process Management tools:
• Any BPMN tool
• E.g. ProcessOn
• Specialized DMN tools
• “DecisionFirst” – Decision Management
Solutions
Ronen & Feldman (c) 2014 15
EXAMPLE MODEL: DECISIONFIRST MODELER & OPENRULES
Ronen & Feldman (c) 2014 16
DecisionFirst Diagram
with a URL that points to
the OpenRules Decision
Table
DMN LITERAL EXPRESSIONS
• Not every problem is a nail (Decision Table)
• Literal expressions are text describing how output
values are derived from input values
• The expression language may, but need not be,
formal or executable
• Examples include: plain English, first-order logic,
Java code, etc.
• FEEL
Ronen & Feldman (c) 2014 17
DMN DECISION REPRESENTATION
•Business Process • Decision Requirements
• Decision Logic
Ronen & Feldman (c) 2014 18
BUSINESS PROCESS
Ronen & Feldman (c) 2014 19
DMN DECISION REPRESENTATION
• Business Process
•Decision Requirements • Decision Logic
Ronen & Feldman (c) 2014 20
DECISION REQUIREMENTS
Match Loan
Constraints to
Lender Products
Determine
Product Decision
Table
Decision Requirement Graph (DRG) for Objective-based Mortgage Loan Recommendations
Lender Products
Determine
Objective-based
Mortgage Loan
Recommendations
Determine
Objective-based
Recommendations
Determine
Objective-based
Ranking
Ranking Strategy
Decision Table
Client Objectives
Client Objectives
and Preferences
Determine Lien-
based Scenarios
Determine
Requested
Scenario
Determine Term-
based Scenarios
Determine Risk-
based Scenarios
Risk-based
Options Decision
Table
Requested
Product Decision
Table
Lien Options
Decision Table
Term Options
Decision Table
Lender Pricing
Policy
GSE Loan Amount
Guidelines
Credit Information
Generate Loan
Constraints
Determine Loan
Constraints
Decision
Business
KnowledgeInput Data
Knowledge SourceInformation
Requirement
Knowledge
Requirement
Authority
Requirement
Determine Base
Rate Decision
Table
Determine
Adjustors
Decision Table
Principle &
Interest
Calculation
(PMT)
Mortgage
Insurance
Decision Table
Taxes &
Insurance
Decision Table
Real-time Pricing
Data
Determine Monthly
Payment
Secondary
Markets
Ronen & Feldman (c) 2014 21
FILTERED VIEW: HIGH-LEVEL
Match Loan
Constraints to
Lender Products
Determine Monthly
Payment
Determine
Objective-based
Mortgage Loan
Recommendations
Determine
Objective-based
Recommendations
Determine
Objective-based
Ranking
High-level DRD: Objective-based Mortgage
Loan Recommendations
Ronen & Feldman (c) 2014 22
FILTERED VIEW: DECISION
Client Objective
and Preferences
Generate Loan
Constraints
Determine Lien-
based Scenarios
Determine
Requested
Scenario
Determine Term-
based Scenarios
Determine Risk-
based Scenarios
Risk-based
Options Decision
Table
Requested
Product Decision
Table
Lien Options
Decision Table
Term Options
Decision Table
DRD for the Decision
Generate Loan Constraints Match Loan
Constraints to
Lender Products
Lender Pricing
Policy
GSE Loan Amount
Guidelines
Credit Information
Ronen & Feldman (c) 2014 23
DMN DECISION REPRESENTATION
• Business Process
• Decision Requirements
•Decision Logic
Ronen & Feldman (c) 2014 24
DMN DECISION TABLE
Term Options Decision Table NI Collect
# Request Objective
Requested
Product
Category
Requested
Product Term
Recommended
Product Category
Recommended
Product Term
Recommended
Liens
LOWEST MONTHLY
PAYMENT, EQUITY BUILDER,
LOWER RATE
FIXED, ARM see products
list FIXED, ARM see products list
FIRST,
FIRST+SECOND
1
LOWEST MONTHLY
PAYMENT
FIXED ARM 3/1 FIRST
2 FIXED 15 FIXED 20 FIRST
3 FIXED 20 FIXED 30 FIRST
4 FIXED 30 FIXED 40 FIRST
5 ARM 7/1 ARM 3/1 FIRST
6 ARM 5/1 ARM 3/1 FIRST
7 ARM 3/1 ARM 1/1 FIRST
8
EQUITY BUILDER
FIXED 30 FIXED 20 FIRST
9 FIXED 20 FIXED 15 FIRST
10 FIXED 15 FIXED 10 FIRST
11 ARM FIXED 20 FIRST
12
LOWER RATE
FIXED 30 FIXED 20 FIRST
13 FIXED 20 FIXED 15 FIRST
14 FIXED ARM 5/1 FIRST
15 ARM Not 1/1 ARM 1/1 FIRST
Ronen & Feldman (c) 2014 25
DMN CUMULATIVE DECISION TABLE
Determine Adjustors Decision Table NI SUM
# Recommended Program Recommended Liens Recommended 1st Lien LTV Adjustor
# PRIME, NON-PRIME FIRST, FIRST+SECOND [0…100]
1 0
2 FIRST [85.01..100] 0.0025
3 NON-PRIME 0.01
Ronen & Feldman (c) 2014 26
IMPLEMENTATION TOOL: OPENRULES
• OpenRules is a general purpose Business Rules and Decisions Management System available as an Open Source product
• Allows subject matter experts and software developers to create, test, execute, and maintain enterprise-class decision support applications
• To this point the slides show a tool-independent representation
• Below slides show the translation from the DMN graphical representation and DMN decision logic representation into the OpenRules table-based executable representation
• Implementation executes and results are reported
Ronen & Feldman (c) 2014 27
TOP-LEVEL DECISION
Decision GenerateLoanConstraintsAndMatchProducts
Condition ActionPrint ActionExecute
Number of Loan Options Decisions Execute
Generation Loan Constraints (initial
loan options) GenerateLoanConstraints
> 0 For each loan constraint, Match It to
Lender Products MatchToLenderProducts
Decision Main
Condition ActionPrint ActionExecute
Number of Loan Options Decisions Execute
Generate Loan Constraints and
Match them to Lender Products
GenerateLoanConstraintsAndMatch
Products
> 0 Determine Monthly Payments for
Generated Loan Options DetermineMonthlyPayments
> 1 Determine Objective-based Ranking RankLoanOptions
Ronen & Feldman (c) 2014 28
TERM OPTIONS DECISION TABLE
DecisionTableMultiHit TermOptionGenerationRules
# If If If ActionAny Then Then Then Then Then Then Then
#
Request
Objectiv
e
Requeste
d Product
Category
Requeste
d Product
Term
Add New
Recommendatio
n
Recommended
Program
Recommende
d Product
Category
Recommende
d Product
Term
Recommende
d Liens
Recommende
d 1st Lien LTV
Recommende
d 2nd Lien
LTV
Recommende
d Loan
Amount
1
Lowest
Monthly
Payment
Fixed :=add(decision) := ${Requested
Program} ARM 3/1 First
::=
$R{Requested
LTV}
0
::=
$R{Requested
Loan Amount}
2 Fixed 15 :=add(decision) := ${Requested
Program} Fixed 20 First
::=
$R{Requested
LTV}
0
::=
$R{Requested
Loan Amount}
3 Fixed 20 :=add(decision) := ${Requested
Program} Fixed 30 First
::=
$R{Requested
LTV}
0
::=
$R{Requested
Loan Amount}
4 Fixed 30 :=add(decision) := ${Requested
Program} Fixed 40 First
::=
$R{Requested
LTV}
0
::=
$R{Requested
Loan Amount}
5 ARM 7/1 :=add(decision) := ${Requested
Program} ARM 3/1 First
::=
$R{Requested
LTV}
0
::=
$R{Requested
Loan Amount}
6 ARM 5/1 :=add(decision) := ${Requested
Program} ARM 3/1 First
::=
$R{Requested
LTV}
0
::=
$R{Requested
Loan Amount}
7 ARM 3/1 :=add(decision) := ${Requested
Program} ARM 1/1 First
::=
$R{Requested
LTV}
0
::=
$R{Requested
Loan Amount}
Ronen & Feldman (c) 2014 29
GENERATE SCENARIOS
Decision GenerateLoanConstraints
Decisions Execute
Term Option Generation Decision TermOptionGenerationRules
Price Option Generation Decision PriceOptionGenerationRules
Lien Option Generation Decision LienOptionGenerationRules
Requested Product Generation Decision RequestedProductGenerationRules
Ronen & Feldman (c) 2014 30
DETERMINE ADJUSTORS DECISION TABLE
DecisionTableMultiHit DetermineRateAdjustorRules
If If If Conclusion
Recommended
Program
Recommended
Liens
Recommended
1st Lien LTV Adjustor
= 0
First [85.01..100] += 0.0025
Non-Prime += 0.01
Ronen & Feldman (c) 2014 31
END-TO-END VALIDATION
Ronen & Feldman (c) 2014 32
RECAP
• Loan recommendation problem presented
• Process modeled using BPMN 2.0
• Decision logic modeled using new DMN standard
• Problem implemented in OpenRules
• End-to-end testing provides verifiable results
• Customer stated preferences in conjunction with
lender product and pricing data and a set of
mortgage configuration rules produce a ranked set
of mortgage loan options and their corresponding
benefits
Ronen & Feldman (c) 2014 33
CONCLUSIONS
• BPMN provides insufficient support for BDMS
• DMN formalizes package of material in support of decision logic
• DMN’s ability to bring together context of decision table invocation, authority levels for decision management maintenance and governance, and interdependencies between decisions can bridge the gap between business process representations and low-level IT data models and code
• Encapsulation of decision logic brings with it the benefits of modularity and flexibility as-well-as transparency throughout the enterprise from business people to IT staff
• Vendor support remains to be seen
Ronen & Feldman (c) 2014 34