Every client you've run through the model, with a link back into their analysis.
The basics — enough to set the workflow in motion.
A snapshot of where this client stands, and quick links into each area.
What the client has available today to fund every goal below.
Mortgages, loans, and other debts — used for the net worth summary only, not for goal funding or discounting.
Social Security, pensions, paychecks — anything that offsets what the portfolio needs to provide, for as long as it lasts. Leave "end year" blank for income that continues for life.
Drives the federal tax estimate used in Monte Carlo and the Detailed Cash Flow tab — on by default for every client. Withdrawals are sequenced taxable first, then traditional, then Roth last; Roth withdrawals are tax-free, traditional withdrawals (including RMDs) are fully ordinary-taxable, and taxable-account withdrawals are also treated as fully ordinary-taxable for now, since the tool doesn't yet track cost basis or capital gains.
Core lifestyle goals can cover sequential phases (e.g. years 1–10, then 11–30) or run simultaneously (e.g. general spending alongside a separate healthcare goal with its own inflation rate) — each with its own rolling protected-years window: at every point in time, the next N years of that goal's spending sit in risk-managing assets, no matter how far off they are today. Every other goal is capped at the household horizon and priced off the glidepath.
| Goal | PV | Assets | Funded |
|---|
| Year | Bottom 5% | Bottom 25% | Median | Top 25% | Top 5% |
|---|
| Year | Core Lifestyle* | Discretionary | Family | Philanthropy | Total |
|---|
Shared across every client. Changing these updates the discounting and glidepath math the next time you view a client's results.
Not editable — sourced from IRS Rev. Proc. 2025-32 (tax year 2026) and Treasury Reg. §1.401(a)(9)-9 / Pub. 590-B. This is exactly what the app uses internally whenever a client's federal tax estimate is turned on (Tax Profile tab, per client — on by default), including required minimum distributions.
Your contact details and sign-in settings.
A complete, plain-language account of every formula and mechanism this tool uses — written so a new user can understand exactly how a number on a results page was produced, not just what it means.
GoalPath derives a household's recommended portfolio allocation from its actual goals, rather than from a generic risk-tolerance questionnaire. Every dollar a household holds is, conceptually, earmarked to fund something — a goal with a dollar amount and a date — or it isn't earmarked to anything yet (surplus). The tool prices each of those commitments individually, in present-value terms, and the household's overall recommended mix of return-generating versus risk-managing assets falls directly out of that pricing: money needed soon sits in conservative assets, money needed far off (or not needed at all yet) sits in growth assets. Nothing about the recommended allocation is set by hand — it's a mechanical consequence of the goals, the assumptions, and the money already on hand.
Every goal falls into one of four categories:
Discretionary, Family, and Philanthropy goals are priced against a reference curve that maps years until the goal is needed to a recommended return-generating percentage today. The curve is 0% return-generating at 0–2 years out, rising in steps to 100% return-generating at 15+ years out. A goal 20 years away is treated the same as one 15 years away (100% return-generating) — the curve doesn't extend past 15 years, on the premise that risk capacity doesn't keep increasing indefinitely just because a goal is very distant. Between the defined points the curve is linearly interpolated, so a goal 4.5 years out gets a blended return-generating percentage between the 4-year and 5-year points.
For a standard goal, the household's asset earmarked to it — if a specific dollar figure was entered — or its present value if not, is split into return-generating and risk-managing dollars using that percentage, evaluated at today's distance from the goal.
Core Lifestyle goals use a fundamentally different, more precise mechanism than the standard glidepath: a rolling protected reserve, applied independently to every individual dollar of spending, for every year of the goal.
Each Core Lifestyle goal has a protected-years setting — how many years before a dollar is actually spent that it should already be sitting in risk-managing assets. For a dollar due to be spent in year y, with a protected-years window of p:
This is genuinely rolling, not assigned once at goal creation: a dollar due in year 20 with a 7-year protected window spends its first 13 years in return-generating assets, then rolls into risk-managing assets, then into cash for its final year — re-evaluated continuously as time passes, not locked in on day one. If protected-years is set equal to a goal's full duration, every dollar of that goal is inside its protected window for its entire life, and the goal never benefits from return-generating growth at all — a legitimate, more conservative choice, but a materially different one from a typical rolling window.
Multiple Core Lifestyle goals can run in the same years simultaneously, each with its own protected-years setting and its own inflation rate — see Section 5 for how income is shared across them.
Income sources (Social Security, pensions, paychecks) offset Core Lifestyle spending specifically — they are not netted against Discretionary, Family, or Philanthropy goals, which are always priced gross. When more than one Core Lifestyle goal is active in the same year, income is netted proportionally across all of them by that year's gross spending share, rather than being subtracted from each goal independently (which would let a large goal exhaust the income and unfairly zero out a smaller one). Concretely, for a given year: factor = max(0, totalGrossLifestyleSpending − totalIncome) / totalGrossLifestyleSpending, and each goal's net need for that year is its own gross spending times that same factor.
Every goal's spending amount grows forward from today using an inflation rate — by default the global inflation assumption on the Assumptions page, compounded as amount × (1+inflation)^(year−1) (year 1 uses the amount as entered, with no growth yet applied). Any goal can instead be given its own inflation override, replacing the global rate for that goal only — useful for a goal like healthcare spending that's expected to grow faster than general inflation.
Every goal's year-by-year nominal spending schedule (its "ladder") is discounted back to today using compound growth at the rate appropriate to whichever bucket that dollar sits in for each year of its life, per the rolling floor (Section 4) or the standard glidepath (Section 3). A goal's present value is the sum of all of its ladder entries, each discounted individually — not one blended rate applied to the total. This is why present value, funding ratio, and the recommended allocation are all internally consistent: they're all derived from the same year-by-year ladder.
The "Projected allocation over time" chart answers a different question than the household summary snapshot: not "what should the whole portfolio look like today," but "how does the allocation of money already earmarked to known goals evolve as those goals get funded and consumed." It's built from every goal's individual ladder entries (each a dated dollar amount with a present value), pooled into one set of tranches. For any vantage year t, the tool sums every tranche not yet due (year > t) into cash / risk-managing / return-generating buckets, using each tranche's own glidepath or rolling-floor position evaluated at that vantage point — not fixed at goal creation. For a Discretionary, Family, or Philanthropy goal with a specific earmarked-asset figure, its tranches are scaled so they total that figure rather than its present value (the same base Section 3 uses), so at year 0 this projection matches the household summary exactly. The chart's x-axis runs exactly to the household's horizon (the latest of the plan horizon or any goal's own end year) — no padding beyond that.
Any investable assets beyond what all of a household's goals need, in present-value terms, are uncommitted surplus — not tied to any specific future date. Surplus is treated as 100% return-generating, the same principle already applied to any dollar not earmarked to a near-term need. This is added as a standing tranche with no due date within the horizon (so it always resolves to 100% return-generating for the projection in Section 8 too) and is shown as its own line, "Uncommitted surplus," in the household summary's category breakdown — never silently folded in without being made visible.
The Household Summary's "Recommended Portfolio Allocation" donut reflects the household's entire investable asset base — every goal's present-value-weighted split, plus uncommitted surplus at 100% return-generating (Section 9). The funding ratio is total investable assets divided by total goal present value. The expected return used in discounting is a blended figure: cash dollars at the cash rate, risk-managing-minus-cash dollars at the risk-managing rate, and return-generating-plus-surplus dollars at the return-generating rate, weighted by today's dollar split.
Only shown when the funding ratio is at least 100%. Using the household's actual nominal year-by-year spending schedule and total assets, the tool solves — by bisection — for the minimum required blended return that still funds every goal, then derives the return-generating/risk-managing split implied by that minimum return: wRG = (requiredReturn − rm) / (rg − rm), clamped to 0–100%. This is compared against the glidepath-recommended split so an advisor can see how much more conservative a fully-funded household could afford to be.
Runs 1,000 independent trials over the household's horizon. Each year, every trial uses the same policy allocation (from Section 8's projection, evaluated at that year) but draws its own random annual return from a normal distribution parameterized by the blended mean and variance of that year's return-generating/risk-managing mix, including their volatility and correlation assumptions. Each trial withdraws that year's need (Section 13's schedule) from its own running balance, and adds back any income in excess of that year's gross Core Lifestyle spending — income only offsets Core Lifestyle goals (Section 5), so anything beyond that is reinvested rather than discarded, the same treatment the withdrawal-sequencing projection gives it (Section 17); a trial "succeeds" if it never runs out of money. The fan chart's percentile columns (5th/25th/50th/75th/95th) are computed independently for each year from the distribution of trial balances that year — not tracked along any single path — which is why the lower percentiles can flatten at zero for many years while the upper ones are still climbing.
A year-by-year sources-and-uses table: beginning portfolio value, each income source (with a subtotal), each goal's gross distribution (with a subtotal), federal tax if enabled (Section 15), a net cash flow line (income minus distributions minus tax — shown in red when negative, meaning that year's spending exceeded income and had to come from the portfolio), and an ending value taken directly from that year's median Monte Carlo balance. Investment growth isn't shown as its own line; it's implicit in the gap between net cash flow and the ending value, which is guaranteed to reconcile exactly since the ending value is real simulation output, not a separate estimate.
Every goal's nominal spending, by year and category. Core Lifestyle figures are net of income (Section 5); Discretionary, Family, and Philanthropy are always shown gross, consistent with how income netting works everywhere else.
On by default for every client (can be turned off per client on the Tax Profile tab). Estimates federal, ordinary-income tax only — see the Federal Tax Reference on the Assumptions page for the exact bracket tables, standard deductions, and Social Security thresholds currently in use. For each year, the tool computes taxable income as: other ordinary income (pensions, annuities, paychecks) + that year's portfolio withdrawal + the taxable portion of Social Security (via the IRS "provisional income" formula) − the standard deduction (plus the additional amount for a client 65 or older). Federal tax is applied to that taxable income using the real marginal bracket table for the household's filing status. Because the withdrawal needed to cover spending depends on the tax it generates, and the tax depends on the withdrawal, the tool solves this with fixed-point iteration each year until it converges (typically in a handful of iterations) — computed once per year, not per Monte Carlo trial, so there's no performance cost. Bracket thresholds and the standard deduction are grown forward using the household's inflation assumption, so a multi-decade projection doesn't drift into artificial bracket creep.
Applies to any asset account flagged "Traditional IRA / 401(k)" on the Financials tab. RMD start age follows SECURE 2.0 §107 by birth year: 73 for clients born 1951–1959, 75 for clients born 1960 or later. Each year's RMD equals that account balance at the start of the year divided by the IRS Uniform Lifetime Table divisor for the client's age that year — the age they turn during that calendar year, on the same "year 1 = next year" calendar the plan horizon uses, which also governs when the 65+ additional standard deduction begins (see the Assumptions page for the full table). The traditional balance used for this calculation is projected forward deterministically, at the household's current blended expected return held constant — not simulated with random annual returns the way the portfolio itself is in Monte Carlo. Critically, an RMD is taxed as ordinary income even in a year the household doesn't otherwise need to draw from the portfolio — the mandatory distribution still generates a real tax bill, which the tool still grosses up for, even though it won't force additional spending beyond covering that tax.
Once federal tax is being estimated, each year's withdrawal is sequenced across a household's categorized accounts in a specific order: taxable accounts first, then traditional (tax-deferred), then Roth last — the standard tax-efficient convention, since it lets Roth balances compound tax-free the longest. A required minimum distribution (Section 16) is forced out of the traditional bucket ahead of this order, regardless of how much is available elsewhere, since that's a legal requirement rather than a preference. Roth withdrawals are treated as entirely tax-free. Traditional withdrawals (including RMDs) and taxable-account withdrawals are both currently treated as fully ordinary-taxable — see Section 18 for why. Any account left uncategorized on the Financials tab defaults to the taxable bucket, a deliberately conservative choice so an uncategorized account can never accidentally receive Roth-like tax-free treatment.
These are deliberate, disclosed simplifications — not oversights — but worth stating plainly in one place: