v2.0

GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!

Watch the launch videoWatch

Smart Financial Product Matcher

Personalized banking product recommendations based on credit score and income, matching customers with the right financial products for their unique situation.

Solution

This intelligent recommendation system helps financial institutions match customers with appropriate products by analyzing key customer data points. It evaluates credit scores against defined thresholds, categorizing them as excellent, good, fair, or poor. The system similarly assesses annual income, classifying it as high, medium, or low based on predetermined ranges.

By combining these financial profile elements, the system generates targeted product recommendations tailored to each customer's specific situation. High-credit customers with substantial income receive premium offerings like wealth management services, while those building credit are matched with secured cards and credit-builder loans. Each recommendation includes personalized messaging that explains the benefits and value proposition, helping customers understand why specific products align with their needs and financial standing.

How it works

The financial product matching process follows three key evaluation steps:

  1. Credit Evaluation: Analyzes the customer's credit score and assigns a category (excellent: 750+, good: 700-749, fair: 650-699, poor: below 650).

  2. Income Assessment: Evaluates annual income against defined thresholds (high: $120,000+, medium: $60,000-$119,999, low: below $60,000).

  3. Product Matching: Combines credit and income categories to recommend appropriate financial products from the institution's portfolio.

  4. Personalized Messaging: Generates customized recommendation text explaining why the suggested products are suitable for the customer's financial profile.

The system maintains all customer information while adding these evaluations and recommendations, ensuring a complete customer context is preserved throughout the process.

Where teams use it

  • Digital banking platforms and mobile apps
  • In-branch financial consultation tools
  • Customer onboarding optimization
  • Cross-selling campaigns for existing customers
  • Targeted marketing initiatives
  • Financial advisory services

Inside the decision model

Smart Financial Product Matcher ships as a JDM decision graph with 4 nodes, 3 decision tables and 13 rules. Download it, load it into GoRules, and run it as-is on Zen Engine.

Decision graph4 nodes · read-only
input customerProfiletable evaluateCreditScoretable evaluateIncometable recommendProducts
01

Customer Profile

input

Everything rides in a single customerProfile object; the two fields that actually drive the tables are creditScore and annualIncome, with the rest (financialGoals, riskTolerance, existingProducts) preserved as context for whoever consumes the recommendation.

Sample requestJSON
{
  "customerProfile": {
    "customerId": "C12345",
    "name": "Jane Smith",
    "age": 35,
    "creditScore": 720,
    "annualIncome": 85000,
    "employmentStatus": "employed",
    "existingProducts": [
      "checking_account"
    ],
    "financialGoals": [
      "home_purchase",
      "retirement_savings"
    ],
    "riskTolerance": "moderate"
  }
}
02

Evaluate Credit Score

table

Scores collapse into four labels with a first hit policy reading top down: 750 and above is 'excellent', 700 and above 'good', 650 and above 'fair', and the empty catch-all row makes everything below 650 'poor'. Only creditCategory is added by this table; the raw creditScore passes through untouched.

The bands sit where consumer credit tiers are conventionally drawn, with the mid-700s widely treated as the boundary of top-tier pricing and the mid-600s as the edge of near-prime. Coarse labels are the right granularity for product matching, since a marketing decision does not need the precision an underwriting scorecard would.

Decision tablefirst hit policy
Credit ScorecreditScoreCredit CategorycreditCategory
>= 750'excellent'
>= 700'good'
>= 650'fair'
-'poor'
03

Evaluate Income

table

Income compresses to three levels: 120000 and above returns 'high', 60000 and above 'medium', and the catch-all row labels the remainder 'low'. With first hit ordering, the open-ended '>= 60000' row is only reached once the high band has failed, so each customer gets exactly one incomeCategory.

The 60000 and 120000 breakpoints are business calibration, roughly bracketing median household income territory on the low side and comfortable premium-product territory on the high side. Two thresholds are enough because income only refines the credit-led matching in the next table rather than driving it.

Decision tablefirst hit policy
Annual IncomeannualIncomeIncome CategoryincomeCategory
>= 120000'high'
>= 60000'medium'
-'low'
04

Recommend Products

table

Credit and income categories cross to pick a product basket: 'excellent' with 'high' income earns the premium set including 'wealth_management' and 'high_yield_savings', 'good' credit at 'high' or 'medium' income maps to 'rewards_credit_card', 'personal_loan', and 'investment_account', while 'fair' credit swaps in 'secured_credit_card' and 'credit_builder_loan'. 'poor' credit at any income and any credit at 'low' income both land on starter products like 'basic_checking', and each row pairs its list with a tailored recommendationMessage.

Matching product risk to customer standing is basic suitability practice: secured cards and credit-builder loans are the industry's standard rehabilitation path because they cap issuer exposure while still reporting payment history, and wealth management only makes sense for high-income, high-score clients. Keeping the message text in the table means compliance can review exactly what each segment is told.

Decision tablefirst hit policy
Credit CategorycreditCategoryIncome CategoryincomeCategoryRecommended ProductsrecommendedProductsRecommendation MessagerecommendationMessage
'excellent''high'['premium_credit_card', 'investment_account', 'high_yield_savings', 'wealth_management']'You qualify for our premium services with competitive rates and exclusive benefits.'
'excellent''medium'['rewards_credit_card', 'investment_account', 'high_yield_savings']'You qualify for our premium credit products and investment services.'
'good''high', 'medium'['rewards_credit_card', 'personal_loan', 'investment_account']'Based on your good credit and income, we recommend these financial products.'
'fair''high', 'medium'['secured_credit_card', 'savings_account', 'credit_builder_loan']'These products can help you build credit while meeting your financial needs.'
'poor'-['secured_credit_card', 'basic_checking', 'credit_builder_loan']'Start rebuilding your credit with these financial tools.'
-'low'['basic_checking', 'savings_account', 'secured_credit_card']'These accounts have minimal fees and are designed to help you manage your finances.'

Make this template
your own.

Load Smart Financial Product Matcher into GoRules, adjust the rules to your policy, and ship it behind your own API.