I-ORP Alternatives - Reviving old thread

Might want to try RPM (retiree portfolio model) over on bogleheads.

Just spent the last 2 hrs checking this out. It is so complicated and you have to figure out so many variables. And for single folks they make the spreadsheet a real P.I.A. to use.
 
i-ORP used to do a nice job of helping to determine how much to withdraw from IRA to convert to Roth when on the ACA with constrained income.

Today I tried the model as it's been several months and the model has been changed (again) and it just doesn't work for me.

The model appears to no longer be counting income from investment dividends/interest and there's no "income" column in the withdrawal reports, only a "guaranteed income" column which would be from a pension/ss/annuity, which I won't get for nearly 10 more years (just SS). What about expected yearly income from divs/cap gains?

As a result of this change, the amount i-ORP is telling me to convert from IRA to Roth is greatly inflated as it doesn't think I'm getting any income except "premium tax credits."

I don't understand why these changes were made. It appears to be not working as it used to (for Roth conversions). Very disappointing. I'll have to look for a replacement tool.
Recent changes to ORP's Withdrawal Report are cosmetic. There is still a Yield column which reports interest & dividends from the After-tax Account, but not from the other two accounts.


Other changes to ORP include reporting of asset allocations, an IRMAA report, and a formulation modification to reduce the number of infeasible ACA models. None of these mods should significantly change the order and amount of withdrawals. If there are changes to IRA to Roth conversions I would certainly like to know the particulars.
 
The changes are not just cosmetic.

I put in an ACA income constraint of $20K to run the model. I selected 12% tax limit for Roth conversions.

The withdrawal report specifies I should withdraw $20K from my IRA first year and convert that to Roth. Ok...

Except, I will be getting income from divs/cap gains and I entered the percentage return expected for each type of account. Thus it doesn't make any sense that I should withdraw $20K to convert since there will be yield of somewhere around $7K to $11K from taxable investments. If I were to withdraw $20K to convert to IRA, my taxable income for the year would be something like $27K to $31K, which is not being constrained as entered in the ACA field.

That's the issue I'm encountering.

As a contrast, when I first ran the i-orp model a couple years ago, the suggested IRA2Roth amount was exactly what one would expect. It was much lower in the years of the ACA constraint, keeping the total income to the level set in the ACA field.
 
Last edited:
The changes are not just cosmetic.

I put in an ACA income constraint of $20K to run the model. I selected 12% tax limit for Roth conversions.

The withdrawal report specifies I should withdraw $20K from my IRA first year and convert that to Roth. Ok...

Except, I will be getting income from divs/cap gains and I entered the percentage return expected for each type of account. Thus it doesn't make any sense that I should withdraw $20K to convert since there will be yield of somewhere around $7K to $11K from taxable investments. If I were to withdraw $20K to convert to IRA, my taxable income for the year would be something like $27K to $31K, which is not being constrained as entered in the ACA field.



That's the issue I'm encountering.

As a contrast, when I first ran the i-orp model a couple years ago, the suggested IRA2Roth amount was exactly what one would expect. It was much lower in the years of the ACA constraint, keeping the total income to the level set in the ACA field.
You have encountered an ORP algorithm change made for early retirees with large Taxable accounts. Such accounts generate dividends and interest large enough to violate your ACA ceiling, taking the model out of the ACA business.

The new algorithm is: for an ACA model with a Roth beginning balance less than your Taxable balance, then ORP will take your Taxable account to cash for the duration of the period from retirement to age 65 when Medicare kicks in. At age 65 the Taxable account reverts to the user specified asset allocation. Thus no dividends nor interest will be generated and spending can be supplied by Taxable, tax free, withdrawals.

If you think this is a dumb ideal let me know why. Better yet offer up a better suggestion. ORP is a work in progress which doesn't pretend to know all the answers since we don't know the best way to formulate the questions yet. User suggestions are encouraged.
 
James,

Take a look at the model I just ran: Model ID: M19680G3kfS0r21w

1. You'll see the recommended withdraw to convert to Roth is the exact same amount as the number in the ACA field.

2. You'll see there are %s entered in the glidepath section for each type of account to show the allocation of equities/bonds and expected % of return from each.

3. There is no field on the output report titled "yield." I did a search for it. There is only "guaranteed income" which are ACA subsidies and then later SS benefits in my report.

4. Expected yield from taxable accounts is not shown and is also not being counted against the ACA income limit.

