[This article was first published on Econometrics By Simulation, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
< !--[if !mso]>< ![endif]-->< !--[if gte mso 9]>< xml> < o:OfficeDocumentSettings> < o:AllowPNG/> < ![endif]-->< !--[if gte mso 9]>< xml> < w:WordDocument> < w:View>Normal < w:Zoom>0 < w:TrackMoves>false < w:TrackFormatting/> < w:PunctuationKerning/> < w:ValidateAgainstSchemas/> < w:SaveIfXMLInvalid>false < w:IgnoreMixedContent>false < w:AlwaysShowPlaceholderText>false < w:DoNotPromoteQF/> < w:LidThemeOther>EN-US < w:LidThemeAsian>X-NONE < w:LidThemeComplexScript>X-NONE < w:Compatibility> < w:BreakWrappedTables/> < w:SnapToGridInCell/> < w:WrapTextWithPunct/> < w:UseAsianBreakRules/> < w:DontGrowAutofit/> < w:SplitPgBreakAndParaMark/> < w:EnableOpenTypeKerning/> < w:DontFlipMirrorIndents/> < w:OverrideTableStyleHps/> < m:mathPr> < m:mathFont m:val="Cambria Math"/> < m:brkBin m:val="before"/> < m:brkBinSub m:val="--"/> < m:smallFrac m:val="off"/> < m:dispDef/> < m:lMargin m:val="0"/> < m:rMargin m:val="0"/> < m:defJc m:val="centerGroup"/> < m:wrapIndent m:val="1440"/> < m:intLim m:val="subSup"/> < m:naryLim m:val="undOvr"/> < ![endif]-->< !--[if gte mso 9]>< xml> < w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true" DefSemiHidden="true" DefQFormat="false" DefPriority="99" LatentStyleCount="267"> < w:LsdException Locked="false" Priority="0" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Normal"/> < w:LsdException Locked="false" Priority="9" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="heading 1"/> < w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/> < w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/> < w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/> < w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/> < w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/> < w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/> < w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/> < w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/> < w:LsdException Locked="false" Priority="39" Name="toc 1"/> < w:LsdException Locked="false" Priority="39" Name="toc 2"/> < w:LsdException Locked="false" Priority="39" Name="toc 3"/> < w:LsdException Locked="false" Priority="39" Name="toc 4"/> < w:LsdException Locked="false" Priority="39" Name="toc 5"/> < w:LsdException Locked="false" Priority="39" Name="toc 6"/> < w:LsdException Locked="false" Priority="39" Name="toc 7"/> < w:LsdException Locked="false" Priority="39" Name="toc 8"/> < w:LsdException Locked="false" Priority="39" Name="toc 9"/> < w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/> < w:LsdException Locked="false" Priority="10" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Title"/> < w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> < w:LsdException Locked="false" Priority="11" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/> < w:LsdException Locked="false" Priority="22" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Strong"/> < w:LsdException Locked="false" Priority="20" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/> < w:LsdException Locked="false" Priority="59" SemiHidden="false" UnhideWhenUsed="false" Name="Table Grid"/> < w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/> < w:LsdException Locked="false" Priority="1" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/> < w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading"/> < w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List"/> < w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid"/> < w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1"/> < w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2"/> < w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1"/> < w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2"/> < w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1"/> < w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2"/> < w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3"/> < w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List"/> < w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading"/> < w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List"/> < w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid"/> < w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 1"/> < w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 1"/> < w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 1"/> < w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/> < w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/> < w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/> < w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/> < w:LsdException Locked="false" Priority="34" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/> < w:LsdException Locked="false" Priority="29" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Quote"/> < w:LsdException Locked="false" Priority="30" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/> < w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/> < w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/> < w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/> < w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/> < w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 1"/> < w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/> < w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 1"/> < w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/> < w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 2"/> < w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 2"/> < w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 2"/> < w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/> < w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/> < w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/> < w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/> < w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/> < w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/> < w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/> < w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 2"/> < w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/> < w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 2"/> < w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/> < w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 3"/> < w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 3"/> < w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 3"/> < w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/> < w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/> < w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/> < w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/> < w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/> < w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/> < w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/> < w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 3"/> < w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/> < w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 3"/> < w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/> < w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 4"/> < w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 4"/> < w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 4"/> < w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/> < w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/> < w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/> < w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/> < w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/> < w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/> < w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/> < w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 4"/> < w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/> < w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 4"/> < w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/> < w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 5"/> < w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 5"/> < w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 5"/> < w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/> < w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/> < w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/> < w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/> < w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/> < w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/> < w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/> < w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 5"/> < w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/> < w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 5"/> < w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/> < w:LsdException Locked="false" Priority="60" SemiHidden="false" UnhideWhenUsed="false" Name="Light Shading Accent 6"/> < w:LsdException Locked="false" Priority="61" SemiHidden="false" UnhideWhenUsed="false" Name="Light List Accent 6"/> < w:LsdException Locked="false" Priority="62" SemiHidden="false" UnhideWhenUsed="false" Name="Light Grid Accent 6"/> < w:LsdException Locked="false" Priority="63" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/> < w:LsdException Locked="false" Priority="64" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/> < w:LsdException Locked="false" Priority="65" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/> < w:LsdException Locked="false" Priority="66" SemiHidden="false" UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/> < w:LsdException Locked="false" Priority="67" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/> < w:LsdException Locked="false" Priority="68" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/> < w:LsdException Locked="false" Priority="69" SemiHidden="false" UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/> < w:LsdException Locked="false" Priority="70" SemiHidden="false" UnhideWhenUsed="false" Name="Dark List Accent 6"/> < w:LsdException Locked="false" Priority="71" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/> < w:LsdException Locked="false" Priority="72" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful List Accent 6"/> < w:LsdException Locked="false" Priority="73" SemiHidden="false" UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/> < w:LsdException Locked="false" Priority="19" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/> < w:LsdException Locked="false" Priority="21" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/> < w:LsdException Locked="false" Priority="31" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/> < w:LsdException Locked="false" Priority="32" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/> < w:LsdException Locked="false" Priority="33" SemiHidden="false" UnhideWhenUsed="false" QFormat="true" Name="Book Title"/> < w:LsdException Locked="false" Priority="37" Name="Bibliography"/> < w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/> < ![endif]-->< !--[if gte mso 10]>< ![endif]-->Major caveat! I have no investment training or finance training and all of my calculations are back of the envelope calculations put together from what information I can gather online. In addition, given that investment planning usually spans decades, massive uncertainties exist in tax schemes and expected rate of returns. Please consult a professional!
That said, as someone who has an income you are trying to decide if and how much to invest in your retirement account. Most people have several options: tax deferred retirement options such as traditional IRA, 401(k), 457, or 403(b). Some employers also offer matching programs which match contributions at a rate of 50%, 100%, or more to a limit each year. As tax deferred retirement accounts, money contributed to them are not taxed at the time of contribution (except for Social Security tax 6.2 and Medicare 2.9).
In addition to these programs there is the option of investing in a Roth IRA with income that has already been taxed but will suffer no additional capital gains tax. Finally, there is the option of investing directly (with pretaxed earnings) such as purchasing stocks, mutual funds etc. While direct investments give you the freedom to withdraw money at any time, they suffer the penalty of being liable for capital gains taxes (15% on nominal gains for long term investments).
Each of these investment choices has its relative merits. One thing to consider is tax bracket. Each earning level of taxes are paid at a specific bracket. For example, for a couple the first 19k of earnings is paid at a 10% rate, while the next 58k of earnings is paid at 12%, while the next 88k is taxed at 22%, and so on with increases to 24%, 32%, 35%, and finally 37% at total earnings above 600k (see tax tables). Yet the combined effect of these changing marginal tax rates is to turn the effective tax rate into a globally non-linear function (Figure 1).
For the individual the federal tax rate for a median household income level $32K or for a married couple making $59k is about 11.5%. The overall effect of tax bracket structure is to overstate the tax obligation that most individuals and couples are required to pay. For example, a household making 103k (75 percentile) while paying 22% on their last dollar earned are overall only paying only around 14% of their total income in income tax. Even households making 250k (97 percentile) while their tax bracket is officially 24% on their last dollar earned are only paying a tax rate a little above 19% on overall income.
Figure 1: Overall Federal Income Tax Rate without Social Security and Medicare |
That said, nobody likes to see their income disappear to taxes so I am not trying to say taxes are too high or too low. I am just noting that tax brackets alone for the vast majority of the population, are quite inaccurate tools at estimating tax liability. If we include the social security tax and Medicare (Figure 2), federal taxes become both more painful overall and less progressive (higher earners paying higher taxes). This figure is even more non-linear with important portions of the figure (earnings above 128k) experiencing a lower tax rate growth than earnings up to that point. Curiously, an individual income earner above 128k actually experiences a decline in overall tax rate until earning up to the next tax bracket of 157.5k.
Figure 2: Overall Federal Income Tax With Medicare and Social Security |
But enough of this! About 75% of households are earning 110k or less. Those earning above that rate are likely already talking with financial managers in order to figure out how to plan their futures.
The overall point of the above discussion is that tax differed savings plans might be quite beneficial for retirees as many retirees expect to be at a lower income level than they were while working. Income drawn from such plans is taxed at their current income level rather than the level they had at the time of saving. Social Security and Medicare tax is always paid immediately upon all wage earnings (and thus constant under all scenarios) so it will not be included in the following analysis.
In order to analyze the benefit of choosing different investment mechanisms, I looked at three different factors, 1-overall effective lifetime income, 2-total investment worth at the end of retirement (inheritance available), and 3-annual effective income. The first two seem like they are pretty important for most people but arguably annual effective income is probably the most important factor. Ideally, retirees looking to enjoy their retirement will not suffer a minimal loss in purchasing power after retirement.
In order to look at different investment strategies, I simulated two earning levels, 55k per year gross and 110k per year gross. Workers work for 35 years with real annual salary increases of 0.5%. After 35 years of work, workers consider the next 20 years as years living on secondary income sources (1/3 of base income) as well as retirement savings withdrawn at a rate of 4% per year.
In order to make the numbers make sense, I attempted to simulate “real” money rather than nominal (including inflation). As a result I assume that tax brackets remain the same in terms of “real” earnings. Annual raises are modest as a result as well. In my simulation, I include a real investment rate of return of 5% and a capital gains tax of 20% on all direct investment withdraws. This does not take into account in the cost of such investments (which is tax free) while including a higher rate of capital gains tax to take into account the false effect inflation has on direct investments (and the corresponding tax on those investments).
In addition of the tax differed retirement accounts (traditional IRA or a 401k without matching – 401km00), the after tax but not capital gains taxed retirement accounts (Roth IRA), and the direct investment mechanisms (Direct), I also included two investment options in which employers match contributions by either 50% or 100% (401km05 and 401km10).
Generally, all of the investments are considered on the basis of “investing” a certain amount of money 5.5k or 11k. There was one scenario in which I allowed for a greater investment quantity in order to allow the simulation of investing the same amount of after tax income (i401k00b). When the earning level was 55k and the investment was 5.5k for i401k00b the 401(k) investment level was instead 6.5k. And when the earning level was 110k and the investment was 11k for i401k00b the 401(k) investment level was instead 14k.
In my analysis I am concerned with “effective income” which I define as:
effective income = all income – tax – investment contributions (only made for years working).
Gross Base Income 55k per Year
Under the different investment scenarios, total lifetime earnings vary between 2.3m and 2.8m in the case when employers provide matching funds (Table 3). When no matching funds are provided, lifetime earnings are more similar between scenarios with lifetime earnings between 2.3m and 2.5m. Differences are more exaggerated when considering total assets at the end of the retirement period included in total lifetime earnings with the highest level obtained under scenario i401km00b (no matching but investments made at a rate that are higher than 5.5k, but instead meant to achieve after tax 5.5k investment per year).
Figure 3: Total Lifetime Effective Earning and End of Retirement Assets for Gross Income of 55k per Year |
Rather than look at lifetime effective income and total assets it might be better to look at per year income (Table 4). Without contribution matching, all of the scenarios result in a significant drop in effective income. The most dramatic drop is in the “No Saving” scenario in which the effective income of the worker drops from near the global maximum for the scenario to the global minimum of the scenario as the worker enters retirement without any additional income sources outside of the 1/3 base income (SS income or whatever) provided under all retirement scenarios.
Looking at the effective income while working levels, there are three levels that the simulated worker experiences. The highest being “No Savings”, which results in the highest possible current effective income level. The second are the pretax saving schemes such as 401km10, 401km05, and 401km00. These schemes provide highest effective income during working years because they reduce the after tax income not by 5.5k but 5.5k after taxes which is 4.8k in year 1. The scenario in which the highest matching funds are available is that which produces the highest long run returns. The third effective income level on working years is the direct investment scenario, the Roth IRA scenario, and the 401km00b scenario (which is custom calibrated to achieve this). In this income scenario 401(k) investment even though it is taxed upon dismemberment produced higher earnings than that of the Roth in retirement though the difference does not appear to be large in this scenario.
Figure 4: Annual effective income under different investment mechanisms 55k gross income per year. Note a jitter is added to lines to aid in deciphering overlap. |
Gross Base Income 110k per Year with 11k annual investment
Figure 5: Total Lifetime Effective Earning and End of Retirement Assets for Gross Income of 55k per Year |
Overall, doubling the household income and the investment level results very similar relative distributions of Total Lifetime Effective Earnings or Total Assets at retirement.
Figure 6: Annual effective income under different investment mechanisms 55k gross income per year. Note a jitter is added to lines to aid in deciphering overlap. |
Likewise when looking at lifetime smoothed effective income, the overall returns from different investment mechanisms remain similar. That said the difference between the investment strategy using the Roth IRA and increased investment using 401km00b (401 tax differed investment without any match at 11k after tax investment level which is 14k before tax) resulted in the same level of effective income during working years but significantly higher effective income in retirement.
That said, Roth IRA funds are more flexible than those of tax differed funds which suffer a 10% additional penalty if withdrawn before age 59.5. In addition, if you believe that your current income level is likely to be lower than your future income level, it probably means that you should consider investing more in your Roth over that of a tax differed investment instruments.
Comparing 55k to 110k per Year
The 110k per year scenario is basically a doubling of the 55k per year scenario in terms of both income and investment (except in a slight difference with the 401km00b scenario). Comparing the average annual effective income under these two scenarios we can infer the cost of higher income taxes in the 110k scenario. The average ratio is 1.94 which indicates a difference of .06 or 6%. Looking closely at Figures 1 or 2 we can see that the difference in overall tax rates between households making 55k per year and 110k per looks to be about 6% as well. Using larger tax differed investments (401km00b) does appear to be a way to achieve a smaller tax penalty with a decreasing in effective tax rate of closer to 4%.
Table 1: Shows the ratio of average annual effective income (same as total lifetime income). If the ratio were 2 then there would be no tax different between earners at 55k per year and 110k per year.
Ratio | |
NoSavings | 1.94 |
401km00 | 1.95 |
401km00b | 1.96 |
401km05 | 1.93 |
401km10 | 1.92 |
Roth | 1.94 |
Direct | 1.93 |
Average | 1.94 |
Conclusion
If there is a 401k or other tax differed investment option in which matching is available, I would suggest putting the maximum your finances allow. If matching funds are not available, in this simulation investing pretax income in the 401k equal to that you would invest in the Roth IRA appears to yield a slightly better outcome. This is generally because while these funds will be taxed when withdrawn, having that much more funds grows that much faster than the after tax funds otherwise available.
Finally, in almost all of the scenarios, there is a significant loss of effective income upon retirement. If you would like to mitigate the risk of that happening, combining investment mechanisms is likely to be the best strategy. This might mean relying upon direct investments if for instance you have already filled your Traditional IRA or Roth IRA and have no other investment mechanisms provided by your employer.
Feel free to explore the simulation on your own with your own earnings and investment options! Code that produced this analysis can be found on Github.
To leave a comment for the author, please follow the link and comment on their blog: Econometrics By Simulation.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.