Tax And Penalty Minimization (TPM) Withdrawal Strategy

Last Updated: March 10, 2023

TPM Tool

Before diving into the strategy, below is an embedded python interpreter that will allow you to run the stand-alone TPM tool I created. This tool (also available on github) provides the withdrawals and any other actions the user needs to take to follow the TPM strategy described below for the current year.

You can fill in your own values in the user inputs section at the top, then hit the Run/Play (sideways triangle) button to generate the output. 

By default the output will appear in the interpreter output window, but you can also set the OutputToScreen to False, which will create and place the output in a text file called Output.txt. Note that the Output.txt file is created and shown at the far right end of the file tabs list. 

To go back to the script to make any changes, hit the Pencil icon. If you want the text larger, hit the hamburger menu button, then scroll to the bottom to see larger font options. In that same menu you can also Full Screen the window, and other actions.

Use the pound sign “#” to comment out a line so that it’s not used.

Overview

On this page we’ll cover the steps you’ll need to execute the Tax And Penalty Minimization (TPM) withdrawal strategy each year of your retirement.

The goal of the TPM method is to achieve certain income amounts, and then make extra withdrawals as needed to obtain the needed cash.

Note: I use the terms “strategy”, “algorithm”, “approach”, and “method” interchangeably in this page – consider these terms equivalent on this page.

As always, you can review the code to see exactly how I implement the method within the FIRE Portfolio Projection tool. You can also review the equivalent code within the dedicated TPM withdrawals tool codebase.

Before going through the steps in detail, here’s a higher level diagram of the TPM method:

TPM Versus Traditional Method

The primary difference between the two methods is their goals: the Traditional method seeks only to provide the needed cash each year, while TPM first targets certain income levels (e.g., having your total standard income match the standard deduction) and then it makes extra withdrawals as needed to obtain the needed cash.

Important note: the TPM method can definitely be more complicated than the Traditional method, but you are very likely to:

Keep those advantages in mind as you read through this method, as a reminder for what you get in return for the additional complexity.

Expenses

First determine your living expenses for the year. This value can be adjusted at any time obviously, such as when you pay off your mortgage, no longer have other mouths to feed, start doing more expensive travel, etc.

Taxes/Penalties Refund or Owed For Previous Year

Next determine how much you still owe in taxes and/or penalties for the previous year (or what refund you’ll get), which will happen when you file your taxes.

Estimated Taxes For This Year

The IRS requires estimated tax payments for income obtained during the year.

Fortunately we can set estimated taxes as the total tax bill generated the year before, which will avoid an underpayment penalty as long as your income is less than $150K/year (otherwise you need to pay at least 110% of last year’s tax bill to be safe).

Note that we do not have to pay estimated penalties – as far as I can tell from my research. (Please let me know if you believe it is necessary, along with a strong verifiable source confirming.)

Total Cash Needed

Now we can compute the total cash you need:

Total Cash Needed = Living Expenses + Taxes/Penalties Owed From Previous Year (if any) + Estimated Taxes For This Year (if any)

Targeted Income

As mentioned above, the TPM method targets certain income amounts: a) a maximum standard income, and b) a maximum overall income (which equals the sum of the standard income and LT cap gains income).

To start, select your maximum standard income. I highly recommend selecting the standard deduction for your tax filing status. For 2023, the standard deduction amounts are:

  • single and married individuals filing separately: $13,850
  • heads of households: $20,800
  • married couples filing jointly: $27,700

Then select your maximum total income. If you do not have health insurance through the ACA (“Obamacare”) (e.g. if you are old enough to receive Medicare), then I highly recommend setting this to the sum of your standard deduction plus the top of the 0% LT cap gains bracket:

  • single and married individuals filing separately: $13,850 + $44,625 = $58,475
  • heads of households: $20,800 + $59,750 = $80,550
  • married couples filing jointly: $27,700 + $89,250 = $116,950

By targeting this total income, you will: 

  • pay $0 in federal income taxes
  • maximize how much you can pull out of your pre-tax account tax-free, which gives you greater flexibility in the future
  • maximize your 0% capital gains harvesting (greatly reducing the odds you’ll need to pay taxes on LT cap gains in the future)

If you DO have Obamacare, then it’s a more difficult decision. You’ll have to weigh factors such as:

  • how much you’ll receive in subsidies (the lower your income, the greater your subsidies)
  • how much income you’ll need to meet your expenses
  • if you have kids and your income is too low, they may not be eligible for subsidies with ACA because they are eligible for CHIP or Medicaid, which may or may not be what you want

