Skip to main content

Target Savings - V2 Configuration

Product Type: Goal-Based Savings with Gamification
Use Case: Structured savings for specific goals with rewards
Minimum Amount: ₦10,000 - ₦50,000 per month
Goal Period: 3-60 months
Interest Rate: Base 4% + Performance Bonus (up to +6%)


Overview

Target Savings is a gamified goal-oriented savings product that helps customers save systematically toward specific objectives (emergency fund, education, vacation, home purchase). Features milestone tracking, performance bonuses, achievement badges, and automated saving tools.

Key Features

  • Goal Definition: Set target amount and deadline
  • Milestone Tracking: 25%, 50%, 75%, 100% progress rewards
  • Performance Bonuses: Up to +6% for on-time deposits
  • Auto-Debit: Automatic monthly contributions
  • Round-Up Savings: Round transactions to nearest ₦100
  • Gamification: Badges, certificates, achievement unlocks
  • Flexible Contributions: Add extra anytime
  • Partial Withdrawals: Limited, with conditions

YAML Field Reference

Basic Information Section

Field NameData TypeRequiredDescriptionExample
productCodeString✅ YesUnique product code"TS-GENERAL-001"
productNameString✅ YesDisplay name"Target Savings"
descriptionStringNoProduct description"Goal-based savings with rewards"
isActiveBooleanNoProduct statustrue
depositAccountTypeString✅ YesAccount type"TargetSavings"
lineOfBusinessEnumNoBusiness classification"Retail"

Goal Configuration Section

Field NameData TypeRequiredDescriptionExample
minimumTargetAmountDecimal✅ YesMinimum goal100000
maximumTargetAmountDecimalNoMaximum goal50000000
minimumGoalPeriodMonthsInteger✅ YesShortest duration3
maximumGoalPeriodMonthsInteger✅ YesLongest duration60
allowGoalExtensionBooleanNoCan extend deadlinetrue
extensionPenaltyDecimalNoPenalty for extension0

Monthly Contribution Configuration

Field NameData TypeRequiredDescriptionExample
minimumMonthlyContributionDecimal✅ YesMinimum per month10000
maximumMonthlyContributionDecimalNoMaximum per month0
allowVariableContributionsBooleanNoCan vary monthly amounttrue
allowAdditionalDepositsBooleanNoExtra deposits anytimetrue

Interest Rate Configuration

Field NameData TypeRequiredDescriptionExample
baseRateDecimal✅ YesBase interest rate4.0
calculationMethodEnum✅ YesCalculation approach"DailyBalance"
creditFrequencyEnum✅ YesWhen interest is paid"Monthly" or "Maturity"

Performance Bonus Configuration

Field NameData TypeRequiredDescriptionExample
enablePerformanceBonusBooleanNoReward on-time depositstrue
bonusCalculationBasisEnumNoHow to calculate bonus"OnTimeDepositRate"
maximumBonusRateDecimalNoMax bonus rate6.0
missedDepositPenaltyDecimalNoPenalty for missed deposit0.5

Performance Bonus Tiers:

performanceTiers:
- onTimeRate: 100 # 100% deposits on time
bonusRate: 6.0 # +6% bonus
- onTimeRate: 90 # 90-99% on time
bonusRate: 4.0 # +4% bonus
- onTimeRate: 80 # 80-89% on time
bonusRate: 2.0 # +2% bonus
- onTimeRate: 70 # 70-79% on time
bonusRate: 1.0 # +1% bonus

Milestone Rewards Configuration

Field NameData TypeRequiredDescriptionExample
enableMilestonesBooleanNoTrack milestone progresstrue
milestones[]ArrayNoMilestone definitionsSee below

Milestone Structure:

milestones:
- progressPercentage: 25
rewardType: "Badge"
rewardValue: "Quarter Goal Badge"
cashBonus: 0
- progressPercentage: 50
rewardType: "CashBonus"
rewardValue: "Halfway Achievement"
cashBonus: 5000
- progressPercentage: 75
rewardType: "Badge"
rewardValue: "Three-Quarter Champion"
cashBonus: 0
- progressPercentage: 100
rewardType: "Certificate"
rewardValue: "Goal Achieved Certificate"
cashBonus: 10000

