February 22, 2017 Update: Merged the “minimum payment” and “minimum payment type” columns and added an “extra” field

January 26, 2017 Update: I added a sentence mentioning debt stacking / debt avalance.

November 29, 2016 Update: I cleaned up the code some, simplified the input table, performed some bug fixes, and provided a better default example.

I was curious as to the difference between the two methods of snowballing debt. The snowball method, if you’re not familiar with it, is often used when you have multiple debts. You keep paying the same amount each month, and when you finish paying off one debt, you add that payment amount to another debt. The other debt is either the one with the lowest balance, which is much more commonly associated with the snowball method, or the one with the highest interest rate, which is more mathematically advantageous. This second method is sometimes called debt stacking or debt avalanche in order to contrast it with the debt snowball.

Scroll down to the bottom to play with the variables. I used c3 for the charts, which in turn uses d3. I also used jQuery. After I was done, I used jscompress.com to minify and hopefully improve some performance. Check out the unminified code here.

Just Making the Payments

Total Paid

Total Balance and Minimum Payment over Time

Total Accounts over Time

Snowball Method Using the Highest Rate

Total Paid

Total Balance and Minimum Payment over Time

Total Accounts over Time

Snowball Method Using the Lowest Balance

Total Paid

Total Balance and Minimum Payment over Time

Total Accounts over Time