In our case, married with two young kids at home, we’ve decided to target a total income of $60K: just above the threshold needed to ensure our children are eligible for ACA subsidies and our entire family is on the same plan. Of course this could easily change in the future. I recommend taking advantage of the plan selection tool on healthcare.gov (where you also sign up for plans) to determine what overall income you should target.

Dividend Income

Determine how much dividend income you have for the year – both qualified and non-qualified dividends. You can find this information via your investment brokerage company’s site, such as Vanguard

You will initiate several running total values at this point:

  • Long Term capital gains income total, which you’ll add your qualified dividends to
  • Standard income total, which you’ll add your non-qualified dividends to
  • Overall income total, which you’ll add all dividends to
  • Total cash balance, which you’ll add all dividends to

Other Income

Determine what other income you have, such as wages from a part time job, income from a business or side hustle, etc. Add that income to your standard income total (or LT cap gains income total if you’re sure it falls in that bucket), overall income total, and total cash balance.

At this point, if your standard income total exceeds the targeted maximum standard income, then you must increase the targeted maximum standard income to match the current standard income total. Why? Because all income so far has been “non-adjustable” (i.e., it’s not dictated by how much you pull from your assets, and thus is not easily “adjusted” to hit that target – though of course there are ways to reduce the above income, such as moving assets to funds that produce lower dividends, giving up other income sources, etc.).

Similarly, you will also need to adjust the targeted overall income total to match the current overall income total if the latter is greater at this point in the method.

Required Minimum Distributions (RMDs)

If you are age 73 or older (or 75, depending on your age in 2033), you will have Required Minimum Distributions for any pre-tax accounts in your name. The same holds true for your spouse, if you’re married.

Use the IRS worksheet or an online tool to determine your RMDs for the year. An important note from that worksheet: “Once you determine a separate required minimum distribution from each of your traditional IRAs, you can total these minimum amounts and take them from any one or more of your traditional IRAs.” Also note that these RMDs also apply for other pre-tax accounts such as a 401(k), 403(b), or 457(b).

You can also see how I compute RMDs in the Portfolio Projection Tool (though confirm the table values are correct for the year you’re considering – they may be out of date).

Do the same RMD calculation for your spouse if you are married.

Add all RMDs to your standard income total, overall income total, and total cash balance.

(Note: yes, you might have to once again adjust your targeted maximum standard and total income values at this point, but we’ll wait to do that until we get to the Social Security Income step, which you should also have if you’re facing RMDs).

Social Security Income

If you’re now receiving social security income, which the Social Security Administration refers to as retirement insurance benefits (RIB), now it’s time to account for that.

Handling RIB is one of the most complex steps of the TPM method, unfortunately. But we’ll get it done!

The first step is pretty easy: determine how much total RIB you’ll have for the year (including RIB for your spouse, if married), and add that to your total cash balance.

Now comes the tricky part: determining how much of your RIB is taxable – which will be the amount we add to our standard income total and overall income total.

Here’s the challenge: the amount of RIB that is considered taxable is a formula dictated by the IRS, which is a function of both RIB and all other taxable income. So if we’re targeting a specific standard income and total income, we have to set both non-RIB standard income and LT capital gains to get a particular taxable RIB which fits into these equations:

  • taxable RIB + non-RIB standard income = targeted maximum standard income
  • taxable RIB + non-RIB standard income + LT capital gains = targeted maximum total income

Bleh! Lots of interdependencies.

To start, let’s compute your “Minimum Taxable RIB”: how much of your RIB is taxable if you have no income beyond what we’ve already included above (i.e., your “non-adjustable” income, including non-qualified and qualified dividends, RMDs, a pension, etc.).

To do this computation, you’ll need your total RIB, current (“non-adjustable”) overall income total, and tax filing status. You have several options at this point:

Once you have your Minimum Taxable RIB, add that to your non-adjustable standard income to compute your Minimum Standard Income. If that value is greater than your targeted maximum standard income (which can easily happen if you have large RMDs), then ya gotta increase that maximum to match the Minimum Standard Income unfortunately.

If the non-adjustable standard income plus the non-adjustable LT cap gains plus the Minimum Taxable RIB (which we’ll call Minimum Total Income) is more than your targeted maximum total income (again, very easy to do with large RMDs), then once again ya gotta increase that maximum to match the Minimum Total Income.

