Abaque 01 · The allowable

What the shelter can carry

A strength chart has two halves: the load you must carry, and the section the code allows you. This sheet is the second half. The load is yours — the multiple of your salary you decide you need. The allowable is written into 26 U.S.C. §402(g) and §415(c), and it does not care who you are.

Everything here is measured in years of salary, never in dollars. Balance, contribution and target all divide by pay, and the pay cancels — so one curve serves every reader. Salary appears in exactly one place, and it is worth knowing why: Congress wrote the deferral limit as a dollar amount, not a percentage. That single drafting choice is what turns a universal chart into one with a wall in it, and the wall moves closer the more you earn.

Reached
Load set
Rate required
Shelter fails above
Register
Sheet01 · Rev B
Inputs

Enter the chart here

Deferral rate15.0%
Years to horizon20
Age now45
Already saved1.00×
multiples of salary, in the plan today
Real net return5.00%
after inflation and after fees
The load — target10.0×
Salary$150,000
Safe-harbor match design
An illustrative account, reduced to one point on a chart that never needed it.
Reached at this rate
Rate the load needs
Ceiling today
Most the shelter can carry
Fig. 1

The design plane — deferral rate against years remaining

Contours of constant result (× salary) Your load — the design line Tolerance on the design line, ±1.5 points of return Statutory ceiling — §402(g) plus catch-up No deferral is possible here at any age you reach
Reading the chart
  1. Enter on the horizontal axis at the share of pay you defer.
  2. Rise to the horizontal line for the years you have left — the right-hand scale gives your age there.
  3. Read the result by which contours you fall between. Units are × salary.
  4. To size instead of check, reverse it: follow the heavy design line to your row, then drop to the axis for the rate.
Fig. 2

Where the dollar limit starts to bite

Rate the load needs Statutory ceiling, by age band The load cannot be carried inside the shelter Other statutory thresholds on this axis
Fig. 3

One word in the statute

Limit INDEXED — what §402(g)(4) actually says Limit FROZEN — the counterfactual Your load
Calculation

Every step, at your numbers

Table 1

Result in years of salary, by rate and horizon

Every cell is the balance at the horizon, in multiples of salary. Cells in blue carry the load you set; grey ones fall short. A cell marked with a dagger is one where the statutory ceiling has truncated the deferral — the rate at the top of that column is not the rate that was actually contributed. Once the ceiling binds in every year of a run, whole columns become identical: raising the rate from 25% to 30% changes nothing at all, because neither is what goes in. That is the yield point, and it is the clearest thing on the sheet.
Method, the normalisation, and what is not modelled

The arithmetic

everything divided by salary S, so the answer is in years of salary each year, at age a: employee $ e = min(c·S, cap(a)) cap from the register cap(a) = 402(g) + catch-up if a ≥ 50 + super catch-up instead, if 60 ≤ a < 64 match $ m = matchRate(e/S) · min(S, 401(a)(17) limit) annual add = min(e_non-catch-up + m, min(415(c), S)) + catch-up flow f(a) = annual add / S a fraction of pay b(0) = b₀ multiples of salary b(t+1) = b(t)·(1+r) + f(age+t) contributions at year end with no ceiling binding, f is constant and this collapses to b(n) = b₀·(1+r)ⁿ + f·((1+r)ⁿ − 1)/r

The closed form and the year-by-year loop are checked against each other in tools/checks/verify01.cjs; they agree to twelve figures whenever no cap binds, and the loop is used everywhere because a cap usually does bind somewhere along the way.

Why the salary cancels, and where it does not

Divide the starting balance, the annual contribution and the target by pay, and every dollar sign disappears from the recurrence. A reader on $60,000 and a reader on $600,000 follow the identical curve — until one of them hits §402(g). The limit is a fixed dollar amount, so as a share of pay it is a hyperbola: generous at $60,000, binding at $150,000, almost decorative at $400,000. The only reason this sheet asks your salary is to locate that wall. Were the limit written as a percentage of compensation, the salary slider would not exist and the chart would be complete without it.

Real terms, and why that is the register's doing

Returns here are real — after inflation — and salary is held flat in real terms, so a multiple of salary means the same thing at both ends of the horizon. That convention is only legitimate because the register says limit_402g is INDEXED: an indexed limit is roughly constant in real terms, so it can be held still on a real-terms chart. Do the same thing to a FROZEN amount and you would be silently pretending it keeps its value. Fig. 3 is that mistake, drawn deliberately.

The ceiling is a ladder, not a line

Three statutory steps fall inside a normal working life: catch-up opens at 50, the super catch-up replaces it for ages 60 to 63, and at 64 it is withdrawn again — the ceiling falls. So a deferral rate above today’s ceiling is not illegal, merely premature: it becomes reachable when you turn 50. Fig. 1 draws all the walls you will meet, not just the one in front of you. Sheet 06 works this ladder out year by year; here it is only visible in what it does to a trajectory.

Named assumptions — not from the register

  • Inflation of 2.5% a year, used only in Fig. 3 to erode the frozen counterfactual. It is an assumption, not a statutory figure, and it is declared here rather than smuggled in as though the register had blessed it.
  • The tolerance band on the design line is ±1.5 points of real return. That number is a judgement about how well anyone knows a forty-year return, not a statistical result.
  • Contributions arrive at year end. Real ones arrive every fortnight and compound slightly longer, so every figure here is a little conservative.

What is not modelled

  • Tax. Pre-tax and Roth dollars are counted alike, and they are not alike at withdrawal — that is sheet 02, and it is the one comparison where balance, return and horizon all cancel out.
  • Mandatory Roth catch-up. From 2026, §603 forces catch-up contributions to be Roth for anyone whose prior-year wages from that employer exceeded the register’s threshold. It does not change a single dollar on this sheet; it changes what those dollars are. Fig. 2 marks the line.
  • Match true-up. Hitting the §402(g) cap early in the year can forfeit match in a plan with no true-up provision. That is plan design rather than statute, so it is left out — but it is a real way to lose money by deferring too fast.
  • Salary growth beyond inflation, promotions, career breaks, and the possibility that the rate you dial in is not one anyone could live on.
  • Everything outside the plan — Social Security, an IRA, a spouse, a house, and the sequence of returns, which the tolerance band gestures at but does not simulate.
  • The withdrawal rate. Turning a multiple of salary into an income is a separate argument; 25× spending is the usual shorthand and it is not a statutory number.

Confidence

Every limit and age on this sheet is Verified against IRS Notice 2025-67 and the Code. The §401(a)(17) compensation limit — $360,000 for 2026, which affects the far right of Fig. 2, where it bends the required-rate curve upward because the match stops growing with pay — was the last entry here to carry a flag; it was read from the Notice and promoted on 2026-08-25.

This is arithmetic, not advice. Dollar figures are approximate and re-indexed; the contribution limits shown move every January, and the ages do not move at all. Nothing here knows your tax position, your spending, or anything else you own. It shows what the statute permits a plan to accumulate and what a given rate reaches inside that permission — take the numbers to a CFP or CPA before acting on them.