GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!
Watch the launch videoWatchAccount Dormancy Management
Proactive banking solution that identifies inactive accounts, determines appropriate interventions, and ensures compliance with regulatory requirements.
Solution
This account dormancy management system helps financial institutions identify and address inactive accounts before they become dormant. It calculates the time since last account activity and determines how close accounts are to reaching dormancy thresholds. Based on these calculations, the system assigns a status to each account: active, warning, at-risk, or dormant.
For accounts requiring attention, the system recommends specific actions based on the dormancy status and customer tier. Premium customers receive preferential treatment such as fee waivers and account reviews, while standard customers may receive final notices or automatic account closure procedures. Each recommended action includes a priority level to help bank staff efficiently allocate resources. This ensures regulatory compliance while maintaining positive customer relationships and reducing the administrative burden of managing dormant accounts.
How it works
The decision graph processes account information through these key steps:
- Input Processing: Receives account details including type, balance, customer tier, last activity date, and regional information.
- Dormancy Calculation: Computes days since last activity and days remaining until the account reaches dormancy threshold.
- Status Assignment: Categorizes accounts as "active," "warning" (60 days before threshold), "at_risk" (30 days before threshold), or "dormant" (past threshold).
- Status Routing: Directs active accounts to normal processing while flagging others for intervention.
- Action Determination: Recommends specific interventions based on dormancy status and customer tier, such as notifications, fee waivers, account reviews, or closure procedures.
- Priority Allocation: Assigns priority levels to each action, helping staff focus on the most urgent cases first.
Where teams use it
- Retail banking account management
- Corporate account administration
- Credit union member services
- Wealth management client monitoring
- Digital banking platforms
- Multi-regional financial institutions
- Regulatory compliance programs
Inside the decision model
Account Dormancy Management ships as a JDM decision graph with 5 nodes, 2 decision tables and 9 rules. Download it, load it into GoRules, and run it as-is on Zen Engine.
Request
inputFlat request fields drive the flow: lastActivityDate and dormancyThreshold feed the day math, while customerTier steers the intervention choice and accountBalance, region, and regulatoryJurisdiction travel through as context.
Sample requestJSON
{
"accountId": "ACC98765432",
"accountType": "savings",
"customerTier": "premium",
"lastActivityDate": "2024-11-15",
"dormancyThreshold": 180,
"accountBalance": 25750.45,
"currency": "USD",
"region": "NORTH_AMERICA",
"contactPreference": "email",
"customerEmail": "[email protected]",
"customerPhone": "+15551234567",
"regulatoryJurisdiction": "US-NY"
}Calculate Dormancy
expressionElapsed time is computed first: daysSinceLastActivity subtracts date(lastActivityDate) from date('now'), and daysToThreshold subtracts that figure from the account's dormancyThreshold. A negative daysToThreshold therefore means the account has already crossed into dormancy, which is exactly the signal the status table keys on.
date('now') - date(lastActivityDate)dormancyThreshold - $.daysSinceLastActivityDormancy Status
tableStatus falls out of daysToThreshold with a first hit policy: below 0 the account is already 'dormant', under 30 days remaining marks it 'at_risk', under 60 'warning', and the empty catch-all leaves it 'active'. Ordering from most to least severe means each account receives exactly one dormancyStatus.
The escalating 60- and 30-day windows exist because dormancy carries real regulatory weight: once accounts go unclaimed long enough, unclaimed property laws in many jurisdictions require balances to be escheated to the state, and reactivating a customer beforehand is far cheaper than that process. Taking the threshold itself from the request (180 days in the sample) lets one table serve products and regions with different dormancy definitions.
| Days To ThresholddaysToThreshold | StatusdormancyStatus |
|---|---|
| < 0 | 'dormant' |
| < 30 | 'at_risk' |
| < 60 | 'warning' |
| - | 'active' |
Route By Status
switchA single condition splits the flow: dormancyStatus != 'active' routes accounts needing intervention to the action table, while the default branch lets active accounts pass with no further processing. Filtering here keeps the action logic from needing an explicit do-nothing row for healthy accounts.
Determine ActionDetermine Action
tableInterventions pair dormancyStatus with customerTier: 'dormant' premium accounts get a 'fee_waiver' at 'high' priority while other dormant accounts move to 'auto_close' at 'medium', 'at_risk' premium customers receive an 'account_review' and the rest a 'final_notice', both at 'high' priority, and every 'warning' account simply gets a 'notification'. Blank tier cells act as catch-alls, so with the first hit policy the premium rows must sit above them to take effect.
Splitting treatment by tier reflects retention economics: waiving fees or scheduling a review for a premium relationship costs less than losing the balances it represents, while automatic closure workflows are the standard low-cost path for unprofitable dormant accounts. The priority field maps to urgency sensibly, with 'at_risk' cases marked 'high' because they are the last window where outreach can still prevent dormancy.
| StatusdormancyStatus | Customer TiercustomerTier | ActionrecommendedAction | PriorityactionPriority |
|---|---|---|---|
| 'dormant' | 'premium' | 'fee_waiver' | 'high' |
| 'dormant' | - | 'auto_close' | 'medium' |
| 'at_risk' | 'premium' | 'account_review' | 'high' |
| 'at_risk' | - | 'final_notice' | 'high' |
| 'warning' | - | 'notification' | 'medium' |
Other Financial templates
View all templatesLoan Approval
Automated system that evaluates credit scores, income, debt ratios, and employment history to determine mortgage eligibility and personalized interest rates.
FinancialReal-Time Fraud Detection
Advanced transaction monitoring system that identifies suspicious financial activities using location analysis, spending patterns, and behavioral anomalies.
FinancialCustomer Onboarding KYC Verification
Automated compliance checks that validate identity documents, screen against watchlists, and apply risk-based due diligence during onboarding.
Make this template
your own.
Load Account Dormancy Management into GoRules, adjust the rules to your policy, and ship it behind your own API.