The attachment shows the column headings on the "After-Tax Account Annual Cash Flow." There is a column for CapGains (but that's $0 for every year).
 

Attachments

  • Screen Shot 2019-06-08 at 1.00.20 PM.jpg
    Screen Shot 2019-06-08 at 1.00.20 PM.jpg
    20.4 KB · Views: 24
I think the column heading "yield" is in the spreadsheet. If you scroll down, you will find the link to the spreadsheet.
 
The primary problem is the model is not counting yield against ACA income constraints and is suggesting the entire ACA constrained income amount be withdrawn from the IRA and converted to Roth.

That would be fine *if* there wasn't any other taxable income, but there is, as yield would show (if it did show on screen).
 
I agree that the model was somehow not crediting the return (income) on taxable, at least in my quick scenario. I haven't rerun it again to see if it's changed or not.
 
I think the column heading "yield" is in the spreadsheet. If you scroll down, you will find the link to the spreadsheet.


I downloaded the csv spreadsheet file, opened it in excel, and yield is not there either. I did a search to look for the name "yield" anywhere in the spreadsheet and it isn't there.

In the "input parameters" showing on screen, "yield" is there for IRA, Roth, Aftertax, along with the % values I entered for each, but that's the only place yield shows up.
 
James,

Take a look at the model I just ran: Model ID: M19680G3kfS0r21w

1. You'll see the recommended withdraw to convert to Roth is the exact same amount as the number in the ACA field.

2. You'll see there are %s entered in the glidepath section for each type of account to show the allocation of equities/bonds and expected % of return from each.

3. There is no field on the output report titled "yield." I did a search for it. There is only "guaranteed income" which are ACA subsidies and then later SS benefits in my report.

4. Expected yield from taxable accounts is not shown and is also not being counted against the ACA income limit.

The attachment shows the column headings on the "After-Tax Account Annual Cash Flow." There is a column for CapGains (but that's $0 for every year).
Because your Roth < Taxable, ORP reallocates the Taxable account to all cash, which generates no yield nor capital gains for the ACA restricted income period. ORP does conversions from the tax-deferred account and supports spending out of the Taxable account. What seems to be wrong here is that your extraordinary income at age 7 is treated as cash instead of reverting to your specified Taxable asset allocation. I have some debugging to do here.



I encourage discussion about this heuristic for dealing with the ACA income lid. This is all discussed in the report help file for the After-tax Account.
 
My taxable is not all-cash and is generating divs, despite how you programmed the algorithm. I understand the rationale of 'why' you've done this, but I disagree with this approach. It would be better to explain up-front on the ACA field (right on the screen) that the model might result in an error in some cases when trying to compute to account for ACA, rather than making an assumption for taxable accounts to be 100% cash, no divs, which results in an incorrect withdrawal from IRA for IRA2Roth.

In my case it would not result in an error because my taxable divs do not go over the income amount in the ACA field. I know it doesn't result in an error because I have my i-orp report from when I ran the model over 18 months ago and the IRA2Roth amount was correct and my Roth IRA account was < taxable account at that time too.
 
Last edited:
My taxable is not all-cash and is generating divs, despite how you programmed the algorithm. I understand the rationale of 'why' you've done this, but I disagree with this approach. It would be better to explain up-front on the ACA field (right on the screen) that the model might result in an error in some cases when trying to compute to account for ACA, rather than making an assumption for taxable accounts to be 100% cash, no divs, which results in an incorrect withdrawal from IRA for IRA2Roth.

In my case it would not result in an error because my taxable divs do not go over the income amount in the ACA field. I know it doesn't result in an error because I have my i-orp report from when I ran the model over 18 months ago and the IRA2Roth amount was correct and my Roth IRA account was < taxable account at that time too.
I have reflected on all this and concluded that your criticism is well founded and, in the end, appreciated. The all-cash taxable account is gone and replaced with a penalty vector approach in which violations of the ACA lid are flagged on the Withdrawal Report. In this approach the user's asset allocation for the taxable account is retained and breachings of the ACA ceiling will be reported, but the model will be solved. This is discussed in the Withdrawal Report Help file.

This approach is experimental so comments are appreciated.
 
Hi James,

Check out Model ID: M196120fPyxHmFxioE

Just ran it.

I'm glad to see you've made a change around the ACA field, but the results for Roth2IRA are not looking correct, unless I'm missing something.

Looking at the Nominal Withdrawal Report (for the first line age 58):

If you notice, the total of the withdrawal from IRA (for IRA2Roth conversion) + Yield is less than the ACA amount. Isn't the goal to maximize, to the extent possible, the amount that can be converted to Roth in each year, while keeping income constrained to the ACA level and within the tax % selected?

It looks like there's still another $8K that could be withdrawn from the IRA for conversion to Roth in year 1, in addition to what's already been modeled, to bring total income up to the ACA level set, but still be within the 12% tax rate.

Please check and advise on that.

thanks!
 
Last edited:
Hi James,

Check out Model ID: M196120fPyxHmFxioE

Just ran it.

I'm glad to see you've made a change around the ACA field, but the results for Roth2IRA are not looking correct, unless I'm missing something.

Looking at the Nominal Withdrawal Report (for the first line age 58):

If you notice, the total of the withdrawal from IRA (for IRA2Roth conversion) + Yield is less than the ACA amount. Isn't the goal to maximize, to the extent possible, the amount that can be converted to Roth in each year, while keeping income constrained to the ACA level and within the tax % selected?

It looks like there's still another $8K that could be withdrawn from the IRA for conversion to Roth in year 1, in addition to what's already been modeled, to bring total income up to the ACA level set, but still be within the 12% tax rate.

Please check and advise on that.

thanks!
From the looks of your Fed tax report, ORP's taxable income is at the top of the 0th tax bracket for age 58. So intuitively although it looks like there is another 8K to go, but not if we are trying to stay in the bottom tax bracket. From age 59 to Medicare, ORP hugs the bottom of the 10% bracket. So I conjecture that ORP is putting more emphasis on tax brackets than on IRA conversions.
 
From the looks of your Fed tax report, ORP's taxable income is at the top of the 0th tax bracket for age 58. So intuitively although it looks like there is another 8K to go, but not if we are trying to stay in the bottom tax bracket. From age 59 to Medicare, ORP hugs the bottom of the 10% bracket. So I conjecture that ORP is putting more emphasis on tax brackets than on IRA conversions.

But I specifically selected the 12% tax bracket for Roth conversions. Based on that selection as well as the fact that my income will not go over the 12% bracket regardless, the model should always resolve to fit what I selected as my ACA limit and maximize the roth conversion *within the selected tax bracket* but not go over. Otherwise, why bother having the user select the tax bracket limit for roth conversions in the first place? i-ORP used to work this way (maximizing roth conversions up to the ACA income limit and based on the income tax bracket selected) until the changes over the last year or months.

Another issue: the model is also making an assumption that the user will sell stocks or bonds and be subject to capital gains tax in their taxable account during their ACA years. But that's not necessarily true, and in my particular case it won't happen because in my group of taxable accounts I have high interest regular savings, and CDs, which are "taxable" and do earn interest, but have no capital gains for withdrawing and using those monies to live on. I also have a tax-free muni fund in my taxable account that spins off tax-free income each month.

One thing early retirees are taught to do is have a savings bucket to use for expenses to reduce taxable income and avoid any cap gains. The cap gains estimate is incorrect -- I will actually have zero this year as I will not be selling any stock or bond, and it will be the same for 2020.
 
Last edited:
But I specifically selected the 12% tax bracket for Roth conversions. Based on that selection as well as the fact that my income will not go over the 12% bracket regardless, the model should always resolve to fit what I selected as my ACA limit and maximize the roth conversion *within the selected tax bracket* but not go over. Otherwise, why bother having the user select the tax bracket limit for roth conversions in the first place? i-ORP used to work this way (maximizing roth conversions up to the ACA income limit and based on the income tax bracket selected) until the changes over the last year or months.


ORP's modeling of IRA to Roth IRA conversions has not changed in the last year or so. However, the ORP model continues to undergo refinement to improve its applicability to the real world. This will change things around the edges of a plan but not structurally.


ORP is not obliged to peg IRA to Roth conversions to the top of an arbitrarily selected taxable income level. ORP will compute taxable income at or below a suitably small ceiling. If the ceiling is too low the model will not solve. (In this case the model's optimal ceiling is 12%, but goes infeasible at 10%.) The purpose of the conversion ceiling is to pander to users who panick at the large tax bills generated by unlimited conversions.

A casual scan of this model's Withdrawal Repot shows that the first retirement year's results has room for more conversions, should ORP choose to do so; which it does not.

ORP is optimizing the full retirement plan of 40 or so years. Closer examination of the full plan shows that ORP is using the Roth IRA Account as a buffer to achieve it's goal of maxim disposable income. Looking back toward the end of the ORP output, the Income Tax Report shows that ORP is, after the age of 65, pegging taxable income at the top of the 15% tax bracket. ORP achieves this by moving money into and then out of the Roth IRA in a manner that maximizes disposable income. So when ORP does things that are counter intuitive in a particular year of retirement, it is doing so in the context of the grand scheme of things.


Ideally the ORP user should opt for unlimited conversions and use the results as a guideline/upper bound for doing IRA to Roth conversions based on factors other than the economics of a computer model.
 
My singular boundary for doing IRA2Roth conversions until reaching age 65 is the constraint of ACA income, which by itself is in the 12% tax bracket.

It makes zero sense to me that one wouldn't take advantage of every opportunity to convert as much as possible from IRA2Roth within the given constraints, which is exactly what one does to be setup for a more advantageous taxable situation in later years.

James, the model just isn't making sense to me. If someone has a taxable income constraint of $20K and the model is only suggesting they convert $3K to Roth and they'll get $8K yield, that's a total taxable income of $11K. That total doesn't even get to the maximum single filer 0% tax rate, which is $12.2K. And even setting the input to unlimited conversions still results in the model setting IRA2Roth conversion in year 1 to $3K because of the ACA field remaining at $20K.

The correct answer is the model should resolve to:

$8K estimated yield, based on investment returns
$12K withdraw from IRA and convert to Roth IRA
------
$20K total recognized income for the year, which equals the input ACA amount of $20K.
 
Last edited:
Back
Top Bottom