After doing these “maximum” checks, if the targeted maximum standard income was reset to equal the Minimum Standard Income, then there’s no more room for any additional standard income. Thus you can simply set the taxable RIB as the minimum taxable RIB, and you’re done.

If however there is some room for additional standard income (i.e. the Minimum Standard Income is still less than the targeted maximum standard income), then we need to figure out our maximum adjustable non-RIB standard income. Whew, just that name alone is crazy, 5 terms!

So we must solve for this maximum adjustable non-RIB standard income such that:

Targeted maximum standard income = non-adjustable standard income + taxable RIB + maximum adjustable non-RIB standard income

where Taxable RIB is a function of non-adjustable standard income, maximum adjustable non-RIB standard income, non-adjustable LT cap gains, your total RIB, and your filing status.

How do we do that, especially with those interdependencies? Well, in the Portfolio Projection Tool and stand-alone TPM tool I employ the handy-dandy (and highly optimized) numerical solver scipy.optimize.newton routine, which employs the Secant method

Have no idea what those are? That’s OK. You can also likely find the value (or close enough) via this more manual process:

  1. starting with the non-adjustable standard income, non-adjustable LT cap gains, and your total RIB values, add a little bit of income to your standard income input (which we’ll call maximum adjustable non-RIB standard income) and see what your new taxable RIB is (using whatever method you’ve chosen compute how much of your RIB is taxable)
  2. add that new taxable RIB to your non-adjustable standard income and maximum adjustable non-RIB standard income, and see how close you are to the targeted maximum standard income
  3. repeat steps 1 and 2 with a little more for your maximum adjustable non-RIB standard income
  4. keep going until you pass the targeted maximum standard income, then bring the maximum adjustable non-RIB standard income back down until you’re pretty locked on

Depending on your patience level, that manual exercise could prove pretty easy or pretty tedious. Perhaps one day I’ll create a dedicated tool just for this step – let me know if you’d like to see that. 

Note that we are assuming zero additional capital gains (beyond non-adjustable LT cap gains) so far. 

Once we have the maximum adjustable non-RIB standard income locked in, that also means we have the taxable RIB locked in:

Taxable RIB = targeted maximum standard income – non-adjustable standard income – maximum adjustable non-RIB standard income

At this point, if your taxable RIB is less than 85% of your total RIB, your other income is not large enough to push the taxable RIB to its maximum amount. Thus you should not add any LT cap gains on top of the non-adjustable LT cap gains, because those LT cap gains would push your taxable RIB up (and thus reduce your maximum adjustable non-RIB standard income). 

To avoid adding any LT cap gains, you should avoid selling any post-tax assets that will generate capital gains (so pull from your Roth account if you need cash beyond what RIB, non-adjustable standard income, qualified dividends, and RMDs provide).

Unfortunately by avoiding selling any post-tax assets that will generate capital gains, you can’t do any tax gain harvesting. But that’s OK for a couple reasons: 

  1. It’s more important to do everything you can reduce the pre-tax accounts in order to reduce RMDs (and thus taxes), which means maximizing the adjustable non-RIB standard income (instead of reducing that income to allow for more LT cap gains in the 0% tax bracket)
  2. At this point in your life you’re collecting RIB, you likely have a large Roth balance for cash needs, you are likely collecting larger dividends from your larger investment balances, and you’ll soon be facing RMDs (if you aren’t already). Given all those income and cash sources, it’s far less likely you’ll need to pull from your post-tax accounts to meet your cash needs (which would generate additional LT cap gains).

So to avoid adding any additional LT cap gains, set your targeted maximum overall income as:

Targeted maximum overall income = targeted maximum standard income + non-adjustable LT cap gains income

However, if your taxable RIB value is equal to 85% of your total RIB, everything changes. At this point your other income sources are large enough that you’ve arrived at the maximum taxable RIB rate, and thus any additional LT cap gains income will not impact how much of your RIB is taxed (and thus your total standard income).

Thus we can leave the targeted maximum overall income alone, and thus when we get to selling taxable lots below, we can generate additional LT cap gains equal to:

I might also one day create a dedicated tool for all the logic in this entire RIB section – let me know if you’d like to see that. For now, see the relevant method within the Portfolio Projection Tool or the stand-alone TPM tool for how I code all this logic up (which is probably less lines than this section!).

Pulling from 457(b) account

