- Jul 2, 2026
- 7 min read
How FinZot Models Roth Conversions
Say you practice asset location, with bonds in the traditional IRA and equities in the Roth and taxable. Modeling a Roth conversion in that plan has a well-known trap. A careless model lets the conversion pick up the return difference between the accounts. The analysis then rewards converting for reasons that have nothing to do with taxes.
The trap
The trap comes from assigning one blended return per account type. The traditional account gets a low return because that is where your bonds sit. The Roth gets a high return because that is where your equities sit. When you convert a dollar, it leaves the low-return bucket and lands in the high-return bucket, and its growth rate jumps. The tool credits the conversion with the extra return of stocks over bonds. That extra return has nothing to do with the conversion itself.
The result is a systematic bias toward converting more, and earlier, than the after-tax math supports.
The real benefit of a conversion comes from two tax mechanics.
Rate arbitrage. Pay the tax at today’s rate instead of the higher rate you expect later. The low-income gap years between retirement and Social Security are the usual window.
Tax drag. A dollar in a Roth grows without losing anything to tax along the way. A dollar in a taxable account gives up a little each year to tax on dividends and interest, so it grows more slowly. Paying the conversion tax from the taxable account moves dollars out of taxable and into the Roth, where they can grow faster.
How FinZot models it
In FinZot you set a target allocation on each account, across as many funds as you want. A conversion then works like this:
-
FinZot creates a new Roth account for each conversion and copies the source account’s target allocation into it. Convert from a 100%-bond traditional IRA and the converted dollars are still in bonds.
-
The conversion sells proportionally in the source, so the source’s allocation is unchanged too. If you want equities moved into the Roth, you set that up yourself.
-
FinZot pays the tax bill by selling from the taxable account through your withdrawal order. The capital gains on those sales are taxed. Those sales can shift your overall household allocation.
The settings
- Allocation Glide Path. FinZot moves the account to the new allocation in equal yearly steps, rebalancing each year. You anchor the span to a life event rather than a calendar year.
- Update Target Allocation. FinZot replaces the target in one year. By default only the target changes, and cash flows drift the account toward it with no forced sale. Check Execute rebalance immediately and FinZot sells to the new target that year, realizing gains on any taxable-account sales. Either change can target one account or every conversion account at once.
- Conversion sizing. You can fill to a target instead of guessing a fixed amount. FinZot converts just enough each year to reach the top of a federal bracket, stay under an IRMAA tier, or stay below an ACA Federal Poverty Level multiple. Combine targets in one rule and the conversion sizes to whichever binds first. Selling to pay the tax raises AGI, which can tighten the constraint. FinZot solves for that.
- Funding the tax. FinZot tracks cost basis per lot, so you choose how the tax gets funded. Sell your highest-basis lots to keep the realized gain small, or harvest long-term gains in years you have bracket room.
For each conversion in each year, FinZot reports which constraint bound the size.
One caveat. A traditional IRA balance is partly a deferred tax bill, so some of it is the government’s, not yours. FinZot works in nominal balances rather than tax-adjusted ones. Keeping the converted dollars in bonds holds your nominal allocation steady, but your true after-tax exposure still shifts.