Auto-Debit Configuration

Field NameData TypeRequiredDescriptionExample
enableAutoDebitBooleanNoAutomatic contributionstrue
autoDebitSourceAccountStringNoDebit from account"PrimarySavings"
autoDebitDayIntegerNoDay of month5
autoDebitRetryAttemptsIntegerNoRetry on failure3
autoDebitFailureActionEnumNoAction on failure"NotifyCustomer"

Round-Up Savings Configuration

Field NameData TypeRequiredDescriptionExample
enableRoundUpBooleanNoRound-up transactionstrue
roundUpTargetDecimal✅ If enabledRound to amount100
roundUpSourceAccounts[]ArrayNoWhich accounts["CurrentAccount"]
roundUpMaxPerTransactionDecimalNoMax per transaction100

Withdrawal Configuration

Field NameData TypeRequiredDescriptionExample
allowPartialWithdrawalBooleanNoPermit withdrawalsfalse
partialWithdrawalLimitDecimalNoMax withdrawal %20
withdrawalPenaltyDecimalNoPenalty %5
minimumBalanceAfterWithdrawalDecimalNoRemaining minimum50000

Gamification Configuration

Field NameData TypeRequiredDescriptionExample
enableBadgesBooleanNoAward badgestrue
enableLeaderboardBooleanNoPublic leaderboardfalse
enableStreakTrackingBooleanNoTrack consecutive depositstrue
streakBonusRateDecimalNoBonus for streaks0.5

Fees Configuration Section

Field NameData TypeRequiredDescriptionExample
goalSetupFeeDecimalNoOne-time setup0
monthlyMaintenanceFeeDecimalNoMonthly fee0
earlyLiquidationFeeDecimalNoClose before goal2500

Eligibility Configuration Section

Field NameData TypeRequiredDescriptionExample
minimumAgeIntegerNoMinimum age18
allowCorporateAccountsBooleanNoCorporate accountsfalse
allowIndividualAccountsBooleanNoPersonal accountstrue
requiredDocuments[]Array✅ YesMandatory documents["ValidID", "BVN"]
kycLevelEnumNoRequired KYC tier"Tier1"

Notifications Configuration Section

Field NameData TypeRequiredDescriptionExample
sendGoalCreationConfirmationBooleanNoConfirm goal setuptrue
sendMonthlyProgressReportBooleanNoMonthly progresstrue
sendMilestoneAchievementNotificationBooleanNoAlert on milestonetrue
sendAutoDebitReminderBooleanNoRemind before auto-debittrue
sendGoalCompletionCertificateBooleanNoEmail certificatetrue

Complete Sample YAML Configuration

basicInfo:
productCode: "TS-GENERAL-001"
productName: "Target Savings"
description: "Achieve your financial goals with structured saving"
isActive: true
depositAccountType: "TargetSavings"
lineOfBusiness: "Retail"
currencyCode: "NGN"

goalConfig:
minimumTargetAmount: 100000
maximumTargetAmount: 50000000
minimumGoalPeriodMonths: 3
maximumGoalPeriodMonths: 60
allowGoalExtension: true
extensionPenalty: 0

monthlyContributionConfig:
minimumMonthlyContribution: 10000
maximumMonthlyContribution: 0 # Unlimited
allowVariableContributions: true
allowAdditionalDeposits: true

interestConfig:
baseRate: 4.0
calculationMethod: "DailyBalance"
creditFrequency: "Maturity"

performanceBonusConfig:
enablePerformanceBonus: true
bonusCalculationBasis: "OnTimeDepositRate"
maximumBonusRate: 6.0
missedDepositPenalty: 0.5
performanceTiers:
- onTimeRate: 100
bonusRate: 6.0
- onTimeRate: 90
bonusRate: 4.0
- onTimeRate: 80
bonusRate: 2.0
- onTimeRate: 70
bonusRate: 1.0

