The total number of payment periods (e.g., 5 years * 12 months = 60).
Payment made each period. Use negative (-) for outgoing payments.
Total amount that a series of future payments is worth now (e.g., loan principal).
Cash balance you want to attain after the last payment. Default is 0.
Your estimate of the rate (helps the formula converge). Default is 0.1 (10%).
Periodic Rate (Per Period):–
Nominal Annual Rate (x12):–
Excel Syntax:–
function calculateExcelRate() {
// Clear errors
var errorDiv = document.getElementById("error-message");
errorDiv.style.display = "none";
errorDiv.innerText = "";
// Get Inputs
var nper = parseFloat(document.getElementById("nper").value);
var pmt = parseFloat(document.getElementById("pmt").value);
var pv = parseFloat(document.getElementById("pv").value);
var fv = parseFloat(document.getElementById("fv").value);
var guess = parseFloat(document.getElementById("guess").value);
// Validation
if (isNaN(nper) || isNaN(pmt) || isNaN(pv)) {
errorDiv.innerText = "Please fill in NPER, PMT, and PV with valid numbers.";
errorDiv.style.display = "block";
document.getElementById("result-area").style.display = "none";
return;
}
if (isNaN(fv)) fv = 0;
if (isNaN(guess)) guess = 0.1;
// Newton-Raphson method to solve for rate
// Formula: PV * (1+r)^n + PMT * ((1+r)^n – 1) / r + FV = 0
var rate = guess;
var maxIter = 50;
var precision = 0.0000001;
var resolved = false;
for (var i = 0; i < maxIter; i++) {
// Handle rate = 0 case
if (Math.abs(rate) < precision) {
var y = pv * (1 + nper * rate) + pmt * nper + fv;
} else {
var f = Math.pow(1 + rate, nper);
var y = pv * f + pmt * (1 / rate) * (f – 1) + fv;
// Derivative
var df_dr = nper * pv * Math.pow(1 + rate, nper – 1) +
pmt * ((nper * rate * Math.pow(1 + rate, nper – 1) – (f – 1)) / (rate * rate));
var newRate = rate – y / df_dr;
if (Math.abs(newRate – rate) < precision) {
rate = newRate;
resolved = true;
break;
}
rate = newRate;
}
}
if (!resolved && i === maxIter) {
errorDiv.innerText = "Calculation did not converge. Please check your inputs (Sign convention: PV positive, PMT negative).";
errorDiv.style.display = "block";
document.getElementById("result-area").style.display = "none";
return;
}
// Display Results
var periodicPercentage = (rate * 100).toFixed(4) + "%";
var annualPercentage = (rate * 12 * 100).toFixed(4) + "%";
document.getElementById("periodic-rate-result").innerText = periodicPercentage;
document.getElementById("annual-rate-result").innerText = annualPercentage;
document.getElementById("syntax-result").innerText = "=RATE(" + nper + ", " + pmt + ", " + pv + ", " + fv + ")";
document.getElementById("result-area").style.display = "block";
}
How to Calculate Rate Per Period in Excel
Calculating the "rate per period" is a fundamental task in financial modeling within Excel. Whether you are analyzing a mortgage, a car lease, or an investment annuity, knowing the periodic interest rate is crucial for verifying payment schedules and understanding the true cost of borrowing.
This article explains how to determine the periodic rate using Excel's built-in functions and the mathematical logic behind it.
Understanding "Rate Per Period"
The Rate Per Period is the interest rate charged or earned for a specific time interval (e.g., one month), rather than the whole year. Most loans are quoted in Annual Percentage Rate (APR), but the compounding usually happens monthly.
There are two primary ways to calculate this in Excel, depending on the data you have:
Method 1: Simple Division (When Annual Rate is Known)
If you already know the annual nominal rate and the number of compounding periods per year, the calculation is a simple division:
= Annual_Rate / Periods_Per_Year
Example: For a 6% APR compounded monthly: = 6% / 12 results in 0.5% per period.
Method 2: The RATE Function (When Rate is Unknown)
Often, you do not know the interest rate. Instead, you know the loan amount (PV), the monthly payment (PMT), and the duration (NPER). To reverse-engineer the rate, Excel uses the RATE function.
Payment made each period. Must differ in sign from PV.
-500 (Outgoing cash)
PV
Present Value (Total amount of loan/investment).
25000 (Incoming loan)
FV
Future Value (Balance after last payment). Default is 0.
0
Important Note on Sign Convention
Excel requires a strict cash flow sign convention to calculate the rate correctly:
Money received (Inflow): Should be a positive number (e.g., the loan amount you receive).
Money paid (Outflow): Should be a negative number (e.g., the monthly payment you make).
If you enter both PV and PMT as positive numbers in Excel (or in the calculator above), the formula will return a #NUM! error because the equation cannot be balanced (you cannot receive a loan and receive payments simultaneously without an infinite rate).
Example Calculation
Suppose you take a loan of 10,000. You are required to pay back 300 every month for 36 months. What is the interest rate?
NPER: 36
PMT: -300 (Negative because you are paying it)
PV: 10000 (Positive because you received it)
Formula:=RATE(36, -300, 10000)
The result is approximately 0.42% per month. To get the annual rate, you would multiply this result by 12, giving roughly 5.06% annually.
Why Use a Calculator?
The mathematical formula behind the RATE function is complex. It involves solving for r in the annuity equation:
PV = (PMT / r) * (1 – (1+r)^-n)
This variable cannot be isolated using simple algebra. It requires an iterative numerical method (like the Newton-Raphson method used in our calculator above) to approximate the value until the error margin is negligible.