Rd Rate Calculator

Recurring Deposit (RD) Calculator

Plan your savings and calculate maturity returns

Total Amount Invested: 0
Estimated Yield/Interest: 0
Total Maturity Value: 0

Understanding the RD Rate Calculation

A Recurring Deposit (RD) is a unique investment tool that allows individuals to deposit a fixed amount every month for a pre-defined period. Unlike a Fixed Deposit where you invest a lump sum, an RD builds your corpus systematically.

How the Math Works

Most financial institutions calculate RD returns using quarterly compounding. The formula utilized in this calculator is:

M = P * [(1 + i)^n – 1] / [1 – (1 + i)^(-1/3)]
  • M: Maturity Value
  • P: Monthly Installment
  • i: Rate / 400 (for quarterly compounding)
  • n: Number of quarters (Tenure in months / 3)

Practical Example

Suppose you decide to save 2,000 units every month for 12 months at an annual rate of 7%.

  • Total Investment: 2,000 * 12 = 24,000
  • Accrued Interest: ~921
  • Maturity Value: ~24,921

This allows small-scale savers to benefit from compound growth without needing a large initial capital.

function calculateRD() { var P = parseFloat(document.getElementById('rd_monthly_deposit').value); var r = parseFloat(document.getElementById('rd_annual_rate').value); var t = parseInt(document.getElementById('rd_tenure_months').value); if (isNaN(P) || isNaN(r) || isNaN(t) || P <= 0 || r <= 0 || t <= 0) { alert("Please enter valid positive numbers for all fields."); return; } // Standard Banking Formula for RD Maturity (Quarterly Compounding) // M = P * ((1+i)^n – 1) / (1 – (1+i)^(-1/3)) // where i = r/400 and n = total quarters var i = r / 400; var n = t / 3; // Number of quarters var maturityValue = P * ( (Math.pow(1 + i, n) – 1) / (1 – Math.pow(1 + i, -1/3)) ); var totalInvested = P * t; var totalInterest = maturityValue – totalInvested; // Update UI document.getElementById('res_total_invested').innerText = totalInvested.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('res_total_interest').innerText = totalInterest.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('res_maturity_value').innerText = maturityValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2}); document.getElementById('rd_results').style.display = 'block'; }

Leave a Comment