Application Center - Maplesoft

App Preview:

Why is the Minimum Payment on a Credit Card So Low?

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application



Why is the Minimum Payment on a Credit Card Bill so Small? 

by Jason Schattman
Sir John A. Macdonald Secondary School, Waterloo, Canada


On a monthly credit card balance of $1000, a typical credit card company will only ask for a minimum payment of $20.  Why do credit card companies do that?  Let's see if Maple can lead us to some insights. 


Mathematics of Credit Card Debt 

Suppose we do what the company wants and make only the minimum payment p every month against an initial balance of b.  If the company charges monthly interest rate r, what is the balance after n months? 


Let's make a quick table and see if we can notice a pattern. 


Balance After n Months 

One Month:  

(`+`(b, `-`(p)))(`+`(1, r)) = `+`(b(`+`(1, r)), `-`(p(`+`(1, r))))

Two Months:  

`+`(`*`(`^`(b(`+`(1, r)), 2)), `-`(`*`(`^`(p(`+`(1, r)), 2))), `-`(p(`+`(1, r)))) 


Three Months: 

`+`(`*`(`^`(b(`+`(1, r)), 3)), `-`(`*`(`^`(p(`+`(1, r)), 3))), `-`(`*`(`^`(p(`+`(1, r)), 2))), `-`(p(`+`(1, r)))); -1 


Four Months: 

`+`(`*`(`^`(b(`+`(1, r)), 4)), `-`(`*`(`^`(p(`+`(1, r)), 4))), `-`(`*`(`^`(p(`+`(1, r)), 3))), `-`(`*`(`^`(p(`+`(1, r)), 2))), `-`(p(`+`(1, r)))); -1
`+`(`*`(`^`(b(`+`(1, r)), 4)), `-`(`*`(`^`(p(`+`(1, r)), 4))), `-`(`*`(`^`(p(`+`(1, r)), 3))), `-`(`*`(`^`(p(`+`(1, r)), 2))), `-`(p(`+`(1, r)))); -1



Looking at the pattern we have developed, the balance after "n" months would be: 

`:=`(Balance, proc (n, r, p, b) options operator, arrow; `+`(`*`(b, `*`(`^`(`+`(1, r), n))), `-`(`*`(p, `*`(sum(`^`(`+`(1, r), i), i = 1 .. n))))) end proc); -1 

Example 1 


Problem Statement: 


If your credit card company charges a monthly interest rate of 2% (annually 24%) on an initial balance of $1000, and you make a monthly payment of $30, what is your balance after one year? 




Let's use the formula that we just derived, where n = 12, r = 0.2e-1, p = 30 and b = 1000. 


Balance(12, 0.2e-1, 30, 1000) = 857.8318494 


Your new balance after one year would be  

This means you've paid the credit card company `*`(12, 30) = 360 over one year, but only reduced your balance by `+`(1000, -857.83) = 142.17.  You've paid `+`(360, -142.17) = 217.83 in interest charges...and this on a balance of just $1000!  Yikes. 


How Long Does it Take to Get Out of Debt? 

We would also like to know how many payments we would need to pay off our debt. Let's set our balance formula to zero, solve for nand assign this expression to N; -1 


Balance(n, r, p, b) = `+`(`*`(b, `*`(`^`(`+`(1, r), n))), `-`(`*`(p, `*`(`+`(`/`(`*`(`^`(`+`(1, r), `+`(n, 1))), `*`(r)), `-`(`/`(`*`(`+`(1, r)), `*`(r))))))))n = `/`(`*`(ln(`+`(`-`(`/`(`*`(p, `*`(`+`(1, r))), `*`(`+`(`*`(b, `*`(r)), `-`(p), `-`(`*`(p, `*`(r)))))))))), `*`(ln(`+`(1, r)))) 


`:=`(N, proc (r, p, b) options operator, arrow; `/`(`*`(ln(`+`(`-`(`/`(`*`(p, `*`(`+`(1, r))), `*`(`+`(`*`(b, `*`(r)), `-`(p), `-`(`*`(p, `*`(r)))))))))), `*`(ln(`+`(1, r)))) end proc); -1 


Example 2 


Problem Statement: 


How many months would it take to pay off a balance of $1000 if we made $30 monthly payments while being charged 2% monthly interest? 




Let's use our formula for N: 


N(0.2e-1, 30, 1000) = 53.5356239354 months 


It would take 54 months (4.5 years!) to pay off our debt with a monthly payment of $30.  We've made total payments of `*`(54, 30) = 1620, of which $620 is interest! 


What if we double the payment to $60?  Do we cut the time in half? 


Compare this to N(0.2e-1, 60, 1000) = 19.9826481120 months. 


The time is much less than half!  And this time we've only made total payments of `*`(20, 60) = 1200, saving $420 in interest payments. 




Let's visualize the formula for N. Below we plot the number of months N needed to pay down an initial debt of $1000 as a function of the monthly payment p, assuming a monthly interest rate of 2%. 


plot(N(0.2e-1, p, 1000), p = 0 .. 50) 




Close to p = $20, notice that the time to pay off our debt increases to infinity! 




Recall the formula for time N needed to get out of debt: 


N(r, p, b) = `/`(`*`(ln(`+`(`-`(`/`(`*`(p, `*`(`+`(1, r))), `*`(`+`(`*`(b, `*`(r)), `-`(p), `-`(`*`(p, `*`(r)))))))))), `*`(ln(`+`(1, r)))) 

The time becomes infinite as the value `+`(`-`(br), p, pr) approaches 0.
Solving `+`(`-`(br), p, pr) = 0 for
p, we have 


`+`(`-`(`*`(b, `*`(r))), p, `*`(p, `*`(r)))p = `/`(`*`(b, `*`(r)), `*`(`+`(1, r)))p = 19.60784314 


(Note that when we select "Isolate for p", Maple assumes the expression is equal to zero unless otherwise specified.) 


That is, if we pay less than $19.61 per month, it will take an infinitely long time to get out of debt.  This is where we saw the asymptote above!  (Note also that `+`(`*`(0.2e-1, `*`(`+`(1000, -19.60784314)))) = 19.60784314. That is, the payment is just enough to cover the monthly interest charge.)

Let's see this graphically by plotting our balance formula for pp = 19.61, p = 30, and p = 60 over a five year period.  (Notice the green curve crosses the
n axis at n = 54.) 


plot([Balance(n, 0.2e-1, 19.61, 1000), Balance(n, 0.2e-1, 30, 1000), Balance(n, 0.2e-1, 60, 1000)], n = 0 .. 60, view = [default, 0 .. 1000])
plot([Balance(n, 0.2e-1, 19.61, 1000), Balance(n, 0.2e-1, 30, 1000), Balance(n, 0.2e-1, 60, 1000)], n = 0 .. 60, view = [default, 0 .. 1000])


The balance virtually remains constant for p=20! Now we know what the credit card companies are after - they want you to stay in debt forever! 


Legal Notice: The copyright for this application is owned by the author(s). Neither Maplesoft nor the author are responsible for any errors contained within and are not liable for any damages resulting from the use of this material.. This application is intended for non-commercial, non-profit use only. Contact the author for permission if you wish to use this application in for-profit activities.