Since I started MoneyGeek, readers have frequently asked me questions such as the following
"Should I keep U.S. stocks in my RRSP account?"
"Which items in MoneyGeek's portfolio should be contained within RRSP, TFSA, non-registered portfolios?"
In summary, readers wanted to know how they should divide up their money between RRSP, TFSA and non-registered accounts in such a way as to minimize taxes over their lifetimes.
Answering such questions, however, was tricky. The answer depended on each person's unique circumstances, including their age and income level among other factors. I promised my readers that I will work on a tool that will answer this question for them.
Today, I'm happy to announce that the wait is over. Ladies and gentlemen, please allow me to introduce the "Investment Tax Optimizer". You can access the public version of this tool by clicking on this link, or by going to the Resources menu.
What The Tool Does
The investment tax optimizer takes in various information about your financial circumstances as well as your expectation regarding your investments, and spits out a breakdown of where you should hold your investments.
For example, if you say you want to hold $20,000 in Canadian stocks and $10,000 in Canadian bonds, it might spit out an answer that says you should hold the $20,000 Canadian stocks in the TFSA, and the bonds in the RRSP.
That's what the tool does, but how does the tool come up with the answer? Let me explain as best as I can.
How The Tool Calculates Your Answer
Basically, the tool gets the answer by trying out a lot of different scenarios and by picking out the best scenario.
Each scenario consists of sets of priorities, which consists of the order of the investments, and the order of the tax vehicles.
For example, one priority might look something like this: [Canadian Stocks, Canadian Bonds], [TFSA, RRSP, non-registered]. In plain language, this means the tool will first try to fit as much Canadian stocks into the TFSA account as it can. If the TFSA account gets full, it will try to put the rest inside the RRSP. If that gets full, it will put the rest inside a non-registered account.
Once all the Canadian stocks are fitted inside the accounts, the tool will try to fit the bonds in the same order. In other words, it will try to fit as much bonds inside the TFSA first, and then try the RRSP, and then the non-registered account.
The algorithm tries all possible priorities. In other words, it will try priorities including [Canadian Bonds, Canadian Stocks], [RRSP, TFSA, nonregistered] (i.e. Fit the bonds in inside RRSPs first) and [Canadian Stocks, Canadian Bonds], [TFSA, non-registered, RRSP] as well as all other possibilities.
Once the algorithm allocates investments according to a priority, the algorithm simulates the growth of these investments inside each of these accounts, while maintaining the same priority. For example, if our priority calls for having Canadian stocks inside TFSAs first, then the algorithm will try to put as much Canadian stocks inside the TFSA in the simulated future as well.
I've taken the liberty of making a few assumptions about the user as the tool simulates the future. I've assumed that the user's bond component will increase while the stock component will decrease as the user gets older. I've also assumed that everyone retires at age 65, upon which time the user stops saving and starts withdrawing money. The user withdraws an increasing percentage of his/her money every year, and withdraws every penny by the time he/she is 94.
As people grow older, their financial circumstances change. Therefore, I believe it's unrealistic to expect that the investment priority should stay the same over the person's lifetime. Therefore, I've programmed the algorithm so that once in their lifetime, they change their priorities.
For example, a person might start with the priority [Canadian Stocks, Canadian Bonds], [TFSA, RRSP, non-registered]. Then, the algorithm will try to change the priority to [Canadian Bonds, Canadian Stocks], [TFSA, RRSP, non-registered] after a number of years into its simulation.
The algorithm will try every possible age for switching priorities. For example, it will try switching priorities 5 years from now, as well as 15 years from now. The tool will record the results of the simulation for every single possibility.
After examining the tax implications of every one of these different scenarios, the algorithm will choose the winning priority and switching age based on the most amount of money the user receives during retirement. The tool will then display the breakdown of where you should put your investments based on the winning priority.
That, in a nutshell, is how the tool works. Let me say another couple of things you should know about regarding the tool.
First, the public version only optimally allocates Canadian stocks and Canadian bonds. MoneyGeek's regular and premium members have access to the members only tool, which allows the user to allocate U.S. stocks as well.
Secondly, I would like to emphasize that this is a tool, and you shouldn't regard the results of this tool as advice. Minimizing taxes involves more than just knowing how to split your investments between TFSA, RRSP and non-registered accounts. Many other considerations come into play as well, so I suggest you talk to an accountant or a tax professional if you want a comprehensive tax planning solution.
That's all I have to say about the tool. I hope you find it useful. If you have any questions, please ask using the comment box below, so that everyone can benefit.