Trust · Methodology

Every assumption, on the table.

This is the inspection hatch for the projection engine. It is written for people who read the footnotes — planners who want to check the arithmetic themselves, and the professionals they check it with. The most important thing to know is this: the AI is the interface, not the calculator. The assistant reads your situation and calls typed tools; a deterministic engine does the math. The rule of this page is simple — no claim without a number or a source — and where the engine stops, we say so, in the Limitations section at the end. Each topic has its own page with the detail.

How it works

The AI is the interface. The engine is code.

The assistant never does the arithmetic. It reads your situation, calls typed tools, and reports what they return. Every number on your screen comes out of the engine, not the model.

1.1

Your plan is one portable document

The whole household — people, accounts (401(k), IRA, Roth, HSA, 529, taxable, debts, and more), income streams, expenses, goals, and liabilities — is a single plain-JSON state document that you own and can export at any time. Facts live there; the engine reads them.

1.2

Assumptions come back with the answer

Every projection echoes the assumptions it used — returns, volatility, inflation, tax year, marginal rates — in the same response as the result. Any number can be traced back to the inputs that produced it, and a follow-up question is one changed parameter away.

1.3

Projections are re-derived, not cached

Projected numbers are always re-derived from inputs, never served back from a cache. The state document holds facts and scenarios hold hypothetical deltas. Snapshots are the one place computed results are kept — deliberately, as an immutable, dated record of what the plan showed at that moment.

Topics in depth

The detail, one topic at a time.

Capital-market assumptions

Here are the defaults. Override any of them.

These are the built-in per-asset-class return and volatility assumptions. They are starting points — long-run historical averages, not a house forecast — and every one is a parameter you can replace with your own capital-market assumptions per projection.

Asset classReturn (nom.)VolatilityBasis
Stocks7.0%15%Long-run historical average
Bonds4.0%6%Long-run historical average
Cash2.0%1%Long-run historical average
Crypto2.0%18%Conservative placeholder
Real estate2.0%6%Conservative placeholder
Other2.0%6%Conservative placeholder
Returns are annual, nominal, total-return. Conservative placeholders (crypto, real estate, other) are intentionally cautious defaults pending better assumptions — the point is that you supply your own. Two preset bundles ship as well: a conservative set (stocks 5% / 18%) and an optimistic set (stocks 10% / 15%).

Portfolio tools reference →

Goals & the household

The rest of the household.

A plan is more than a return curve. These pieces model the parts that decide whether the curve actually reaches the things you're saving for.

4.1

Goals

A target amount and date with an importance level (the probability of success you're aiming for), projected as a balance and progress band with a success probability at the target date. Accounts and income streams can be earmarked to a goal.

4.2

Employer match

Tiered, safe-harbor, and QACA match formulas, with cliff and graded vesting schedules.

4.3

Mortgages & debts

Full amortization and payoff schedules, for a mortgage and for credit-card, student, auto, and personal loans.

4.4

Budget

Income and expense modeling and savings-rate analysis, feeding the household surplus into the projection.

4.5

Snapshots

Immutable, diffable point-in-time records, so you can track how a plan changes over time.

Validation

Checked against the source documents.

Tax figures are not typed from a blog post. Each year's federal brackets carry the IRS Revenue Procedure they came from, and the current year's figures also carry the date they were verified against it.

  1. 5.1Thousands of tests run in the suite, the large majority in the core financial engine.
  2. 5.2Federal ordinary and LTCG brackets cite their IRS Revenue Procedure; the AMT parameters cite the same Procedure and the IRS release for the year, and the tests assert those citations are present.
  3. 5.3Every state and local rate carries its source and the date it was verified.
  4. 5.4FICA wage bases cite the SSA fact sheets, cross-checked against IRS Topic 751.
  5. 5.5Money crosses every tool boundary as integer cents. Inside the projection engines the math runs in floating point and is rounded back to whole cents.
  6. 5.6Results are reproducible: the closed-form engine is deterministic, and Monte Carlo reproduces exactly under a fixed seed.
  7. 5.7Unsupported inputs fail loudly rather than approximating — an unmodeled local jurisdiction returns a refusal, not a plausible-looking zero.

Limitations

Where the engine stops.

A projection tool that hides its edges is worse than useless. Here is what FinPlan does not model, or models with a known caveat. Read this section as carefully as the rest; each topic page lists the finer-grained caveats for its area.

6.1

State tax is resident returns, before credits

All 50 states + DC are modeled, but only as full-year resident returns: there is no nonresident or part-year input. Most state credits are not modeled, and Washington's separate capital-gains tax is not either. More detail →

6.2

AMT can overstate in gain-heavy years

Long-term capital gains are folded into the AMT base at ordinary rates rather than keeping their preferential treatment (Form 6251 Part III). Treat AMT output in years with large long-term gains as an upper bound. More detail →

6.3

The default engine is cautious on the downside

For plans with ongoing contributions, the closed-form engine's 10th percentile runs roughly 12–24% below Monte Carlo, depending on volatility and horizon. A fix is decided but not shipped; ask for Monte Carlo when the downside band matters. More detail →

6.4

Deficit drawdowns are untaxed and proportional

When household spending exceeds income, the engine funds the deficit as a proportional drawdown across accounts by balance, and does not tax that drawdown or apply a tax-aware withdrawal order (e.g. taxable before pre-tax before Roth). More detail →

6.5

Whole-plan projections simplify some rules

Age-based income and expense rules are not evaluated yet, RMDs are not forced out during the projection, and employer match uses simplified 401(k) limits. Each simplification is stated in the response when it applies. More detail →

6.6

No estate, gift, or generation-skipping tax

The engine models income, payroll, and capital-gains tax during your lifetime. It does not model estate tax, gift tax, the step-up in basis at death, or any wealth-transfer planning.

6.7

Current law, held fixed as it projects forward

The engine is built for the current tax year and its published tables. Projections that run past the last legislated year hold that year's law fixed in real terms — they do not predict future legislation. More detail →

6.8

No view on any security's merit

Allocation is asset-class only — stocks, bonds, cash, and the handful of categories in the table above. The engine has no model of any individual stock or fund, so it cannot tell you which one will do better, and it will not tell you what to hold. It does do the tax math on positions you already own — capital-gains treatment from cost basis and holding period, so you can see which of two sales costs less in tax. That is a tax calculation, not a judgment about the investment.

Check the arithmetic yourself.

Every tool is documented with its inputs and outputs, and every result echoes the assumptions it used.