Loan eligibility (DMN)

Eligibility rules are usually ordered: the disqualifying checks come first. First as the hit policy encodes that ordering explicitly.


#What this example shows

  • A First hit policy, where row order is behaviour.

  • Disqualifying rules placed at the top.

  • A dash meaning the input does not matter for that rule.


#Columns

Column

Type and meaning

Age (input)

number: applicant age in years

Income (input)

number: gross annual income

Credit score (input)

number: 0 to 999

Decision (output)

string: approve, refer or decline


#The decision table

Hit policy: F (First). Cells are FEEL expressions, so a range, a list or a negation is a legal value; a dash means the input is irrelevant to that rule.

Age

Income

Credit score

Decision

< 18

-

-

"decline"

-

-

< 400

"decline"

-

< 15000

-

"refer"

[18..25)

-

[400..650)

"refer"

-

-

>= 800

"approve"

[25..65]

>= 30000

[650..800)

"approve"

-

-

-

"refer"


#Making it your own

  • The final catch-all row is what stops the table having a gap. Keep it last.

  • With First, reordering rows changes behaviour. Note that on the table.

  • Move the age and score thresholds into input data if they change often.



The hit policy is the whole decision.