Amortization Methods

Loans are a regular part of our lives, whether it’s for purchasing a car, a house, or even electronics. They help ease our financial burden to some extent. However, it’s important to understand that loan repayment methods can vary. Some loans follow equal principal repayment, while others use equal installment payment. What do these terms mean, and how do they affect your debt? Let’s explore the details today!

Mathematical model-Amortization with equal payments of Principal

\(Principal_{t} = \frac{Loan\ amount}{Loan\ period}\)

\(Interest_{t} = Outstanding\ Balance_{t-1} \times i\)

\(Total\ Payment_{t} = Interest_{t} + Principal_{t}\)

Example1

Let’s take an example: The loan amount is $10,000, with an annual interest rate of 5% and a loan period of 10 years. We make equal principal payments each time.

We can obtain the Amortization Schedule_1 below:

Example 1-table

Time Total_Payment Interest Principal Outstanding_Balance
1 1500 500 1000 9000
2 1450 450 1000 8000
3 1400 400 1000 7000
4 1350 350 1000 6000
5 1300 300 1000 5000
6 1250 250 1000 4000
7 1200 200 1000 3000
8 1150 150 1000 2000
9 1100 100 1000 1000
10 1050 50 1000 0

Plot of Amortization Schedule 1

This is a Stacked Chart showing the Total Payments, Interest Payment, and Principal Payment for each period.

Mathematical model-Amortization with equal installment payments:

\(Total\ Payment_{t} = \frac{Loan\ amount }{\frac{1- (\frac{1}{1+i})^n}{i}}\)

\(Interest_{t} = Outstanding\ Balance_{t-1} \times i\)

\(Principal_{t} = Total\ Payment_{t} - Interest_{t}\)

Example 2

Let’s take the same example: The loan amount is $10,000, with an annual interest rate of 5% and a loan period of 10 years. We make equal installment payments each time.

We can obtain the Amortization Schedule_2 below:

Example 2-table

Time Total_Payment Interest Principal Outstanding_Balance
1 1295.046 500.00000 795.0457 9204.954
2 1295.046 460.24771 834.7980 8370.156
3 1295.046 418.50781 876.5379 7493.618
4 1295.046 374.68091 920.3648 6573.253
5 1295.046 328.66267 966.3831 5606.870
6 1295.046 280.34352 1014.7022 4592.168
7 1295.046 229.60841 1065.4373 3526.731
8 1295.046 176.33654 1118.7092 2408.022
9 1295.046 120.40108 1174.6447 1233.377
10 1295.046 61.66885 1233.3769 0.000

Plot of Amortization Schedule 2

This is also a Stacked Chart showing the Total Payments, Interest Payment, and Principal Payment for each period.

Comparison Plot 1

We can compare them on the one page:

Comparison Table

Let’s take a look at the comparison table for the total amount.

Amount Level_Principal Level_Payment
Total_Payment_Sum 12750 12950.457
Interest_Sum 2750 2950.457
Principa1_Sum 10000 10000.000

Plot of Comparison Table

Let’s see more clear.

Conclusion

We can obtain that:

  1. In the equal principal payment method, the total repayment amount decreases over time because the remaining principal decreases, resulting in less interest being generated.

  2. In the equal installment payment method, the total repayment amount stays the same each period. As the outstanding principal decreases, the interest payment also decreases, causing a higher proportion of each payment to go towards repaying the principal.

Conclusion

Given the same loan term and interest rate, the equal installment payment method accrues more interest compared to the equal principal payment method. If you want to minimize your payments to the lender, you might prefer the equal principal payment method. However, if you prioritize a steady cash flow to ease your financial burden, you might opt for equal installment payments since they initially require a heavier repayment load.

My R code

This my R code for Comparison Plot 1:
p1_plotly<-ggplotly(p1)                         #change the format
p2_plotly<-ggplotly(p2)                         #change the format
subplot(p1_plotly, p2_plotly,shareY = TRUE)%>%  #use function
  layout(                                       #design the layout
  title = "Level Principal VS Level Payments",
  xaxis = list(title = "Time"),
  yaxis = list(title = "Total_Payments"),
  legend = list(tracegroupgap = 0),
  annotations = list(                          #design the annotation
  list(
      x = 0.5,
      y = 1.05,
      xref = "paper", 
      yref = "paper",
      text = "Payments for interests and principal",
      showarrow = FALSE,
      font = list(size = 12, color = "black"))))