InterestCalculationForAverageBalanceByExample
Savings Product Details
Savings Product Details:
Interest Rate - 10%
Interest Calculation - every 1 months
Interest Posting - every 3 months
Minimum Balance - 1000 (interest calculation is only applicable when 'average balance' or 'minimum balance' exceeds this value for given calculation period.
Saving Product Details Explained
Interest Rate – The yearly rate at which interest shall be applied. (In Mifos a year can be defined as 365 days or 360days in Accounting Rules configuration)
Interest Calculation Period – every 1 month on the end of the month with dates starting from start of financial year (always 1 Jan in Mifos)
Interest Posting – every 3 months on the end of the month with dates starting from start of financial year (always 1 Jan in Mifos)
Minimum Balance (for interest Calculation) – if the Average or Minimum Balance Principal for a given calculation period is greater or equal to Minimum Balance required then interest calculation is applicable.
Savings Account Created
Account Opened on 19 July 2010.
Savings Account Creation Info
When an account is created in a state other than 'Active', Only a SavingsPerformance is created which is used to track the performance of the account (deposits, withdrawals, interest, missed deposits etc)
Savings Account Activated
Account Activated on 20 July 2010.
Savings Account Activation Info
When an account goes active (for the first time) several things happen.
- account activation date is set.
- The next interest calculation date is determined - in this case as interest calculation occurs every 1 months on end of month, the valid set of interest calculation dates are highlight in the table below.
- The next interest posting date is determined - in this case, occurs every 3 months on end of month, the valid set of interest posting dates highlighted below beside the possible interest calculation dates
- It is only through interest posting that interest is actually compounded on the account.
- Schedules are generated with mandatory/recommend amounts to track payments by group/individual clients.
Possible Interest Calculation and Posting Dates
Date |
Note |
Jan 31 2010 |
possible next calculation date |
Feb 28 2010 |
possible next calculation date |
Mar 31 2010 |
possible next calculation date and posting date |
Apr 30 2010 |
possible next calculation date |
May 31 2010 |
possible next calculation date |
Jun 30 2010 |
possible next calculation date and posting date |
July 31 2010 |
possible next calculation date |
August 31 2010 |
possible next calculation date |
September 30 2010 |
possible next calculation date and posting date |
October 31 2010 |
possible next calculation date |
November 31 2010 |
possible next calculation date |
December 31 2010 |
possible next calculation date and posting date |
Actual Interest Calculation and Posting Dates based on Account Activation
The account goes active on 20 July 2010
Date |
Total Balance |
Next Calculation Date |
Next Posting Date |
Note |
19 July 2010 |
0 |
account created pending approval |
||
20 July 2010 |
0 |
31 July 2010 |
30 September 2010 |
account activated |
Savings Account Transactions - First Non Zero Balance Transaction (Deposit/Withdrawal)
On 25th of July, a deposit of 1000 is made. No other activity occurs on the account which results in the account state looking like below.
Date |
Activity |
Amount |
Total Balance |
Next Calculation Date |
Next Posting Date |
Note |
19 July 2010 |
0 |
0 |
account created pending approval |
|||
20 July 2010 |
0 |
0 |
31 July 2010 |
30 September 2010 |
account activated |
|
25 July 2010 |
Deposit |
1000 |
1000 |
31 July 2010 |
30 September 2010 |
account activated |
As a result, on midnight of 31 July 2010 - 1 Aug 2010, the savings interest calculation batch will run and calculate interest for this account.
Calculation periods where first deposit occurs are handled is slightly special way.
Strictly speaking, the 'calculation period' is monthly so is from 1st of July to 31st of July 2010. However the account was only created on the 19th of July.
- The 'average balance' is NOT calculated from the account creation date - 19 July 2010.
- The 'average balance' is NOT calculated from the account activation date - 20 July 2010.
- The 'average balance' is calculated from the first day of activity that results in a non-zero balance which is - 25 July 2010.
Average balance worked out for july
Given the average balance equation shown above:
Starting from 25th of July:
- 25th of July to 31st July = 6 days duration (not including the 25th itself)
- 25th of July to 31st July = 1000 balance for duration
- P (July) = (1000 * (25 to 31 July) / (25 to 31 July) =(1000 * 6) / 6 = 1000 (since the P >= 1000, interest should be calculated)
- r (July) = interest / 100 * (25 to 31 July) / (Number of Days in current financial year) = (10 / 100) * (6 / 365) = 6 / 3650
- I (July) = P (r) = 1000 (6 / 3650) = 1.64 (rounding up to 2 decimal)
This interest is not posted (as its not due to be posted) but is instead stored in a interest to be posted column on savings_account. The next interest calculation date is upated to end of 1 month from last (Aug 31 2010) leaving the account looking like the following for July.
Date |
Activity |
Amount |
Total Balance |
Interest To Be Posted |
Next Calculation Date |
Next Posting Date |
Note |
19 July 2010 |
0 |
0 |
0 |
account created pending approval |
|||
20 July 2010 |
0 |
0 |
0 |
31 July 2010 |
30 September 2010 |
account activated |
|
25 July 2010 |
Deposit |
1000 |
1000 |
0 |
31 July 2010 |
30 September 2010 |
deposit made |
31 July 2010 |
Interest Calculated |
1.64 |
1000 |
1.64 |
31 August 2010 |
30 September 2010 |
|
Savings Account Transactions (deposit/withdrawal)
There is no activity as the account rolls into August but a deposit is made on the 10th of August and a withdrawal near the end on the 30th of August. This leaves the account looking like this before interest calculation runs again on 31st of August.
Date |
Activity |
Amount |
Total Balance |
Interest To Be Posted |
Next Calculation Date |
Next Posting Date |
Note |
1st August 2010 |
0 |
1000 |
1.64 |
31 August 2010 |
30 September 2010 |
balance brought over from July |
|
10th August 2010 |
Deposit |
500 |
1500 |
1.64 |
31 August 2010 |
30 September 2010 |
deposit of 500 |
30th August 2010 |
Withdrawal |
1000 |
500 |
1.64 |
31 August 2010 |
30 September 2010 |
withdrawal of 1000 |
Interest Calculation Period is from 1st August to 31 August = 31 days duration
For 10 days the balance was 1000, for 20 days it was 1500 and for 1 day it was 500: thus
P (Aug) = ((1000 *10) + (1500 * 20) + (500 * 1)) / 31 = (10000 + 30000 + 500) / 31 = 40500 / 31 ( >= 1000)
r (Aug) = (10 / 100) * (31 / 365) = 31 / 3650
I (Aug) = P (r) = 40500 / 31 * (31 / 3650) = 11.10
Calculated interest from this period, 11.10 is added to previously calculated interest (1.64) resulting in 12.74 interest for July and August. The interest is still not compounded.
Which results in account looking like the following for August.
Date |
Activity |
Amount |
Total Balance |
Interest To Be Posted |
Next Calculation Date |
Next Posting Date |
Note |
1st August 2010 |
0 |
1000 |
1.64 |
31 August 2010 |
30 September 2010 |
balance brought over from July |
|
10th August 2010 |
Deposit |
500 |
1500 |
1.64 |
31 August 2010 |
30 September 2010 |
deposit of 500 |
30th August 2010 |
Withdrawal |
1000 |
500 |
1.64 |
31 August 2010 |
30 September 2010 |
withdrawal of 1000 |
31 August 2010 |
Interest Calculated |
11.10 |
500 |
12.74 |
30 September 2010 |
30 September 2010 |
|
Savings Account Transactions (interest posting and no interest calculation for failing to reach minimum balance)
Again, there is little activity in September but for a deposit and withdrawal but interest is due to be calculated and compounded at the end of the month.
Date |
Activity |
Amount |
Total Balance |
Interest To Be Posted |
Next Calculation Date |
Next Posting Date |
Note |
01st September 2010 |
0 |
500 |
12.74 |
30 September 2010 |
30 September 2010 |
balance brought over from August |
|
15th September 2010 |
Deposit |
1000 |
1500 |
12.74 |
30 September 2010 |
30 September 2010 |
deposit of 1000 |
25th September 2010 |
Withdrawal |
500 |
1000 |
12.74 |
30 September 2010 |
30 September 2010 |
withdrawal of 500 |
First of all interest is calculated for the period.
Interest Calculation Period is from 1st September to 30 September = 30 days duration
For 15 days the balance was 500, for 10 days it was 1500 and for 5 days it was 1000: thus
P (Sept) = ((500 * 15) + (1500 * 10) + (1000 * 5)) / 30 = (7500 + 15000 + 5000) / 30 = 27500 / 30 ( is not >= 1000) so no interest should be calculated
r (Sept) = (10 / 100) * (30 / 365) = 3 / 365
I (Sept) = P (r) = 0 because of minimum balance condition
Next the interest that is due to be posted is posted to account (12.74) and this value is reset to zero, next interest calculation and posting dates are also updated making the end of month account look like.
Date |
Activity |
Amount |
Total Balance |
Interest To Be Posted |
Next Calculation Date |
Next Posting Date |
Note |
01st September 2010 |
0 |
500 |
12.74 |
30 September 2010 |
30 September 2010 |
balance brought over from August |
|
15th September 2010 |
Deposit |
1000 |
1500 |
12.74 |
30 September 2010 |
30 September 2010 |
deposit of 1000 |
25th September 2010 |
Withdrawal |
500 |
1000 |
12.74 |
30 September 2010 |
30 September 2010 |
withdrawal of 500 |
31st September 2010 |
Interest Calculated and posted |
0 + 12.74 |
1012.74 |
0 |
31 October 2010 |
31 December 2010 |
interest posted |
Savings Account Transactions (adjustments or back-dated transactions)
The account at the start of October looks like the following:
Date |
Activity |
Amount |
Total Balance |
Interest To Be Posted |
Next Calculation Date |
Next Posting Date |
Note |
01st October 2010 |
0 |
1012.74 |
0 |
31 October 2010 |
31 December 2010 |
balance brought forward from September |
There is no activity in October except for an adjustment of a previous transaction. (At present Mifos only allows adjustment of the very last transaction so we will adjust the withdrawal transaction). Instead of withdrawing 500 on 25th of September, it should of being Zero.
So September account really looks like this now:
Date |
Activity |
Amount |
Total Balance |
Interest To Be Posted |
Next Calculation Date |
Next Posting Date |
Note |
01st September 2010 |
0 |
500 |
12.74 |
30 September 2010 |
30 September 2010 |
balance brought over from August |
|
15th September 2010 |
Deposit |
1000 |
1500 |
12.74 |
30 September 2010 |
30 September 2010 |
deposit of 1000 |
25th September 2010 |
Withdrawal |
500 |
1000 |
12.74 |
30 September 2010 |
30 September 2010 |
withdrawal of 500 |
25th September 2010 |
Adjustment |
-500 |
1500 |
12.74 |
30 September 2010 |
30 September 2010 |
adjust withdrawal of 500 |
25th September 2010 |
Withdrawal |
0 |
1500 |
12.74 |
30 September 2010 |
30 September 2010 |
withdrawal of 0 |
And as a result of this Septembers interest calculation should of being:
Interest Calculation Period is from 1st September to 30 September = 30 days duration
For 15 days the balance was 500, for 10 days it was 1500 and for 5 days it was 1500: thus
P (Sept) = ((500 * 15) + (1500 * 10) + (1500 * 5)) / 30 = (7500 + 15000 + 7500) / 30 = 30000 / 30 ( is = 1000) so interest should of being calculated!
r (Sept) = (10 / 100) * (30 / 365) = 3 / 365
I (Aug) = P (r) = 30000 / 30 * (30 / 3650) = 8.2197 = 8.22
As a result Septembers closing balance and Octobers opening balance should look like this:
Date |
Activity |
Amount |
Total Balance |
Interest To Be Posted |
Next Calculation Date |
Next Posting Date |
Note |
31st September 2010 |
Interest Calculated and posted |
8.22 + 12.74 |
1020.96 |
0 |
31 October 2010 |
31 December 2010 |
interest posted |
01st October 2010 |
|
0 |
1020.96 |
0 |
31 October 2010 |
31 December 2010 |
balance brought forward from September |