If you haven’t reached your targeted maximum standard income yet, now it’s time to make withdrawals from your pre-tax accounts to reach that target.

We’ll start with the 457(b) account, if you have one. If you’re married and both people have 457(b) accounts, pull from the older person’s account first, then the younger persons – which will help put off RMDs a bit longer. 

You can also start with your Traditional IRA (or other pre-tax accounts such as a 401(k) or 403(b), but I recommend you roll those over to a Traditional IRA, see next section) if you want, but I’ve found that pulling from the 457(b) first provides a bit more robustness to your portfolio in more strenuous scenarios. And if your 457(b) is trapped with a banking institution you don’t like (as is the case with mine), spending it down first will let you escape from that company ASAP (you can always transfer your other pre-tax funds to other companies without penalty, since you won’t lose special lack of 10% early withdrawal penalties that a 457(b) has). 

If you have enough in your 457(b) account to cover the remaining standard income needed, sell that amount. If not, sell the remaining balance of your 457(b) account and recompute how much standard income you still need.

Add the withdrawal to your standard income total, overall income total, and total cash balance.

Fortunately there is no penalty when withdrawing from a 457(b) before 59.5, so any funds withdrawn from your 457(b) can be used immediately. Unfortunately, there is a mandatory 20% withholding on 457(b) account withdrawals, so you’ll want to make that withdrawal as late in the year as possible so that you get those funds back ASAP when filing your tax return in the spring. 

Pulling from Traditional IRA

If you haven’t reached your targeted maximum standard income yet, now it’s time to make withdrawals from your Traditional IRA to reach that target. If you have any other pre-tax retirement accounts such as a 401(k) or 403(b), I strongly recommend rolling those accounts over to a traditional IRA as soon as you depart your employer, to avoid the mandatory 20% withholding for withdrawals.

Just like for the 457(b) account, 100% of your Traditional IRA withdrawals count as standard income.

If you’re married and both people have a Traditional IRA, pull from the older person’s accounts first, then the younger persons – which will help put off RMDs a bit longer. All steps in the rest of this apply to both people.

If you have enough in your Traditional IRA to cover the remaining standard income needed, withdraw (or convert, see below) that amount. If not, withdraw / convert the remaining balance of your Traditional IRA and recompute how much standard income you still need.

If you’re not yet 59.5, you’ll be converting the funds to your Roth account to avoid the 10% early withdrawal penalty, instead of a normal withdrawal. This conversion will count as standard income, and you’ll have penalty-free access to that money after 5 years have passed (i.e. you’re performing a Roth conversion ladder). Thus you should add the conversion to your standard income total and overall income total, but not your total cash balance.

If you’re 59.5 or older, it’s much simpler: perform a normal withdrawal and add that to your standard income total, overall income total, and total cash balance.

Selling Taxable Lots

At this point you’ve used every available penalty-free option to achieve your targeted maximum standard income, and it is likely you’ve achieved that goal. But if not, that’s OK too: the standard deduction can also be used for LT cap gains, even if that’s not as useful as employing it for standard income. 

The next goal is to achieve the targeted maximum overall income, which we will do using long term capital gains from sales of taxable account funds.

Thus you should compute how much more overall income you need, subtracting your current overall income total from your targeted overall income.

Important note: if at all possible, only sell lots that are at least a year old, so that you pay the MUCH lower LT cap gains tax rate instead of the standard income tax rate on the capital gains. The TPM method assumes all lots sold are over a year old for this reason. 

Before you sell any lots, first compute what percentage of each lot is capital gains.

If you have not generated enough cash to reach Total Cash Needed, you should sell your lots starting with the lowest percent capital gains, working your way towards those with the highest gains. That order will maximize the chance there is sufficient cash for expenses after selling each subsequent lot. 

If you HAVE generated enough cash to reach Total Cash Needed at this point, you should sell the lots in the opposite order (highest to lowest percentage capital gains). That order will minimize the excess cash generated, since we already have enough.

This does mean in general you want to use “specific identification of shares” for your cost basis method in your brokerage account, so you can select the fund with the highest percentage or lowest percentage cap gains accordingly. Changing the cost basis is an easy task you can do online. 

Now you can loop over all your taxable lots to generate the LT capital gains needed to achieve the targeted overall income. For each lot, determine if the cap gains will cover the remaining income you need, and if so determine what fraction of that lot to sell. If the lot doesn’t cover the entire remaining needed income, sell the entire lot and move on to the next lot. 

