Note: this tool was last updated on March 1st, 2024, to reflect the latest 2024 figures for max pensionable earnings (for CPP), and max benefit (for OAS)
Download the Excel version here (recommended!)
Download the Google Sheets version here
The Canadian government operates two main programs to provide financial assistance to Canadians who have reached retirement age. These programs are the Canada Pension Plan (CPP) program and the Old Age Security (OAS) program.
Let’s be clear – the CPP and OAS retirement programs will likely not be able to fund your living expenses in their entirety.
However, they do provide a great safety net. Canadians receiving benefits from these programs today are able to receive a maximum payment of over $20,000 per year.
Getting a good grasp on what these government benefits are and how they are calculated will help us get an accurate assessment of how prepared we are for retirement.
The Canada Pension Plan (CPP) is a program that working Canadians pay into during their career, and receive benefits from when they reach retirement age. Money is deducted directly from each paycheck, and the government in turn provides payments back to you when you reach retirement age.
Nearly all Canadians who work in the country contribute to this program (or the Quebec Pension Plan – QPP – if you work in Quebec).
The main features of the CPP program are:
Starting in 2019, the CPP program will begin to be ‘enhanced’. Working Canadians will begin to contribute a higher percentage of their income towards the CPP, and in exchange they will receive a higher CPP payment during retirement age.
The Canadian government also has a CPP calculator on their website; however, the advantages of using my calculator are:
This calculator does not currently include QPP calculations for those who work in Quebec; however, the CPP and QPP programs provide similar benefits, so the CPP calculations can be used as a proxy for what you’d receive from the QPP.
If you haven’t done so already, please download the tool. Links for the Excel / Google Sheets versions are at the top of this post; I’d recommend using Excel if possible. Navigate to the “CPP” tab of the spreadsheet. You’ll need to fill in a few assumptions, and the spreadsheet will then spit out the answer. Input your assumptions in any cell which is highlighted in yellow.
You will also need to input your income earned from age 18 up until the current year, starting on cell D34 of the spreadsheet.
The calculator will then forecast your future income based on the assumptions you entered earlier. As an optional feature, if you want to manually ‘override’ your forecasted income in a particular year, you can do that in column F (e.g., you can enter $0 for years in which you don’t plan on working).
You can also use the “Child-Rearing” drop out (CRDO) in column G. The CRDO allows Canadians to exclude certain low-earning years from their CPP calculation as long as the following rules are met:
The “Results” section of the spreadsheet will now give you your estimated CPP payment results. There is detail on the CPP amount you’d receive annually / monthly, your payment as a % of the max payment you could receive, how your payment would change based on if you started receiving it at age 60 up until 70, and the “optimal” age to start receiving your payment.
The optimal age shows you what age would maximize the present value of your future CPP payments, based on your assumed life expectancy and discount rate. Your ‘discount rate’ assumption represents how much less you value money in the future compared to money today. A 5% discount rate means that one dollar next year is worth 5% less to you than one dollar this year. I’d suggest using a discount rate of 3% to 7%, reflecting the annual investment return that could be earned on your money.
The OAS program is much simpler, and it is also much easier for Canadians to get the maximum benefit. The amount of money that you will earn from the OAS program in retirement age is based purely on the number of years in which you’ve lived in Canada. There is no requirement that you were earning income in any of those years.
The main features of the OAS program are:
Navigate to the “OAS” tab of the spreadsheet. Once again, fill in the assumptions in the cells which are highlighted in yellow.
After this, your OAS payment results will be shown in the “Results” section.
For further reading on these retirement benefit programs and instructions on how to apply (note that you need to apply to actually get your payments!), see these links for the CPP program and for the OAS program.
—
Many thanks and credits given to Doug Runchey, whose articles on the CPP program were an immense help in building this calculator.
Header image credit: Canada Currency
View Comments
I downloaded the spreadsheet and entered all required data. I then compared the results to the CPP site as I expected the values to be close. Unfortunately, the values are quite a bit off. Eg: CPP says at age 65 I should get 2 cents shy of the max per month but the spreadsheet says about $40 less per month. For age 60, the difference is about $190 per month. I have maxed out for 33 years and the other 2 are 97.8% and 99.8% after the drop outs. Any suggestions on what I can check as I have already triple checked all my values.
Thanks!
Hi J,
I went through the spreadsheet this morning and realized that I had to roll-forward one part given that it is now 2019 (happy new year!).
Can you re-download a fresh version of the spreadsheet above and try again?
The results will never exactly match the government calculator given that their formulas are not 100% transparent. However, I'm surprised to hear that the age 60 results are so far off.
If there continues to be a big gap in results after you use the new spreadsheet, could you email your file to me at themeasureofaplan@gmail.com?
I'd be happy to take a look and troubleshoot.
Thanks for taking the time to review / change the spreadsheet. Latest version has increased my monthly values for age 60 by $143 / month, age 61 by $158 / month, age 62 by $174 / month and age 63 by $189 / month. No changes to age 64 or 65.
Does this mean the spreadsheet requires some "maintenance" each year on your part?
Thanks again for all your work!
J. Barber
Thanks for letting me know, glad to hear it is closer to what the CPP website is giving you.
As it stands, the tool does require "maintenance" once a year. I'll try to tinker around in search of a workaround.
I came across Doug Runchey's article (https://retirehappy.ca/how-to-calculate-your-cpp-retirement-pension/) recently and appreciate that you have taken the time to develop this program based on. My simplified attempt didn't compare well the estimate supplied by the Gov't of Canada. Yours came a lot closer, although it is about $36/mth lower than theirs.
Some suggestions: 1) In column D, instead of asking for actual income (for us older people, that might not be handy), ask for Pensionable Earnings. The Gov't website provides this information by year since age 18 when you log in. The calculation actually doesn't require one's actual income. 2) In Assumptions section, your cell comment restricts entry to current age or later. Actually, it does work when you enter an earlier age. In my case, I am 61 and retired at 58. 3) In Assumptions sections, I don't know if the Projected Future Annual Income cell is intended for employment income only. In my case, it would be nice to enter investment income here. I tried it by entering a figure but I did not change anything in the worksheet. Ideally, it would populate column F for post-retirement years.
I haven't yet checked out the features not directly related to the CPP calculation. Will comment if appropriate.
Thanks again for this.
Hi Gino,
Thank you for the thoughtful comments.
- I've adjusted the column D label to be "Your Actual Income / Pensionable Earnings"
- I've removed the requirement to enter a retirement age which is greater than your current age, in the assumptions section
- The projected future income is supposed to be your estimate for pensionable earnings in the future (I have adjusted the label to make this clearer). Investment income does not count towards pensionable income.
See this Government of Canada link on contributions:
https://www.canada.ca/en/services/benefits/publicpensions/cpp/contributions.html
Cheers.
I downloaded your latest spreadsheet (version 4) and entered age 59 in cell D5. I then tried to enter age 57 in cell D10 but got the error "Enter a valid whole number greater than or equal to your current age". Based on your comment #2 to Gino above (I've removed the requirement to enter a retirement age which is greater than your current age, in the assumptions section), I expected this to work. Can you please advise if I am doing something working or have misunderstood your comment.
Thanks,
Sorry -- I didn't upload properly. This should be fixed now! Thanks for the quick catch.
Last year you mentioned the Canadian Retirement Benefits Calculator tool requires “maintenance” once a year. I’m checking in to see if it has been updated for 2020.
Also, if it’s not too much trouble, possible to outline what requires changing each year?
Thanks,
J. Barber
Hi J.,
This morning I have updated the spreadsheet to 'roll forward' for the 2020 year.
The updates are as follows...
On the CPP tab:
- Adjusting the data input tables on rows 175 and below to add in 2020 data
- These values are provided annually by Doug Runchey (http://www.drpensions.ca/cpp-rate-table.html)
- Adjusting the formula in cells K34 to K85 to roll forward to the new year; inflation calculations are moved ahead by one year
On the OAS tab:
- Adjusting the maximum monthly OAS payment amount in cell C54, which is provided by the government of Canada (https://www.canada.ca/en/services/benefits/publicpensions/cpp/old-age-security/payments.html)
Thanks for creating and maintaining these awesome tools!
You're most welcome! Thank you for letting me know.
I also thank you! This spreadsheet has been very helpful, especially for the child-rearing drop out years!
Thanks A., I appreciate you letting me know!
Thanks very much for this,it looks like a great tool. I'm a bit confused about the results I'm receiving though. I'm getting:
"Estimated that you will receive an annual CPP benefit of $10.636 per year ($886 per month) in real dollars: assumes that you begin taking your CPP payments when you are 65 years old"
"Your CPP benefit is 80% of the maximum amount you could receive (assuming that you made maximum contributions through you career and started receiving CPP at age 65)
The problem is, that based on the 2020 maximum benefit of $1,175.83 $866 per month is 73.7%. 80% of maximum would be $940. I'm not sure which amount is more accurate.
I'm using the most up to date version. Is there a glitch or have I missed some nuance? I don't have any entry for years with enhanced CPP, so I don't think it is that.
Hi Christine,
I'm not sure what the issue is, but my hunch is that the dollar amount ($886 per month) is more accurate than the % of max benefit (80%).
Could you share your spreadsheet with me by email? I can take a look and troubleshoot if so.
Does this calculator take into account the new CPP enhancements introduced in 2019?
Hi Steve,
Yes it does account for the CPP enhancements.
The spreadsheet includes a 7% increase to the Max Pensionable Earnings in 2024, and a 14% increase in 2025 and beyond.
Hello,
I just wanted to thank you for your understandable explanation of these two benefits. I had been reading on line for about an hour and google finally led me to your website. I wasn't understanding the eligibility for the OAS on the CRA website at all.
In regards to the GIS - is the CPP and OAS both considered your income in calculating the eligibility?
Hi April,
Thanks for your comment.
See here for a good article about GIS:
https://www.moneysense.ca/save/retirement/pensions/guaranteed-income-supplement-application
And the key excerpt --
"The second requirement for GIS is your annual income (or combined income for couples) does not exceed the maximum annual threshold. The income thresholds for GIS are low. Service Canada says for GIS purposes, OAS benefits are not considered part of net income. But CPP/QPP, private pensions, RRSPs, and employment income together cannot exceed the following income thresholds."
So, to answer your question, CPP is counted as income for GIS purposes. However, OAS is not.
I hope this helps!