We are seeking an simple algorithm to determine the order in which a borrower (who will apply a series of additional payments) should pay down his loans in order to become debt free as quickly as possible.
Project Requirements:
Algorithm
Article/Discussion of why the algorithm is correct
Below is an example problem that we would like help with.
Example
I have the three loans listed below. The total number of periods I will be in debt (N) is 219.26. I am making payments (p) of $280, $300, and $100 respectively.
Loan #1
i = 4%
a = $30,000
p = $280
n = 132.77
Loan #2
i = 6%
a = $20,000
p = $300
n = 81.30
Loan #3
i = 15%
a = $500
p = $100
n = 5.19
I am now making enough money to apply an additional $20 (E) to one of the three loans each month. My goal is to reduce the total number of periods I am in debt as much as possible (without respect to cost).
The formula to calculate the total time I am in debt (N) is:
N = n1 + n2 + n3
The formula to determine the number of periods remaining on a loan (n) with a constant interest rate and and payment amount is:
n = -log(1 - ia/p) / log (1 + i)
Question: Looking exclusively at the interest rates (i), principal balances (a), payment amounts (p) of my three loans, is there a simple way to formula that I can use to rank my loans in order of priority to minimize N by appling a series of constant extra payments (E)?
Assuming the following:
I want to apply my additional $20 (E) to my loans in the order that will minimize the total time I am in debt (N), without respect to cost, even if it means paying more money in total.
Once I have one loan paid off I will apply the extra $20 (E) to the next loan, and so on.
I do not need to know how much time will be saved by applying any extra funds to my loans, only the order in which I should apply the extra money (E) to my loans?