Add any LT cap gains to your LT cap gains income total and overall income total.

Add all lot sales to your total cash balance. 

Have Enough Cash? Invest Any Excess Cash and You’re Done

If at this point you have enough cash, then you’re essentially done, and you can skip the remaining sections of this page.

The only thing you’ll want to do at this point is invest any excess cash you might have generated in your taxable account. E.g., if you sold taxable lots to meet your LT cap gain income goal, but that generated more cash than you need. Or if your income alone exceeds your total cash needed for the year.

Get Remaining Cash Needed With Tax- and Penalty-Free Options

If after all the steps above you find that you still don’t have enough cash to reach the Total Cash Needed, next up is getting that cash from any tax- and penalty-free options you have.

Pull from Roth

First up is pulling funds from your Roth IRA account (and your spouse’s Roth if married). 

If you (or your spouse) are 59.5 or older, it’s easy – just sell however much you need. There are no penalties or taxes to worry about. If you have enough in your Roth account to cover the remaining cash needed, sell that amount. If not, sell the remaining balance of your Roth account and recompute how much cash you still need. Ignore the rest of this “Pull from Roth” section.

If you are not yet 59.5, things are a bit trickier but you do have options. There are essentially two main ways to pull from your Roth penalty-free in this case (other than exceptions such permanent disability or a one-time $10K withdrawal for your first home):

  • selling original contributions (if your Roth account is at least 5 years old – a very important reason to open one ASAP when you start your career)
  • selling any conversions from a Traditional IRA (if the conversion is at least 5 years old)

Fortunately withdrawals from a Roth operate on a First In, First Out (FIFO) basis, so any withdrawals will count as withdrawing first your original contributions, then your conversions (from oldest to most recent), then your earnings.

If married, all steps below should be done first for the older person, then the younger person.

First you should determine if your Roth contributions or your Roth balance are larger – hopefully it’s the latter, indicating your investments have grown instead of shrunk, but that might not be the case! Whatever value is smaller (we’ll call it “Lower Roth Value”), if it’s enough to cover the remaining cash needed, sell an amount equal to the remaining total cash needed. If not, sell the Lower Roth Value, and recompute remaining cash needed.

If you still need more cash, next determine if any of your conversions are at least 5 years old. If so, sell those conversions from oldest to most recent (which is the order the IRS assumes for any withdrawals) until you reach the total cash needed or the conversions (at least 5 years old) are depleted. 

And just like for original contributions, if your overall Roth balance is less than the total of these conversions, you can only sell up to the Roth balance of course.

Pull From Cash

If after the Roth withdrawals you still need more cash, it’s time to resort to the last tax- and penalty-free source you have: cold hard cash. 

If you have enough in your bank / money market / cash-equivalent account to cover the remaining cash needed, withdraw that amount. If not, withdraw the remaining balance (down to whatever minimum you’re comfortable with to meet cash flow needs) and recompute how much cash you still need.

Get Remaining Cash Needed With Options That Generate Taxes And/Or Penalties

Now what happens if you STILL need more cash? Well, now the pain begins unfortunately – you’ll have to resort to options that generate taxes and/or penalties. 

Fortunately, the sections below will help you keep those taxes and/or penalties to a minimum.

Determine if Only One Account Still Has Funds

If only one of your accounts still has money in it, then you just have to pull from that account – pretty simple.

If the account still has enough to cover the remaining cash needed, withdraw that amount and you’re done. If not, then pull the rest of the money in the account and then zoom on down to the last section on this page: “Out of money!!!!! Gah!!!!”.

Taxes Tasks

Before you make any additional withdrawals, there are a couple tasks to do involving taxes.

Recompute Taxable RIB

If you have social security income (RIB), you should check to see if your overall income total reached your targeted overall income. 

If not, then the taxable RIB you computed above may not be correct. To check on this, plug your non-RIB standard income total (just subtract your old taxable RIB from your current standard income total), LT cap gain income total, and RIB into the same tool you used previously to compute Taxable RIB (see “Social Security Income” section above). 

If that new value for Taxable RIB matches your old one, you’re good. If not, then recompute your standard income total by adding your non-RIB standard income total to the new Taxable RIB. And then recompute your new overall income total by adding that new standard income total to your LT cap gain income total.

Compute Tax Bill Estimate For This Year

