every model spec’d & versioned · harness ✓ greenchangelog →

Writing · Model catalog

Roth vs. Traditional: A Break-Even Model, Not an Opinion

The comparison is a marginal-rate crossover. Framing it as opinion is how the industry has kept the question fuzzy for decades.

By Worthune Staff · 2026-08-14

Roth or traditional is a rate-arbitrage question with a specific arithmetic answer under stated assumptions.

The choice between Roth and traditional contributions is often framed as personal preference — do you believe rates will rise, do you prefer certainty now or later, do you have strong feelings about RMDs. Each framing hides the arithmetic. Under stated assumptions about current and future marginal rates, one contribution type produces higher after-tax retirement income than the other. The Roth-vs-traditional model computes that comparison and returns a break-even future marginal rate at which the choice is neutral.

The inputs and the formula

The model accepts six inputs: an annual pre-tax contribution budget, current age, retirement age, current marginal rate, expected marginal rate at withdrawal, and expected return. It returns the after-tax value at retirement under each contribution type, the break-even future rate — the marginal rate at withdrawal at which the two paths produce identical after-tax proceeds — a mechanical recommendation field, and a year-by-year growth series for charting.

The core identity is that a traditional contribution deducted at the current rate and taxed at the future rate produces the same after-tax outcome as a Roth contribution taxed at the current rate — if the two rates are equal. When they differ, the higher rate wins the tax bill. A user contributing at a 32 percent marginal rate expecting to withdraw at 22 percent should prefer traditional; the reverse expectation flips the choice.

Roth vs. traditional identity
after_tax_roth = contribution × (1 - current_rate) × (1 + r)^n;  after_tax_traditional = contribution × (1 + r)^n × (1 - future_rate)

These are equal exactly when current_rate = future_rate. The break-even future rate is the current rate; deviation from it in either direction favors the corresponding contribution type.

What the model does not do

The model compares an equal pre-tax budget — the apples-to-apples convention the spec names. The traditional path invests the full contribution and pays tax at withdrawal; the Roth path pays tax first and invests the contribution times one minus the current rate, which is exactly the deduction effect made visible. What the convention deliberately excludes is the contribution-limit asymmetry: a saver capped at the annual limit can shelter more effective value in a Roth, because the limit is measured in post-tax dollars there. That advantage is outside this model's scope, and the spec lists it as an exclusion.

The model also does not model required minimum distributions on the traditional side. Under current law, traditional IRAs and 401(k)s are subject to RMDs beginning at the SECURE 2.0 cohort ages, and Roth accounts have no RMDs for the original owner.[1] For a user who does not need the RMD income, the traditional side is forced into taxable withdrawal on a schedule the user did not choose, which changes the effective tax paid. Callers who want this in the comparison should compose Roth-vs-traditional with the rmd model in Pack 2 (retirement & tax).

State taxes are excluded. A user moving from a high-tax state during accumulation to a no-tax state in retirement may see a different Roth-vs-traditional answer than the federal-only model produces. The spec lists state taxes as an exclusion; the overlay is the caller's to build.

The response envelope

A Roth-vs-traditional call returns after-tax proceeds under each path, the break-even future rate, the recommendation, a whole-dollar-rounded growth series, the spec version, an assumptions array naming that version, an empty facts array (the model uses no tax-year constants directly), and a record.sha256 covering the standard fields. A UI storing the envelope preserves the marginal-rate assumptions that produced the recommendation, which is often the artifact a fiduciary reviewer wants to see.

The frame the model refuses to adopt

The Roth-vs-traditional decision is often marketed with framings the model does not endorse: rates will only go up, so Roth; you cannot know your future rate, so hedge; RMDs are always bad, so Roth. None of them carries specific arithmetic backing. The model encodes none of them: it computes the crossover under caller-supplied assumptions, and its recommendation field is only the inequality between the two rates, mechanical and assumption-bound. The framing around it lives in the caller's UI and is the caller's responsibility to defend.

The Roth-vs-traditional question is not opinion. It is an inequality with two variables. The model returns the inequality.

The Roth conversion companion question

A closely related decision is whether to convert a traditional balance to Roth in a specific tax year. The Roth-vs-traditional model does not answer this directly; the conversion decision depends on the current year's marginal rate, the projected future marginal rate, the availability of outside cash to pay the conversion tax, and the growth horizon on the converted assets. Callers building a conversion UI should derive the current-year marginal rate upstream (no Worthune model currently produces it), then run the Roth conversion ladder in Pack 2 for the year-by-year tax cost and the Roth-vs-traditional break-even at that rate against the user's expected future rate. The composition is a caller decision; the models are designed to support it and each returns an envelope that carries the assumptions that produced it.

What happens at the break-even

The break-even future rate the model returns is not a recommendation about the future; it is a specific number the user can hold their own expectation against. A user contributing at a 24 percent current marginal rate whose break-even is 24 percent has been told, precisely, that Roth wins if they expect to be above 24 in retirement and traditional wins if they expect to be below. The user's expectation is external to the model. The model's job is to produce the number against which the expectation can be tested, not to guess what the expectation should be.

Sources

  1. [1] 26 U.S.C. § 401(a)(9); IRS SECURE 2.0 Act RMD rules. https://www.irs.gov/retirement-plans/plan-participant-employee/retirement-topics-required-minimum-distributions-rmds
  2. [2] Worthune roth-vs-traditional spec. https://worthune.com/docs/models/roth-vs-traditional