milestoneRewardsConfig:
enableMilestones: true
milestones:
- progressPercentage: 25
rewardType: "Badge"
rewardValue: "Quarter Goal Achievement"
cashBonus: 0
- progressPercentage: 50
rewardType: "CashBonus"
rewardValue: "Halfway Hero"
cashBonus: 5000
- progressPercentage: 75
rewardType: "Badge"
rewardValue: "Almost There Champion"
cashBonus: 0
- progressPercentage: 100
rewardType: "Certificate"
rewardValue: "Goal Achieved Certificate + Voucher"
cashBonus: 10000

autoDebitConfig:
enableAutoDebit: true
autoDebitSourceAccount: "PrimarySavings"
autoDebitDay: 5
autoDebitRetryAttempts: 3
autoDebitFailureAction: "NotifyCustomer"

roundUpSavingsConfig:
enableRoundUp: true
roundUpTarget: 100
roundUpSourceAccounts:
- "CurrentAccount"
- "PrimarySavings"
roundUpMaxPerTransaction: 100

withdrawalConfig:
allowPartialWithdrawal: false
partialWithdrawalLimit: 0
withdrawalPenalty: 5
minimumBalanceAfterWithdrawal: 0

gamificationConfig:
enableBadges: true
enableLeaderboard: false
enableStreakTracking: true
streakBonusRate: 0.5 # +0.5% per 6-month streak

fees:
goalSetupFee: 0
monthlyMaintenanceFee: 0
earlyLiquidationFee: 2500

eligibilityConfig:
minimumAge: 18
allowCorporateAccounts: false
allowIndividualAccounts: true
requiredDocuments:
- "ValidID"
- "BVN"
kycLevel: "Tier1"

notificationsConfig:
sendGoalCreationConfirmation: true
sendMonthlyProgressReport: true
sendMilestoneAchievementNotification: true
sendAutoDebitReminder: true
sendGoalCompletionCertificate: true
channels:
sms: true
email: true
push: true

Use Cases & Examples

Example 1: Emergency Fund Target (12 Months)

Goal: Build ₦500,000 emergency fund in 12 months.

Configuration:

targetAmount: ₦500,000
goalPeriod: 12 months
monthlyContribution: ₦42,000
baseRate: 4%
performanceBonus: Up to +6%

Monthly Plan:

Required Monthly: ₦41,667
Recommended: ₦42,000 (buffer for rounding)

Auto-Debit Schedule:
5th of each month: ₦42,000 from savings
Notification 2 days before

Progress Tracking:
Month 3 (25%): Badge + Progress Report
Month 6 (50%): ₦5,000 cash bonus + Badge
Month 9 (75%): Badge + Motivation message
Month 12 (100%): Certificate + ₦10,000 bonus

Final Outcome:

Total Deposits: ₦504,000 (12 × ₦42,000)
Base Interest (4%): ₦10,080 (average balance ₦252k)
Performance Bonus (6%): ₦15,120 (100% on-time)
Milestone Bonuses: ₦15,000
Total Interest + Bonuses: ₦40,200

Final Balance: ₦544,200
Goal Achieved: ✅
Exceeded Target By: ₦44,200

Example 2: Education Savings (36 Months)

Goal: Save ₦2,000,000 for child's university in 3 years.

Configuration:

targetAmount: ₦2,000,000
goalPeriod: 36 months
monthlyContribution: ₦56,000
allowAdditionalDeposits: true

Contribution Strategy:

Month 1-12: ₦56,000/month = ₦672,000
Month 13-24: ₦56,000 + bonuses = ₦700,000
Month 25-36: ₦56,000 + windfalls = ₦750,000

Additional Deposits:
Birthday gifts: ₦50,000
Tax refund: ₦100,000
Bonuses: Variable

