March 1st, 2024 | Posted in Retirement, Tools
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
Retirement Benefits for Canadians (CPP and OAS)
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.
Overview of the Canada Pension Plan (CPP) Benefit
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:
- You can begin receiving CPP payments from the government starting at age 60, and you can delay the start of your benefits up until age 70
- The amount of your monthly benefit depends on how much money you contributed towards the CPP program during your working career (which is dependent on your income), the length of your working career, and the age at which you start receiving CPP payments
- The longer you delay the start of your CPP payments, the bigger your ongoing monthly payments would be
- Your contribution period to the CPP program begins when you turn 18, and ends on the date that is the earlier of (i) when you turn 70, or (ii) when you begin receiving your CPP payments
- As of 2024, the maximum monthly CPP payment that you can receive is $1,377 (or $16,531 per year), for people starting to receive their CPP payment at age 65
- However, the average amount received by new beneficiaries in October 2022 was $717.15 (or 55% of the maximum); you would receive less than the maximum if you did not contribute enough during your working career, or you did not work in certain years
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:
- My calculator has been updated to reflect the “enhanced” CPP changes that will start in 2019, whereas the government calculator has not yet been updated; the enhancement changes mean that you could receive a maximum increased pension of 50% compared to the old rules, therefore making the government calculator quite inaccurate
- Spreadsheet tools are more flexible than web-based tools (like the government calculator), so you will be able to run what-if scenarios more easily and integrate these calculations into your other spreadsheets if you’d like
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.
How to Calculate Your CPP Benefit
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:
- you have children born after December 31, 1958;
- your earnings were lower because you either stopped working, worked fewer hours or took a lesser paying job to be the primary caregiver of a dependent child under the age of seven; and
- you or your spouse or common-law partner received Family Allowance payments or were eligible for the Canada Child Tax Benefit (even if you did not receive the benefit)
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.
Overview of the Old Age Security (OAS) Benefit
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:
- You can start receiving OAS payments from the government at age 65, and can delay your starting date until age 70 (in which case you’d receive a higher ongoing monthly payment)
- As of 2024, the maximum monthly OAS payment that you can receive is $713.34 (or $8,560 per year), for those that start taking their OAS payment at age 65
- You will receive the maximum OAS payment if you have lived in Canada for at least 40 years from the age of 18 until the age in which you apply to receive OAS
- If you have not lived in Canada for 40 years, your monthly payment will be pro-rated based on the years that you have lived in Canada (e.g., living in Canada for 30 years would allow you to receive 75% of the maximum payment) – this is subject to the rules below as well
- For people living in Canada, you will not be eligible to receive an OAS payment unless you’ve lived in Canada for at least 10 years (from the age of 18)
- For people living outside of Canada, you will not be eligible to receive an OAS payment unless you’ve in Canada for at least 20 years (from the age of 18)
How to Calculate Your OAS Benefit
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.
Final Thoughts
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
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!
Hi there.
I find this tool helpful and am looking to see if there will be updates for a 2021 version….I am copying and pasting the wording from a previous poster who put the ask in very good wording:
I’m checking in to see if it has been updated for 2021.
Also, if it’s not too much trouble, possible to outline what requires changing each year?
Thanks,
John
Hi John,
I’ve just updated the spreadsheet for the latest 2021 figures on max pensionable earnings (for CPP), and max benefit (for OAS).
Also, I’ve included notes on the “Change Log” tab about what I changed. These small tweaks need to be made each year.
I hope this helps!
Hi again.
Do you plan to update the tool at some point for us again ( please 🙂 ).
John
[…] Canadian Retirement Benefits Calculator (CPP and OAS … […]
I notice that in Version 6 the cell for the current year row (2022) is blank in Column K (Max annual pensionable earnings). This has the effect of making this a zero income year, regardless of the actual income you input in Column D. The end result appears to be that you lose one year of pensionable earnings (and possibly one of the best since it’s the most recent).
Version 5 does not appear to have this issue.
I have noticed the same error in Version 6 (as well as Version 5). I assume if we fix column K by inserting a value that the results are still accurate?
Hi David,
Yes that’s correct. Please note that I’ve updated the spreadsheet today with the latest 2022/2023 values, so a manual adjustment is no longer needed.
Hi Charles,
Apologies for the delay in this. I’ve just updated the spreadsheet for the latest 2022/2023 data.
The error you pointed out is now fixed.
Hi, Thanks for sharing this useful spreadsheet. I was wondering if you plan to update it for 2022.
Thanks
Hi Mark,
Apologies for the delay in this. I’ve just updated the spreadsheet for the latest 2022/2023 data.
Hi,
Hoping you will be updating the Canadian Retirement Benefits Calculator for 2022 / 2023 as it is a great asset in determining at which age to start collecting CPP and OAS.
Hi J.,
I’ve just updated the spreadsheet this morning, reflecting the latest data for 2022/2023.
Happy new year 🙂
Can you explain nominal vs. real dollars?
As I toggle back and forth, it changes the optimal age to receive CPP from 62 to 69.
Real dollars (or today’s dollars) is the amount without taking into account inflation. Nominal dollars takes into account inflation. For example something that costs $100 today (real) might cost $120 (nominal) in the future due to inflation. (You’ll note that the inflation rate is greyed out when Real is your setting)
I would expect the optimal age to not change however when switching between them so I’m wondering if this spreadsheet has an error.
Thanks for sharing this very useful spreadsheet.
I retired early (50) and now at 60 am deciding when to commence CPP. Your spreadsheet has been very helpful, especially with the math regarding “dropouts”, given that I already have more than 10 years of zero contributions, so each year of delay adds another zero year to the calculations.
I have a question about whether the spreadsheet is correctly handling the CPP Enhancements for a person in my situation?
The spreadsheet shows that I can get much higher 5-year average max earnings if I defer commencement long enough to take advantage of the 7% and 14% enhancements in 2024 and 2025. That is pushing my optimal age of commencement up to 67, vs. only 63 if I remove the effect of enhancement (by entering 1.00 in cells C138 and C139.)
It surprises me that CPP Enhancement is affecting me at all: my last CPP contribution was years ago, before any of the CPP Enhancement provisions started. The official CPP “backgrounder” states: “The CPP enhancement will affect you only if you work and contribute in 2019 or later. If you are retired, not working, and not making contributions to the CPP, nothing will change and your CPP benefits will not increase.”
To get more insight, I read the Doug Runcey description of the enhancements here: https://retirehappy.ca/enhanced-cpp/ which seems to support the view that enhancements won’t help me. He breaks the calculation into Parts 1, 2, and 3, and if I understand correctly, only Part 1 will apply to people like me whose entire contribution history was pre-2019. The 7% and 14% increases would only apply to a new parameter,”YAMPE”, which would only be used to calculate benefits for people who made enhanced contributions in 2019 or later.
Appreciate your thoughts about whether I’m interpreting that correctly, and therefore whether I should remove the effects of enhancement when I analyze my situation?
I downloaded the Excel file yesterday the annual payment for age 66 & 67 for CPP was showing #DIV/0!. I thought I had inadvertently changed a formula, so I redownloaded the file and entered my historical income again and it’s still showing the error.
I have a more high level question. I assume that when you do your yearly “tweaks” you take into account the indexing of CPP/OAS based on inflation? Thank you for confirming.
Hi Dominic, yes confirmed that I am updating for those inflation tweaks when I do my yearly update.
I have just uploaded a new version of the spreadsheet with the 2024 values.
Thanks so much for the tool. I am inputting pensionable earnings from my Service Canada details and have a question what to enter when we get to enhancement years. Do I only enter the base portion of pensionable earnings or do I add base plus the enhancement additional portion? Thanks again and I really like the detail your tool provides. Great job!
Hi there,
I have plugged in all my pensionable earnings. The age 65 number i get is $93 greater then what government site says. Ok, that’s not too far off. But then the age 70 number the calculator gives is 72% greater then the age 65 number it gave. Is there a way to figure out what is wrong? Should only be 42% bigger then the 65 number
Hi Allison,
Thanks for your message. There was an error in the sheet. It should be fixed now.
I have also updated the tool with the latest 2024 values for CPP max pensionable earnings.
Can you please try again and let me know if it’s working for you?
Hello. First, let me just say thanks for making this CPP calculator available.
I took my contribution values from the Version 7 of the spreadsheet and put them into this new Version 8, but I have a question about the D11 value. This is the “Age at which you start taking CPP”. Does this value get used in calculations or is it just for highlighting the corresponding row in the Results section?
After I put in my contribution values it generated the Results for ages 60 to 70. But I noticed that if I changed the D11 value, those results also change. Perhaps I am misunderstanding something basic here, but I would not have expected the Results to have been recalculated differently as the same contribution values are still being used (and in Version 7 of the spreadsheet the Results do not change as I change D11).
For example, keeping all parameters the same except for D11, if I had D11 set as 65, I had results such as:
60 9526
61 10,596
62 11,670
etc
But if I changed D11 to 60, the results are now:
60 10,080
61 11,216
62 12,351
etc
I see the same thing. I am confused by that as well.
Also, the numbers I see for Version 8 are lower than for Version 7 with all the same input. I would have thought I’d see higher numbers with CPI adjustment.
Thank you
Hello, what if I received CPP Disability for 12 months in 2018. How do I account for this on the Spreadsheet?
Hello
How do I take into consideration CPP Disability income for 12 months in 2018?
Look forward to your response
Hi Teresa,
Unfortunately I’m no expert in that area. You may find these resources helpful for your research:
https://www.youtube.com/watch?v=Jt00VeyCeSc
https://www.ourcommons.ca/Content/Committee/372/SPER/WebDoc/WD2169455/SPER372_CPPD_Issues/CPPD_IssuesPolitical_Pg03-e.htm
https://www.canada.ca/en/employment-social-development/programs/pension-plan-disability-benefits/reports/toolkit.html
Is there a “way” to know income since 18 yrs old via an online service in Canada? I have not kept track of income since 18 yrs old, and CRA/My Services Canada will only show last 10 years.
Thank you
Hi Elaine,
Please try checking your CRA account to see if you access your tax return / notice of assessment for the other years. You should be able to find your income amounts in those documents for each year.
Hi Elaine,
You don’t need the income value at all, is not used in the calculation, you should be able to get the pensionable earnings from my service Canada website. What matters is if those pensionable earnings have reached the maximum value or not, for how long you are contributing and when you will take your pension.
You can input 1 million dollar per year since age 18 but all that will cause is the yearly pensionable earnings to be maximized
That’s exactly correct, thank you for your reply George.
Absolutely love the spreadsheet, thanks!!! Quick question: Why aren’t the max annual pensionable earnings adjusted for inflation (or average CPI increase) after the present year (column K). Without doing this, the 5-Year Average Max Contribution calculation uses 5 years in the future but instead of having inflated values, they are all the same as 2024 value. It seems to me this has the overall effect of low-balling the final monthly cpp calculation
Nevermind, I see the real/nominal toggle addresses this.
Excellent worksheet! Thank you for creating this. I have a question (for anyone willing/able to answer 🙂 )
If I select ‘nominal’ (in the future projection field), and choose 0% inflation, shouldn’t the values returned be the same as the values if I selected ‘real’ ?
I’m not an accountant/financial professional, so this is probably a silly question with a simple answer.
P.S. I realize 0% inflation in future years will never happen, I was just experimenting with the values and the various ‘assumption’ fields, and noticed this.
Update on my recent question regarding the ‘nominal’ and ‘real’ results for future CPP benefits.
If I set inflation to 0% (while selecting Nominal in ‘D8’), I assumed that I’d get the same number as when I selected ‘real’. This is the case, if I state that I’m 65 this year. But, if I state that I’m anything less than 65 (i.e. not retiring this year), the results with Nominal set @ 0% inflation and Real values are different. There is always a 7.67% difference between the two. Is this an expected result and I just don’t know how this works (which is probably the case)?