Two loans with the same principal and the same interest rate can have wildly different monthly payments and wildly different total costs, depending on term length alone. The formula behind that isn't obvious from a quick glance, and the intuition most people have about it, longer term means a better deal because the payment is smaller, is backwards. This walks through where the formula comes from, what each variable actually does to the payment, and how the principal/interest split shifts month to month.
Skip the math and just run your own numbers: Loan Calculator.
A fixed-rate, fully amortizing loan (the standard structure for mortgages, auto loans, and most personal loans) uses this formula for the fixed monthly payment:
M = P × [ r(1+r)n ] / [ (1+r)n − 1 ]
Where:
The formula falls out of a simple requirement: the payment has to be the same every month, and the loan balance has to hit exactly zero after the last payment. Work backward from "balance after payment n is zero" and this is the equation that satisfies it for any combination of principal, rate, and term. It's not an arbitrary convention, it's the unique fixed payment that fully retires the loan on schedule.
A $20,000 loan at 6% annual interest (0.5% monthly, so r = 0.005) over 48 months (n = 48):
P = 20000
annual_rate = 0.06
r = annual_rate / 12 # 0.005
n = 48
M = P * (r * (1 + r)**n) / ((1 + r)**n - 1)
print(round(M, 2)) # 469.70
The monthly payment comes out to about $469.70. Over the full 48 months, total payments are $469.70 × 48 = $22,545.60, meaning roughly $2,545.60 in interest on top of the original $20,000.
Stretch that same $20,000 loan at 6% to 60 months instead of 48, and the monthly payment drops to about $386.66, which looks like the better deal at a glance. But total interest paid climbs to about $3,199.60, roughly $654 more than the 48-month version, because the balance sits outstanding for a full year longer and interest keeps accruing on it the whole time. Shorten the term instead, say to 36 months, and the payment rises to about $608.44, but total interest drops to roughly $1,903.80. The rate never changed across any of these. Only the term did, and it moved total cost by over $1,600 between the 36-month and 60-month versions.
| Term | Monthly payment | Total interest paid |
|---|---|---|
| 36 months | $608.44 | $1,903.80 |
| 48 months | $469.70 | $2,545.60 |
| 60 months | $386.66 | $3,199.60 |
Amortization schedules confuse people because the principal/interest split isn't constant, it shifts every month. Each month's interest charge is the current remaining balance times the monthly rate, and since the balance is largest at the start of the loan, the interest portion of the first payment is the largest it will ever be. Whatever's left of the fixed payment after covering interest goes to principal, so the principal portion is smallest in month one and grows every month after, as the shrinking balance means less of the payment gets eaten by interest.
def amortization_schedule(principal, annual_rate, months):
r = annual_rate / 12
payment = principal * (r * (1 + r)**months) / ((1 + r)**months - 1)
balance = principal
schedule = []
for month in range(1, months + 1):
interest = balance * r
principal_paid = payment - interest
balance -= principal_paid
schedule.append({
"month": month,
"payment": round(payment, 2),
"interest": round(interest, 2),
"principal": round(principal_paid, 2),
"balance": round(max(balance, 0), 2),
})
return schedule
rows = amortization_schedule(20000, 0.06, 48)
print(rows[0]) # month 1: interest=100.00, principal=369.70
print(rows[-1]) # month 48: interest≈1.95, principal≈467.75
In month 1, $100 of the $469.70 payment goes to interest and $369.70 to principal. By month 48, interest is down to about $1.95 and principal makes up nearly the entire payment. This is exactly why paying extra toward principal early in a loan's life saves more total interest than the same extra payment made later: it reduces the balance that all future interest charges get calculated against, for the longest possible remaining stretch of the loan.
This is the standard fixed-rate amortization formula, and it doesn't account for variable/adjustable rates (where the rate itself changes partway through the loan), origination fees or closing costs (which affect the loan's effective cost but aren't part of the payment formula itself, this is what APR is meant to capture instead of the nominal rate), or prepayment penalties, which some loans charge if you pay off the balance faster than scheduled. None of this is financial advice, run your specific numbers and read your actual loan terms before treating any of the above as your real payment.
Run your own numbers with these exact variables: Loan Calculator.