Round-Up Savings:
Current account transactions rounded to ₦100
~₦30/transaction × 50 trans/month = ₦1,500/month
Annual round-ups: ₦18,000

Performance Tracking:

On-Time Deposits:
Year 1: 12/12 (100%) → +6% bonus
Year 2: 11/12 (92%) → +4% bonus (missed 1 month)
Year 3: 12/12 (100%) → +6% bonus

Average Performance: 97% → +5% effective bonus

Milestones:
₦500,000 (25%): Badge
₦1,000,000 (50%): ₦5,000 bonus
₦1,500,000 (75%): Badge
₦2,000,000 (100%): Certificate + ₦10,000

Streak Bonuses:
6-month streak: +0.5%
12-month streak: +1.0%
18-month streak: +1.5%

Final Outcome:

Total Contributions: ₦2,016,000
Round-Up Savings: ₦54,000
Additional Deposits: ₦150,000
Total Principal: ₦2,220,000

Base Interest (4%): ₦133,200
Performance Bonus (5% avg): ₦166,500
Streak Bonus (1.5%): ₦49,950
Milestone Bonuses: ₦15,000
Total Interest + Bonuses: ₦364,650

Final Balance: ₦2,584,650
Goal Exceeded By: ₦584,650 (29% surplus!)

Example 3: Vacation Fund with Variable Contributions

Goal: Save ₦300,000 for family vacation in 10 months.

Configuration:

targetAmount: ₦300,000
goalPeriod: 10 months
minimumMonthlyContribution: ₦10,000
allowVariableContributions: true

Variable Contribution Plan:

Month 1-5 (Lean months): ₦25,000/month = ₦125,000
Month 6 (Bonus month): ₦75,000
Month 7-9 (Normal): ₦30,000/month = ₦90,000
Month 10 (Final push): ₦40,000

Total: ₦330,000 (₦30,000 buffer)

Performance Impact:

All deposits made on time: 10/10 (100%)
Performance Bonus: +6%

Base Rate: 4%
Bonus Rate: +6%
Effective Rate: 10%

Interest Calculation:
Average Balance: ₦165,000
Period: 10 months
Interest: ₦165k × 10% × (10/12) = ₦13,750

Milestone Bonuses:
50% (₦150k): ₦5,000
100% (₦300k): ₦10,000
Total: ₦15,000

Final Balance: ₦330,000 + ₦13,750 + ₦15,000 = ₦358,750
Vacation Budget: ₦358,750 (₦58,750 extra for upgrades!)

Performance Bonus System

On-Time Deposit Tracking

performanceBonusConfig:
bonusCalculationBasis: "OnTimeDepositRate"

Calculation:

Goal: ₦600,000 in 12 months
Monthly: ₦50,000

Deposit Schedule:
✅ Jan 5: ₦50,000 (on time)
✅ Feb 5: ₦50,000 (on time)
✅ Mar 5: ₦50,000 (on time)
❌ Apr 5: MISSED (sick, forgot)
✅ Apr 15: ₦50,000 (late by 10 days)
✅ May 5: ₦50,000 (on time)
✅ Jun 5: ₦50,000 (on time)
... continues

Performance at Month 6:
On-Time: 5/6 = 83%
Tier: 80-89% → +2% bonus

Performance at Month 12:
On-Time: 11/12 = 92%
Tier: 90-99% → +4% bonus

Bonus Calculation:
Base Rate: 4%
Performance Bonus: +4%
Effective Rate: 8%

Base Interest: ₦600k × 4% × (12/12) = ₦24,000
Bonus Interest: ₦600k × 4% × (12/12) = ₦24,000
Total Interest: ₦48,000

Missed Deposit Penalty

missedDepositPenalty: 0.5  # -0.5% per missed deposit

Example:

Goal: 12 months
Missed: 2 deposits

Base Rate: 4%
Earned Bonus: +4% (10/12 = 83%)
Missed Penalty: -1% (2 × 0.5%)
Effective Rate: 7%

