# Effective interest rate of two loans

Let's say I have two loans and want to calculate the "effective" interest rate. To make things easy let's assume they have the same principal and the same terms (30 years), just two different interest rates.

I modeled this in Excel by simply matching the total payment and found (somewhat surprisingly) that the result is not equal to the average of the interest rates.

Example:

``````Loan 1: 100k @ 1%, monthly: \$321
Loan 2: 100k @ 5%, monthly: \$537
Combination: 200k  monthly: \$858 -> rate is 3.14%
``````

I get different results for 0%/6%, 1%/5%, 2%/4% 3%/3% splits. How do I calculate the "effective" interest rates from the two original rates? What's the math behind that?

• For an intuitive explanation, note that the interest is weighted heavily into the higher-rate loan, so it tends to compound at the higher rate. May 18 at 18:16

For the two rates `r1` & `r2`, calculating repayments `d1` & `d2`, the effective monthly rate is `r`, calculated below.

``````s = 100000
n = 30*12 = 360

r1 = 0.01/12 = 0.0008333
d1 = (r1 (1 + r1)^n s)/((1 + r1)^n - 1) =  321.64

r2 = 0.05/12 = 0.0041666
d2 = (r2 (1 + r2)^n s)/(-1 + (1 + r2)^n) = 536.82

2 s = ((d1 + d2) (1 + r)^-n ((1 + r)^n - 1))/r
∴ r = 0.00261726

(r1 + r2)/2 = 0.0025
``````

Effective annual rates are

``````a1 = (1 + 0.01/12)^12 - 1 = 0.010046
a2 = (1 + 0.05/12)^12 - 1 = 0.0511619
(1 + 0.00261726)^12 - 1 = 0.0318631

(a1 + a2)/2 = 0.0306039
``````

The combined rate is above the average.

Simplifying the problem to effective annual rates 3% and 7% with annual payment, the combined rate is equal to the average 5% if the term is 1 year. Thereafter the combined rate is above average, as shown below. Simplifying the equations.

``````2 s = ((d1 + d2) (1 + r)^-n ((1 + r)^n - 1))/r

(d1 + d2) = (r1 + r1/(-1 + (1 + r1)^n) +
r2 + r2/(-1 + (1 + r2)^n)) s

∴ 2 = (r1 + r1/((1 + r1)^n - 1) +
r2 + r2/((1 + r2)^n - 1)) * ((1 + r)^n - 1)/(r (1 + r)^n)
``````

This is the basic relationship between the interest rates. When `n = 1` `r` is the average of `r1` & `r2`. When `n > 1` `r` is above the average.