Personal Finance, Retirement

How CPF Interest Is Calculated

In Singapore, some of us personal finance geeks, financial bloggers or salaried workers accumulating for retirement look forward to one thing in January every year – the CPF yearly statement.

This statement summarises the transactions and contributions of our CPF accounts – a scheme initially implemented for retirement but now has expanded to cover housing, education and medical needs.

Nothing gets us more excited than looking at the interest we had accumulated.

However, my historical CPF OA always had around $20,000 even though I have already been working for many years. That was because I always repay my housing loan whenever my OA accumulates above $20,000.

So, I usually would get around ~$500 interest every year for my OA. 

I sold my house for the past year, which refunded my OA about $120,000 around Oct 2020. I then reinvested all the additional money with CPFIS in November and kept my CPF OA around ~$20,000.

However, my interest accumulated for 2020 was a mere $550. Surprising? 


Because of the strange way CPF calculates the interests. 

When you time your contributions and deductions matter if you want to earn any interest on them.

Let’s start exploring the CPF website on how it calculates the interest.

How is my CPF Interest Computed and Credited Into My Accounts?

The CPF website’s FAQ states the following message:

Do not be fooled by the plain English used or seemingly straightforward explanation, for it is much more complicated than it looks.

Let us break it down into smaller bite-sized chunks:

#1 Compounding Frequency

The government pays your CPF interest only once a year (On the 1st of Jan) – that is the meaning of the annual compounding. 

On the other hand, your bank usually pays your interests at the end of every month, monthly compounding. 

For the same interest rate of 2.5% p.a. , a monthly compounding frequency will result in more interest than a yearly compounding frequency.

For an amount of $20,000 and the same rate of 2.5% p.a., the annual compound interest will pay $500 while the monthy compounding interest will pay $505.77

#2 Monthly Computation 

The other essential information here is that CPF calculates your interest monthly, meaning that your monthly balance will be multiplied by 2.5% divided by 12 and added every month.

So, if you have $20,000 every month, you will receive $41.67 interest every month.

Interest for the year$500

#3 It Is More Complicated Than You Think

The sentence above basically says it is more complicated than you think it is.

If there are no CPF transactions or contributions, then the interest calculation is pretty straightforward – it will be 2.5% / 12 * whatever amount you have in your OA account for that month.

However, most of us will have monthly contributions and multiple transactions throughout the year. And this affects the amount used by CPF to compute, which the next few sentences are trying to explain further.

#4 Delayed Contributions, Instant Loss On Withdrawals

It means that CPF will take your lowest amount in the month and use it to calculate interest.

For my case, I started Oct 2020 with $20,000 in my CPF account, and I got a refund of $120,000 on the 20th of Oct from my housing loan, CPF would take the lowest amount ($20,000) and calculate the interest of $41.67, i.e. $20,000 * 2.5% / 12. 

That is the meaning of ‘For instance, contributions (including refunds) received this month start earning interest next month.’

If I did not touch my funds in November, the lowest amount in my CPF OA would be $140,000 and I would accordingly receive an interest of $291.67 for that month, i.e. $140,000 * 2.5% / 12.

However, because I withdrew $120,000 in November for investment, my lowest amount for the month of November is $20,000, instead of $140,000. Hence, my interest for November will be $41.67, i.e. $20,000 * 2.5%/12.

Hence, I lost the interest for November. It doesn’t matter if I withdrew the funds on Nov 1st or Nov 30th, CPF only cares about the calendar month.

Whatever you withdrew in this month, you will not earn any interest on it, even if you withdrew it at the end of the calendar month.

So, if you need to withdraw the funds anyway, do it at the beginning of the calendar month.

That is the meaning of ‘Withdrawals/deductions in this month will not earn interest from this month onwards.’

How Should I Have Optimized My Withdrawals

When I received a refund of $120,000, I might want to keep my funds for at least one full calendar month to earn the interest before deducting.

For example, if I receive the amount on the 22nd of Oct, I might want to deduct on the 1st of Dec to earn the interest for Nov. 

That way, I might have ended up with $800 instead of $550 interest for my OA.

Month Amount (End of month balance)InterestAmount (End of month balance)Interest
Interest for 2020$500$750
If not timed correctly, you will not earn any interest on the additional refund/top up if you made a deduction/withdrawal too early

If the deduction was made in Dec instead of Nov, you will earn an extra $250 interest. You will need to let your OA hold the full value (if you made any contributions or received any refunds) for a whole calendar month to earn any interest.

In conclusion

If you find yourself earning less interest from CPF, it is probably reasonable to time your contributions and deductions at a better time.

For contributions, if you can control the timing, you should always contribute in the last week of the month because you will not get any interest by putting the money in CPF early in the month. 

Whether you contribute on the 1st of Jan or the 31st of Jan, that amount will only earn interest on Feb’s 1st.

If you want to make a large deduction, you might want to wait till the 1st day of the next month to do it (to earn the extra interest for this month). 

If you received a large refund or contribution, you might want to wait for at least two months before deducting the amount to ensure you have a full month of interest.


3 thoughts on “How CPF Interest Is Calculated”

  1. Hi, the article has touched on transacting money in and out of the CPF, but i wanted to highlight another different category such as transferring money within CPF (i.e. from OA to SA). I always hear questions if there is a difference for money transferred from OA to SA, does the interest for SA calculate based on the lowest balance in SA (before the OA transfer) or higher balance in SA (after OA transfer) for the month of the transaction.

    From what i heard in this case, the amount transferred will be taken into consideration when computing the SA interest for the transacted month, instead of the next month; and the OA interest will be based on the lower balance (after transferring out the OA amount). This means that for transferring from OA to SA, there is no difference in doing it at any day of the month, as there are no difference in the amount of interest you will receive for this transaction.


    1. Hi honest_me,

      You have rightly pointed out that transfers will earn the recipient interest for the transacted month. The CPF FAQs states the following:

      ‘As for CPF transfers, in general, the recipient will earn interest on such monies received in the month of transfer, and the giver will not since the monies had been deducted. If the giver had received contributions and transferred them, the recipient will then earn interest next month.’

      The FAQ also states that if the giver received contributions and transferred them, the recipient will only earn the interest the next month.

      So, as long as it is a transfer of between your OA and SA and no extra contribution, your SA (the recipient) will earn the interest that month and your OA (the giver) will not earn the interest. Although I am not 100% sure about it, maybe it is still better to check directly with CPF.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s