Impact:
With perfect record (100%): 4% + 6% = 10%
With 2 missed (83%): 4% + 4% - 1% = 7%
Difference: -3% or ₦18,000 on ₦600k

Milestone Rewards

Progress Tracking

milestones:
25%: Badge
50%: ₦5,000 cash + Badge
75%: Badge
100%: Certificate + ₦10,000

Timeline Example (₦500k / 12 months):

Month 0: Goal Created
Balance: ₦0
Next Milestone: ₦125,000 (25%)

Month 3: First Milestone
Balance: ₦126,000 (25.2%)
Reward: "Quarter Goal" Badge
Notification: "🎉 You've reached 25%! Keep it up!"
Profile: Badge displayed

Month 6: Halfway Point
Balance: ₦252,000 (50.4%)
Reward: ₦5,000 cash bonus + "Halfway Hero" Badge
Notification: "🎉 Halfway there! ₦5,000 bonus credited"
Balance After: ₦257,000

Month 9: Three-Quarter Mark
Balance: ₦378,000 (75.6%)
Reward: "Almost There Champion" Badge
Notification: "🎉 75% complete! Final stretch!"

Month 12: Goal Achieved
Balance: ₦504,000 (100.8%)
Rewards:
- Certificate: Personalized PDF emailed
- ₦10,000 cash bonus
- "Goal Achieved 2026" Badge
- Shopping voucher: ₦20,000
Final Balance: ₦534,000
Notification: "🎉🎉 Goal achieved! Certificate sent to email"

Gamification Elements

gamificationConfig:
enableBadges: true
enableStreakTracking: true
streakBonusRate: 0.5

Badge System:

Milestone Badges:
- "First Step" (first deposit)
- "Quarter Goal" (25%)
- "Halfway Hero" (50%)
- "Almost There Champion" (75%)
- "Goal Achieved" (100%)

Streak Badges:
- "3-Month Streak" (bronze)
- "6-Month Streak" (silver) → +0.5% bonus
- "12-Month Streak" (gold) → +1.0% bonus
- "Perfect Year" (12/12 on-time) → +2.0% bonus

Special Badges:
- "Early Bird" (goal achieved before deadline)
- "Overachiever" (exceeded goal by 20%+)
- "Savings Champion" (multiple goals completed)

Auto-Debit & Automation

Auto-Debit Setup

autoDebitConfig:
enableAutoDebit: true
autoDebitSourceAccount: "PrimarySavings"
autoDebitDay: 5
autoDebitRetryAttempts: 3

Process Flow:

Day 3 (2 days before):
SMS: "Auto-debit of ₦50,000 will occur on Jan 5"
Check balance: ₦150,000 ✅

Day 5 (debit day):
Step 1: Validate source account balance
Step 2: Debit ₦50,000 from savings
Step 3: Credit target savings account
Step 4: Update progress (Month 1 complete)
Step 5: SMS: "₦50,000 added to your goal. Balance: ₦50,000"

If Insufficient Funds:
Day 5: Attempt 1 FAILED
Day 6: Attempt 2 (retry)
Day 7: Attempt 3 (final retry)
If still failed: Mark as MISSED
- Notify customer
- Impact performance bonus
- Customer can manually deposit

Round-Up Savings

roundUpSavingsConfig:
enableRoundUp: true
roundUpTarget: 100
roundUpMaxPerTransaction: 100

How It Works:

Current Account Transactions:

Transaction 1:
Coffee: ₦450
Round up to: ₦500
Transfer to target savings: ₦50

Transaction 2:
Groceries: ₦12,350
Round up to: ₦12,400
Transfer: ₦50

Transaction 3:
Fuel: ₦8,920
Round up to: ₦9,000
Transfer: ₦80

Transaction 4:
Transfer: ₦100,000 (large)
Round up to: ₦100,000 (no change, exactly ₦100)
Transfer: ₦0

Daily Round-Ups: ₦50 + ₦50 + ₦80 = ₦180
Monthly (30 trans): ~₦1,500
Annual: ~₦18,000

