2

Quoting from "Numbers Guide" book by The Economist (sixth edition):

"An even bigger discrepancy occurs with discounting of interest on many personal or consumer loans. For example, an advance of $1,000 at 12.5% discounted in advance and repayable over 12 months attracts interest of $125. The principal is grossed up and repaid in installments of $1,125 รท 12 = $93.75. But since the balance declines steadily the effective interest rate is actually 24.75%. This is nearly double the quoted discount rate"

Could somebody explain how the 24.75% eip is being calculated?

The closest I could get to that number is with the Python code below but the calculations don't make sense to me.

def eir(i, PV, n):
return (i / PV) / n

pv = 1000 r = 0.125 fv = pv * (1 + r) installment = fv / 12

rs = 0 f = 1 print(pv, fv, installment)

while fv > 0: r = eir(installment, fv, 1) print(r) rs += r fv -= installment

print('result=', rs/12)

Which gives about 25.86%.

Eugen
  • 273
  • 3
  • 8

2 Answers2

2

I use GNU Octave for these calculations.

What you are essentially asking is what is the interest rate of 93.75 paid every month in a year to pay back 1000.

Is it 24.75%?

Yes, as 93.75*sum(1./1.2475.^[(1:12)/12]) is 1000.

If you don't already know the answer, use the formula and vary the number 1.2475 so that you get what you originally borrowed out of the formula.

I'd say only conmans use these loan calculation methods that almost double the effective interest rate. In most areas, there are consumer protection laws that need to tell what is the effective interest rate of the loan, which in this case would be 24.75%. So you would be told "our interest rate is 12.5% but the effective interest rate is 24.75%".

Another way to ramp up the effective interest rate is to use high fees that are independent of the amount borrowed.

juhist
  • 6,773
  • 18
  • 24
0

Please refer to a recent answer:

This answer explains why it cannot be "solved by hand" or by formula. It must be done using financial libraries (pretty sure R has third party package), "brute force", "binary search", or RATE() of Excel.

No need to re-invent the wheel:

import numpy_financial as npf
r_month = npf.rate(12, -93.75, 1000, 0)
eir = (1 + r_month)**12 - 1

Calculator

JohnFx
  • 53,876
  • 13
  • 137
  • 250
base64
  • 10,480
  • 2
  • 27
  • 39