Before this point, you’ve not had to compute any kind of estimate of your federal income tax bill for the current year. But now it’s time, because you’ll need this value in the next section below.

There are many ways to estimate your tax bill:

The main inputs are your filing status, your current standard income total, and your LT cap gains income total (which includes qualified dividends).

I will not describe how this tax calculation is done – that would make this already quite long page even longer, and there are plenty of resources that provide excellent explanations of how federal income taxes are computed.

I do recommend using a tool/approach that is fast and easy though – because you will need to re-run this tax calculation potentially many times in the next section.

Numerical Integration – Selling From the Lowest Tax+Penalty Option to the Highest

This section employs a “numerical integration” method that I’ve not seen in personal finance before (though I wouldn’t be surprised if someone has used it before somewhere, and I just haven’t found it). 

In a previous post I wrote about why I take this approach and a high level description of how it works.

The broad goal is to start with the lowest tax/penalty options and work your way down to the highest tax/penalty options, so that hopefully the overall taxes and penalties paid will be minimized each year. 

However, it proved nightmarishly complicated to determine exact rules that would always provide the most optimal way to pull money from the various account types. See the previous post for details on these complications. This numerical integration approach allows us to bypass this complexity, with the trade off that it’s a bit more computationally expensive. 

This section will focus on providing greater detail for how the approach works and how you can employ it yourself, vs the higher level description provided in that previous post

Here’s a diagram of that higher level idea:

Targeting Increment

This “numerical integration” method employs one small increment of money for each step towards obtaining the total cash needed.

You get to choose how big or small this increment is. Here’s the trade-off: the smaller the increment, the more optimal the result, but the more time it will take (computation time if coded up, your time if you’re doing it manually).

Since I have this method coded up in the Portfolio Projection Tool, I set the increment to $100, which I found was a good balance of optimality and speed. But if you’re doing the entire process fully manually, you’ll probably want to use a larger increment such as $1K. Or if you code it up and want the best answer possible, you can go down to $10 or even $1. It might take a while to process (a couple minutes instead of a few seconds), but theoretically you only have to do this at most once a year.

If the remaining cash needed is smaller than your increment, just use the remaining cash needed for all the below calculations.

Compute Taxes + Penalties for Each Type of Withdrawal

Next you’ll be taking a “pretend” withdrawal equal to the increment you’ve chosen from each of your main account types: taxable, Roth, 457(b), and Traditional IRA.

Note: if you’re married, perform the same step described below for the tax-advantaged accounts of each person. Treat these as independent accounts for the purposes of this method, as IRS rules regulating these accounts can make a big difference when choosing the best option.

Taxable Account

First consider your taxable account, assuming it still has money in it.

First sort all your taxable lots from lowest to higher percentage LT cap gains (as done in the “Selling Taxable Lots” section above). Then “pretend” sell these lots in that order (to minimize taxes) until you reach the withdrawal increment or all lots are depleted. 

Collect all “pretend” LT capital gains generated by “pretend” selling these lots.

If you have RIB, these additional LT cap gains can change your Taxable RIB, so you’ll need to recompute it. It’s the same process as in the “Recompute Taxable RIB” section above: plug your non-RIB standard income total, new LT cap gain income total (which now includes your “pretend” LT cap gains), and RIB into your “compute taxable RIB” tool. Then recompute your standard income total by adding your non-RIB standard income total to the new Taxable RIB.

WIth your new “pretend” standard income total and “pretend” LT cap gain total, compute what your taxes would be now.

Then subtract this new Taxes value from the Taxes value you had before this withdrawal increment to get your “Tax Delta” – that’s how much taxes this increment will cost. 

Then divide the tax delta by the “pretend” withdrawal (which may be less than the full increment you specified above if you’ve pulled the very last funds out of the taxable account), to get the taxes percentage value. 

Store that taxes percentage value in a “comparison” list that we’ll use to decide which account has the lowest taxes+penalty percentage.

Roth Account

Next up, we’ll look at Roth withdrawals, if your Roth account is not empty.

At this point you should be under 59.5, otherwise you would have already depleted the account in the “Get Remaining Cash Needed With Tax- and Penalty-Free Options” step above. 

You’ve also depleted all original contributions and any conversions that are at least 5 years old.

Next look at any conversions that are less than 5 years old. “Pretend” withdraw from those first, starting from the oldest conversion and working your way forward in time to the newest conversion, until you achieve the withdrawal increment or you run out of conversions. Compute the penalty as 10% of that sale.