Benefit: Painless micro-savings

Validation Rules

Goal Setup Validation

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.

Performance Bonus Calculation

Code Removed

Implementation details removed for security.

Contact support for implementation guidance.


Troubleshooting

Issue: "Missed a monthly deposit, lost bonus"

Cause: Insufficient funds in source account on auto-debit day.

Solutions:

Problem: Month 4 deposit missed due to low savings balance

Impact:
Performance drops: 100% → 75%
Bonus reduces: +6% → +1%
Interest loss: ~₦15,000 on ₦500k goal

Prevention Strategies:

1. Buffer Balance
Maintain ₦100k buffer in savings
Set low balance alert at ₦75k

2. Auto-Debit Timing
Schedule after salary (e.g., day 5)
Avoid month-end when balances low

3. Backup Funding
Link secondary account
Manual top-up option

4. Catch-Up Deposit
Make manual deposit within 5 days
System can mark as "late but paid" (partial credit)

Recovery:
Current: 3/4 on-time (75%)
Remaining: 8 deposits
Need: 8/8 perfect → 11/12 (92%) → +4% bonus
Still better than missing more!

Issue: "Goal too ambitious, can't keep up"

Cause: Unrealistic target or life circumstances changed.

Solutions:

Original Goal: ₦1,000,000 in 12 months (₦83,333/month)
Reality: Can only manage ₦50,000/month

Option 1: Extend Goal Period
New Period: 20 months
Monthly: ₦50,000
Penalty: None (if allowGoalExtension: true)
Impact: Delay achievement, but keep momentum

Option 2: Reduce Target Amount
New Target: ₦600,000
Period: Keep 12 months
Monthly: ₦50,000
Trade-off: Lower goal, but achievable

Option 3: Variable Contributions
Some months: ₦50,000
Other months: ₦80,000 (when possible)
Average: ₦65,000
Flexible approach

Option 4: Partial Liquidation
Withdraw: ₦200,000 (if allowed)
Penalty: 5% = ₦10,000
Continue: ₦800,000 goal
Last resort: Better than full liquidation

Recommendation: Option 1 (extend) preserves savings discipline

Issue: "Early liquidation needed"

Cause: Emergency expense.

Analysis:

Target Savings Account:
Goal: ₦500,000
Current: ₦350,000 (70% complete, Month 8/12)
Interest Earned: ₦14,000
Milestone Bonuses: ₦5,000
Total: ₦369,000

Early Liquidation:
Fee: ₦2,500
Receive: ₦369,000 - ₦2,500 = ₦366,500

Lost Future Benefits:
- 75% milestone badge (sentimental)
- 100% completion bonus ₦10,000
- 4 months interest: ~₦7,000
- Performance bonus: ~₦10,000
Total Lost: ₦27,000

Alternatives:

1. Partial Withdrawal (if allowed)
Withdraw: ₦100,000
Penalty: 5% = ₦5,000
Receive: ₦95,000
Remaining Goal: Continue with ₦250k → ₦500k

2. Short-Term Loan
Borrow: ₦100,000 for 30 days
Interest: ~₦3,000
Keep target savings intact
Cheaper than liquidation

3. Adjust Goal
Reduce target: ₦350k → ₦500k
Extend deadline: +2 months
Complete successfully

Choice depends on emergency urgency vs long-term goals

Migration from V1

V1 Target Savings Mapping

V1 Field/TableV2 YAML Path
TargetAmountgoalConfig.minimumTargetAmount (use for validation)
GoalPeriodgoalConfig.maximumGoalPeriodMonths
MonthlyContributionmonthlyContributionConfig.minimumMonthlyContribution
InterestRateinterestConfig.baseRate
AutoDebitautoDebitConfig.enableAutoDebit

Last Updated: January 2, 2026
API Version: V2 (BPMCore)
Product Category: Deposit Products
Complexity: ⭐⭐⭐⭐ (High - Gamification & Automation)