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)