Note that if your overall Roth balance is less than the total of your conversions (i.e. your Roth investment has lost money), then you can only sell up to the Roth balance of course. 

If after selling your remaining conversions (if any) you still haven’t reached the withdrawal increment, now it’s time to sell earnings. 

If your Roth account balance (which at this point is only earnings) is larger than the increment, “pretend” sell that increment, compute the penalty as 10% of that sale, and add the increment to your standard income total. Otherwise, “pretend” sell the remaining Roth balance, compute the penalty as 10% of that sale, and add the sale amount to your standard income total.

If you sold any Roth earnings and thus your standard income increased, you’ll need to compute what your new tax bill is. 

With your new “pretend” standard income total and LT cap gain total, compute what your taxes would be now. 

(Note: you won’t ever need to recalculate your taxable RIB with this “pretend” standard income increase, because you won’t ever have both RIB (earliest start age is 62) and taxed Roth withdrawals (latest age is 59.5).)

Then subtract this new Taxes value from the Taxes value you had before this withdrawal increment to get your “Tax Delta” – that’s how much taxes this increment will cost. 

Then divide the tax delta PLUS the 10% penalty payments by the “pretend” withdrawal (which may be less than the full increment you specified above if you’ve pulled the very last funds out of the account), to get the taxes+penalty percentage value. 

Store that percentage value in your comparison list. If married, have one entry for your account and one for your spouse’s.

457(b) Account

Now you’ll “pretend” withdraw from your 457(b) account, if you (or your spouse if married) have one and it still has a non-zero balance. 

The entire withdrawal counts as standard income.

If you have RIB, this additional standard income can change your Taxable RIB, so you’ll need to recompute it. It’s the same process as in the “Recompute Taxable RIB” section above: plug your new non-RIB standard income total (which now includes your “pretend” standard income), LT cap gain income total, and RIB into your “compute taxable RIB” tool. Then recompute your standard income total by adding your new non-RIB standard income total to the new Taxable RIB.

WIth your new “pretend” standard income total and LT cap gain total, compute what your taxes would be now.

Then subtract this new Taxes value from the Taxes value you had before this withdrawal increment to get your “Tax Delta” – that’s how much taxes this increment will cost. 

Then divide the tax delta by the “pretend” withdrawal (which may be less than the full increment you specified above if you’ve pulled the very last funds out of the 457(b) account), to get the taxes percentage value. 

Store that taxes percentage value in your comparison list. If married, have one entry for your 457(b) and one for your spouse’s 457(b).

Traditional IRA

Now you’ll “pretend” withdraw from your Traditional IRA (and your spouse’s Traditional IRA if married), if it still has a non-zero balance. 

The entire withdrawal counts as standard income, and if you’re under 59.5 you will also pay a 10% penalty on any withdrawal.

If you have RIB, the additional standard income can change your Taxable RIB, so you’ll need to recompute it. It’s the same process as in the “Recompute Taxable RIB” section above: plug your new non-RIB standard income total (which now includes your “pretend” standard income), LT cap gain income total, and RIB into your “compute taxable RIB” tool. Then recompute your standard income total by adding your new non-RIB standard income total to the new Taxable RIB.

WIth your new “pretend” standard income total and LT cap gain total, compute what your taxes would be now.

Then subtract this new Taxes value from the Taxes value you had before this withdrawal increment to get your “Tax Delta” – that’s how much taxes this increment will cost. 

Then divide the tax delta PLUS the 10% penalty payment by the “pretend” withdrawal (which may be less than the full increment you specified above if you’ve pulled the very last funds out of the account), to get the taxes+penalty percentage value. 

Store that percentage value in your comparison list. If married, have one entry for your account and one for your spouse’s.

Execute Withdrawal for Lowest Tax + Penalty Option

After all those “pretend” withdrawals, look at your comparison list and determine which option has the overall lowest tax+penalty percentage. That’s withdrawal you’ll actually execute.

Note: even if the withdrawal did not equal the full increment you sought, because the account ran out of funds, that’s OK – just take that withdrawal, and you’ll be closer (even if only slightly) to the total cash needed, and that empty account won’t be considered the next time through the loop. 

Now what happens if multiple accounts have the same overall tax+penalty percentage? Here’s the priority I recommend:

  • 457(b) – good for reducing RMDs (older spouse first, if married)
  • Traditional IRA (and any 401(k)/403(b) funds, but hopefully you’ve rolled those into your Traditional IRA) (older spouse first, if married)
  • Taxable
  • Roth – last because:

See subsections below for how to make the withdrawals for each account type.

Once the withdrawal is made and you’re that much closer to your total cash needed, repeat the process of evaluating the tax+penalty percentage for each account for your chosen increment and selecting the lowest rate account until you reach the final total cash needed (or you run out of money – see the final section below).

Note: you may not want to actually execute these withdrawals until you finish the entire loop – otherwise you could be doing a lot of very small withdrawals. Just keep a running total for each withdrawal, and then execute the entire total when you finish the loop (total cash needed is obtained, or all accounts are depleted).

Another note: just like in the “Determine if Only One Account Still Has Funds” section above, if at any point in the loop you find that only one account has funds left, you can save yourself a lot of computation. If the account still has enough to cover the remaining cash needed, withdraw that amount and you’re done. If not, then pull the rest of the money in the account and then zoom on down to the last section on this page: “Out of money!!!!! Gah!!!!”.

457(b) Account

If the 457(b) account has the lowest tax+penalty percentage, make that withdrawal. 

Add the withdrawal to your standard income total, overall income total, and total cash balance.

If you have RIB, this additional standard income can change your Taxable RIB, so you’ll need to recompute it. It’s the same process as in the “Recompute Taxable RIB” section above: plug your new non-RIB standard income total (which now includes your 457(b) withdrawal), LT cap gain income total, and RIB into your “compute taxable RIB” tool. Then recompute your new standard income total by adding your new non-RIB standard income total to the new Taxable RIB.

WIth your new standard income total and LT cap gain total, compute your new tax bill total.

Traditional IRA

If the Traditional IRA account has the lowest tax+penalty percentage, make that withdrawal. 

Add the withdrawal to your standard income total, overall income total, and total cash balance.

If you have RIB, this additional standard income can change your Taxable RIB, so you’ll need to recompute it. It’s the same process as in the “Recompute Taxable RIB” section above: plug your new non-RIB standard income total (which now includes your Traditional IRA withdrawal), LT cap gain income total, and RIB into your “compute taxable RIB” tool. Then recompute your new standard income total by adding your new non-RIB standard income total to the new Taxable RIB.

WIth your new standard income total and LT cap gain total, compute your new tax bill total.

Taxable Account

If the taxable account has the lowest tax+penalty percentage, make that withdrawal. 

As done in the “Compute Taxes + Penalties for Each Type of Withdrawal” section above, sort all your taxable lots from lowest to higher percentage LT cap gains and sell these lots in that order (to minimize taxes) until you reach the withdrawal increment or all lots are depleted.

Add the LT cap gains from the withdrawal to your LT capital gains income total and overall income total. Add the entire withdrawal to your total cash balance.

If you have RIB, these additional LT cap gains can change your Taxable RIB, so you’ll need to recompute it. It’s the same process as in the “Recompute Taxable RIB” section above: plug your non-RIB standard income total, new LT cap gain income total, and RIB into your “compute taxable RIB” tool. Then recompute your new standard income total by adding your non-RIB standard income total to the new Taxable RIB.

WIth your new standard income total and new LT cap gain total, compute your new tax bill total.

Roth Account

If your (or your spouse’s) Roth account has the lowest tax+penalty percentage, make that withdrawal. 

For all conversions that are less than 5 years old, withdraw from those first, starting from the oldest conversion and working your way forward in time to the most recent conversion, until you achieve the withdrawal increment or you run out of conversions. Add the withdrawal(s) to your total cash balance.

Note that if your overall Roth balance is less than the total of your conversions (i.e. your Roth investment has lost money), then you can only sell up to the Roth balance of course. 

If after selling your remaining conversions (if any) you still haven’t reached the withdrawal increment, now it’s time to sell earnings. 

If your Roth account balance (which at this point is only earnings) is larger than the increment, sell that increment. Otherwise, sell the remaining Roth balance. Add any sales to your standard income total, overall income total, and total cash balance.

WIth your new standard income total and LT cap gain total, compute your new tax bill total.

Out of money!!!!! Gah!!!!

If you STILL don’t have enough cash after all the above steps, you’re officially broke – time to go get a job or some other income, seriously cut your expenses down to your current income levels, sell your house, and/or other drastic measures. I suspect that’s very unlikely to happen to anyone that’s reading this article, but it is good to consider the worst case scenario.