New here? The numbers below are a sample plan, not yours. Go to the Inputs tab, enter your own info, then click Run Full Model (or press Ctrl+R) to update. Nothing is saved automatically β use Save Plan (CSV) above if you want to keep your entries. Everything runs locally in your browser β none of your numbers get sent anywhere or stored on a server, it's all just math happening on your own device.
A one-page snapshot of the plan β key numbers, alerts, and recommendations. Full detail is in the tabs above.
Total Net Worth
$0
Accounts + home equity
Home Equity
$0
Home value β mortgage
Retirement Age
65
10 years away
Portfolio at Retirement
$0
Projected value
Ending Balance at Death
$0
Age 90
RRSP at Death
$0
Ending account balance
TFSA at Death
$0
Ending account balance
Non-Registered at Death
$0
Ending account balance
Years of Runway
25+
Until portfolio depletes
Avg Effective Tax Rate
β
Across all retirement years
Total Tax Paid (Plan)
β
Lifetime retirement tax bill
Estate Value to Heirs
$0
After terminal tax & CG
Avg Annual Gap
$0
After-tax income vs need
Key Insights & Recommendations
Quick Summary
Enter your retirement planning data below. All fields are required for accurate projections.
$
Current annual income, if still working. Used for RRSP contribution room/refund and the RRSP-vs-TFSA recommendation β assumed to last until retirement.
Finds the earliest age (from Current Age up to Retirement Ends at Age) at which the portfolio can sustain your Income Need all the way through. Requires Income Need to already be set β enter a value, or use "Calculate Maximum Sustainable Income" below to fill it in first.
$
Finds the largest income need (from Retirement Starts at Age through Retirement Ends at Age) the portfolio can sustain, and fills it in here.
$
Leave at 0 if you don't want a step change at this age β income need will just keep inflating from the prior year as usual.
$
Leave at 0 if you don't want a step change at this age β income need will just keep inflating from the prior year as usual.
$
$
$
$
Current tax ACB (what you originally paid, plus reinvested distributions β check your brokerage statement's "book value" or "cost basis"). Leaving this equal to the account value assumes zero unrealized gain, which will understate your real capital gains tax if the account has grown.
$
$
$
Monthly amount at age 65 β start age chosen below
$
Monthly amount at age 65 β annualized in calculations
$
Price growth. Used by RRSP, TFSA, and Non-Reg alike unless overridden per-account directly below β leave the three override boxes blank to keep all accounts at this one rate (the old behaviour). Override them when accounts genuinely hold different assets β e.g. a conservative/GIC-heavy RRSP, a higher-risk TFSA, or a GIC-only Non-Reg account.
Enter this as a total return (price growth + any dividends/interest the RRSP earns). RRSP/TFSA have no separate dividend-yield field like Non-Reg does, since nothing is paid out or taxed annually inside them β whatever the account earns just compounds into this one rate.
Enter this as a total return (price growth + any dividends/interest the TFSA earns) β same reasoning as the RRSP override above.
Set to 0% if Non-Reg is entirely GIC/cash (GICs don't appreciate β see Interest/GIC Yield below, which is the whole return in that case).
Adds to Non-Reg's own Growth Return (default or overridden above). Also used to compute the Non-Reg account's own annual taxable dividend cash flow (eligible dividends grossed-up 138% with dividend tax credit; see the non-eligible share below) β RRSP/TFSA don't trigger this yearly tax event since they're tax-deferred/tax-free.
Dividends from Canadian public companies are "eligible" (0%, the default). Dividends paid from a private corporation's small-business income are "non-eligible": grossed up only 15% with a smaller dividend tax credit, so they're taxed more heavily. This only changes how the dividend is taxed β its cash amount and the account's return are unchanged.
For GICs, savings accounts, and bonds held in the Non-Reg account. Adds to Non-Reg's own Growth Return the same way the Dividend Yield does, but is taxed as plain interest income β no gross-up, no dividend tax credit.
Applies to spending & fixed expenses. Benefits (CPP/OAS) use the CPP/OAS/BPA rate in Advanced Assumptions below as an override.
βΆ Advanced Assumptions
Scenario comparison rates plus current government/tax-rule figures β most users leave these at their defaults.
$
$
Combined own + survivor CPP is capped at this monthly maximum.
The melt-down withdrawal fields model withdrawing from RRSP before retirement to fill low-income years, reduce future RRIF minimums, or optimize tax brackets. Leave Amount at $0 to disable.
$
$
$
Optional annual income used to calculate the incremental tax caused by the RRSP melt-down withdrawal.
$
Your real total room today (check your CRA My Account) β carries forward and depletes as you contribute, on top of the new room added each year below. If you've never had an RRSP, this can be much larger than one year's income-based room.
$
The CRA's dollar ceiling on how much NEW room you can earn in a single year (not your total available room β that's the field above).
Used with Employment Income (above) to calculate the new room added each year during the working years.
Withdrawal is taxable income each year. Model reduces RRSP balance and accounts for tax paid during accumulation phase.
RRSP β RRIF Conversion Timing
The tool currently converts at 71 (mandatory). Convert voluntarily at 65 to claim the $2,000 pension income amount credit (15% federal) on RRIF withdrawals β a meaningful optimization.
Voluntary conversion age (71 = mandatory). Set 65 to claim the pension credit early.
$
RRIF minimum withdrawals still start at the "RRIF Minimum Start Age" set in Advanced Assumptions (mandatory at 71).
TFSA
TFSA room isn't tied to income β it's a flat annual dollar limit ($7,000 as of 2024/2025) added on top of whatever room you haven't used yet. Enter your current remaining room (check your CRA My Account) β the model adds the annual amount below on top of it each year and caps your Annual TFSA Contribution (in the main inputs) at whatever's actually available.
$
$
The government's TFSA dollar limit, which changes periodically β update this if it changes.
Retirement Withdrawal Strategy
βΎ Spouse / Couple Planning
Models a second person's CPP/OAS/pension, pension income splitting, survivor benefits on first death, and the fact that household expenses don't fall by 50% when one spouse dies. Accounts (RRSP/TFSA/Non-Reg) are modelled at the household level β spousal RRSP is included in the household RRSP balance.
First death triggers survivor benefits + lower expenses.
$
Current annual income, if still working β assumed to last until retirement.
$
$
$
% of spouse's pension continuing to survivor.
Survivor CPP = this % of deceased's CPP.
Survivor household spend = % of couple's need (not 50%).
$
$
$
$
$
$
$
Blank/0 = same as value (no unrealized gain).
$
Spouse's own carried-forward room (caps their contribution once entered or when they have employment income).
$
Spouse's own unused TFSA room (new annual room accrues on top).
βΎ Real Estate / Primary Residence
The house is usually the largest asset. Model downsizing, suite rental income, or a reverse mortgage. Home equity passes tax-free to the estate (principal residence).
$
$
Long-run home growth, separate from the portfolio return.
$
$
$
Interest compounds on the balance (no payments) and is repaid from the home's value at death. 0 = flat lump sum, no interest.
Set > 0 to model mortgage paydown over the remaining amortization.
Share of Non-Reg that passes outside the will (joint with survivorship or named beneficiary) β excluded from probate.
Share of the home that passes by survivorship β excluded from probate.
$
βΎ GIS / OAS Allowance (low income)
Low-income seniors receive the non-taxable Guaranteed Income Supplement (and the OAS Allowance for the survivor). GIS is income-tested: it phases out at 50Β’ per dollar of income (excluding OAS) above the threshold.
βΆ Defined Benefit Pension (You)
A fixed monthly pension starting at a set age, optionally indexed β more accurate than the old "other income" workaround.
$
Note: change inputs, then click Run. Defaults provided for Alberta example.
Withdrawal Order and the return assumptions above are planning inputs, not guarantees β confirm they still reflect your actual portfolio and strategy before relying on this plan.
What this plan does not include: non-eligible (small-business) dividends; provincial tax credits beyond the basic personal amount; market volatility in the main projection (see the Scenarios tab / Monte Carlo for that); and any assets, income, or debts not entered on this page (other real estate, business interests, inheritances, employer pensions not entered as a DB Pension, etc.). To model a future cost or lifestyle change β health/long-term care, downsizing spending, a one-time expense β use the First or Second Adjustment Income Need fields above to step your spending up or down at the age it starts.
Projection β account balances from current age to end, including growth, contributions, and withdrawals/depletion.
Age
RRSP
TFSA
Non-Reg
Portfolio Total
Home Equity
Total incl. Home
Distribution β withdrawals, taxes and balances
Income & Tax
Income Tax = tax on CPP/OAS/pension/RRSP withdrawals/interest Β· Div Tax = tax on eligible dividends after gross-up & dividend tax credit Β· CG Tax = tax on realized Non-Reg capital gains Β· Net Income = after-tax income minus fixed expenses.
Age
Income Need
CPP
OAS After
Other Income
Eligible Div
Interest
Fixed Exp
Withdrawal
RRIF Min
Income Tax
Div Tax (net)
CG Tax
Total Tax
Net Income
Balances & Home Equity
Age
From NR
From RRSP
From TFSA
RRSP Bal
TFSA Bal
Non-Reg Bal
Home Equity
Total incl. Home
By Spouse β Separate Accounts, Income & Tax
RRIF minimums come off each spouse's own RRSP; other withdrawals are drawn pro-rata to each person's balance. RRSP income, dividends, interest and capital gains are taxed on the account's owner (pension/RRIF income splitting still applies if enabled). After the spouse's death their accounts roll to you.
Age
Your RRSP
Your TFSA
Your Non-Reg
Spouse RRSP
Spouse TFSA
Spouse Non-Reg
Your Taxable Income
Spouse Taxable Income
Your Tax
Spouse Tax
Tax brackets, diagnostics, and withdrawal strategy optimization.
βΎ Tax Brackets
Combined federal + provincial rates
Province
Lower
Upper (0=β)
Rate
βΎ Tax Details & Effective Rate
Effective % = total tax Γ· total gross income for that year (your overall tax rate). Marginal % = the tax rate on your next dollar of income (which bracket you're in) β always higher than effective %, and the rate that matters when deciding whether to withdraw more or less in a given year.
Age
Gross
Tax
Effective %
OAS Clawback
Marginal %
Effective Tax Rate by Age
CPP Deferral Break-Even
Does delaying CPP to 70 actually pay off? Shows the break-even age and cumulative CPP year by year.
Tax-Optimized Withdrawal Order
Evaluates every withdrawal order to find which minimizes lifetime tax given your balances and income sources.
Withdrawal Order
Lifetime Tax Rank
Lifetime Tax
Extra Tax vs Best
Ending Balance
Net Estate to Heirs
Net Estate to Heirs vs Best
Shortfall
Estate Rank
RRSP Melt-Down Optimizer
Finds the pre-65 annual RRSP withdrawal that minimizes lifetime tax β searching amounts from $0 to your full RRSP balance in $1,000 increments, then refining. Assumes withdrawals run from now (or melt-down start age below) to retirement.
$
After-Tax Income vs. Spending Need
For each year of retirement: what you asked to spend, what you'll actually have after tax, and the gap between the two β a shortfall means the plan can't fully cover that year's need; a surplus means it can, with room to spare.
Age
Spending Need
After-Tax Income
Gap
Status
Estate Value Projection (at age β)
What passes to heirs, and in which account β TFSA tax-free, RRSP/RRIF terminal tax, Non-Reg after deemed capital gains, home tax-free.
Terminal Tax Detail (deemed disposition at death)
The RRSP/RRIF is not fully cashed out during life β at death the full remaining balance is included in the terminal tax return. Non-Registered accounts are deemed sold, with the unrealized gain taxed. TFSA and the principal residence pass tax-free.
Scenario Analysis
Each line re-runs the whole plan (growth, withdrawals, tax) at that return rate from your current age forward β not just your real plan nudged up or down. Compare Advisor Conservative, User Expected, Best Case, and Worst Case ending balances.
Sequence Risk Analysis
Annual Withdrawals & Tax
Monte Carlo β Probability of Success
Simulates thousands of market paths (using your expected return and volatility) to estimate the chance your portfolio lasts to a target age.
Sensitivity / Tornado Analysis
Nudges one assumption at a time (low / high) and shows how far the chosen result moves from your base plan. Longest bars = the assumptions that matter most.
What-If Calculator
Test scenarios: inflation, longevity, market drops, retirement age, etc.
Growth rate applies to the account chosen. Dividend yield applies to Non-Registered only (RRSP/TFSA are tax-sheltered) β leave blank to keep your current yield.
Drawdown-to-Zero Calculator
How much gross must you withdraw annually β the same flat amount every year β to reach exactly $0 by age 90? This accounts for income tax so the number shown is the gross withdrawal needed, not just the spending amount. This answers a different question than the Distribution tab: it ignores your entered Income Need schedule entirely and instead solves for the maximum level withdrawal your balances can sustain. It also doesn't model GIS or a spouse, and approximates OAS clawback and the Non-Reg gain ratio at a single mid-retirement point rather than year-by-year β use the Distribution tab for the full year-by-year plan.
Account
Starting Balance
Annual Gross Withdrawal
Est. Annual Tax on This
Net Spending Power
FIRE Number & Coast FIRE Calculator
A different question than the rest of this app: not "does my plan work at my chosen retirement age," but "what's my number, and have I already saved enough that compound growth alone gets me there?" This is a self-contained, simplified calculator β it doesn't use CPP/OAS start-age logic, tax brackets, or withdrawal ordering the way the main projection does.
Scenario Comparison
Save the current plan as a named scenario, then change inputs and save another β compare key metrics side by side.
No scenarios saved yet. Run the model, name a scenario above, and click Save.