Your Debts
Total: S${{ fmtNum(totalDebt) }}
+ {{ p.label }}
Add at least one debt to begin your repayment plan.
Debt {{ idx + 1 }}
Total Minimum: S${{ fmtNum(totalMinimum) }}/month
Total Debt: S${{ fmtNum(totalDebt) }}
Payment Settings
Extra Monthly Payment: S${{ fmtNum(extraPayment) }}
S${{ fmtNum(CALC_CONFIG.sliders.extraPayment.min) }}S${{ fmtNum(CALC_CONFIG.sliders.extraPayment.max) }}
Total monthly payment: S${{ fmtNum(totalMinimum + extraPayment) }}/month
Repayment Strategy
Avalanche — Pay highest interest rate first. Minimises total interest paid.
Snowball — Pay smallest balance first. Motivating early wins.
Add your debts above to see your personalised repayment plan.
Total Interest
S${{ fmtNum(activeResult.totalInterest) }}
interest paid
Total Paid
S${{ fmtNum(activeResult.totalPaid) }}
principal + interest
Interest Saved
S${{ fmtNum(Math.abs(result.comparison.interestSaved)) }}
vs {{ result.comparison.betterStrategy === 'avalanche' ? 'Snowball' : 'Avalanche' }}
Months Saved
{{ Math.abs(result.comparison.monthsSaved) }} mo
vs {{ result.comparison.monthsSaved >= 0 ? 'Snowball' : 'Avalanche' }}
Strategy Comparison
Metric
🏔️ Avalanche
⛄ Snowball
Months to Pay Off
{{ result.avalanche.totalMonths }} months
✓ Best
{{ result.snowball.totalMonths }} months
✓ Best
Total Interest
S${{ fmtNum(result.avalanche.totalInterest) }}
S${{ fmtNum(result.snowball.totalInterest) }}
Debt-Free Date
{{ result.avalanche.debtFreeDate }}
{{ result.snowball.debtFreeDate }}
First Debt Paid
{{ result.avalanche.payoffOrder[0] ? result.avalanche.payoffOrder[0].name + ' (mo. ' + result.avalanche.payoffOrder[0].paidOffMonth + ')' : '—' }}
{{ result.snowball.payoffOrder[0] ? result.snowball.payoffOrder[0].name + ' (mo. ' + result.snowball.payoffOrder[0].paidOffMonth + ')' : '—' }}
{{ result.comparison.summary }}
Payoff Order — {{ strategy === 'avalanche' ? '🏔️ Avalanche' : '⛄ Snowball' }}
-
{{ i + 1 }}{{ item.name }}Original balance: S${{ fmtNum(item.originalBalance) }}Month {{ item.paidOffMonth }}
Balance Over Time — {{ strategy === 'avalanche' ? 'Avalanche' : 'Snowball' }}
Month-by-Month Schedule — {{ strategy === 'avalanche' ? 'Avalanche' : 'Snowball' }}
| Month | {{ d }} (Bal) | {{ d }} (Pmt) | Total Bal |
|---|---|---|---|
| {{ row.month }} | {{ d.balance < 0.01 ? '— PAID —' : 'S$' + fmtNum(d.balance) }} | {{ d.balance < 0.01 && d.payment < 0.01 ? '—' : 'S$' + fmtNum(d.payment) }} | S${{ fmtNum(row.totalBalance) }} |
For illustrative purposes only. Not financial advice. Results are estimates based on fixed-rate assumptions.