Flex Spending
Dynamically adjust spending based on portfolio performance to help simulate more realistic spending profiles.
Added Spending as a customizable metric distinct from expenses.
Expenses are now categorized as essential / discretionary / not spending.
Define behavioral rules in Plan Settings > Flexibility for how you want to flex your spending based on portfolio performance.
Spending, Essential Spending, Discretionary Spending, and Spending Flex can now be visualized in both Plan mode and Chance of Success.
Spending can now be referenced in milestones.
Location & Tax Estimation
Location is now a first-class input during onboarding, and can be adjusted in Account Settings or plan starting conditions.
Tax estimation is now free, with support for international locations. For detailed tax insights, upgrade to Premium.
Tax credits and deductions can now be scoped to specific jurisdictions (Federal, State/Province, Local) and itemized or not.
The Move milestone type now auto-enables Relocation when activated.
Added state-level itemization and phase-out ranges to US state tax estimation.
Improved UK National Insurance handling and several other international enhancements (see below).
Migration for existing plans to infer starting location and enable tax estimation if a strong international preset match is detected.
Tables & Reports
Table views are now located in the plan-level Reports tab with ability to export to PDF, CSV, or JSON.
View tabular data for any plot, built-in table, or custom exploration.
Improved table layout with optional chart view and draggable height.
Tax Analytics
Income by Tax Rate visualization with heatmap color-coding.
Filter charts by jurisdiction or tax type to dig into Federal vs State vs Local taxable income, taxes, rates, deductions, and more.
Improved chart legend with hover interactivity and quick dataset toggles.
Mega Backdoor Roth
Mega Backdoor Roth contributions can now be modeled via new options in the Roth 401k/403b cash-flow priority type.
You can max remaining after-tax contribution space, or contribute a fixed % or amount, and route to a Roth IRA or in-plan.
Canada OAS, GIS, EI + CPP Contributions
Canadian tax engine now includes Employment Insurance (EI) and Canada Pension Plan (CPP) contributions.
Added Old Age Security (OAS) and Guaranteed Income Supplement (GIS) estimated income streams.
RRSP to RRIF conversion age is now configurable.
Netherlands Wealth Tax (Box 3)
Improved wealth tax estimation for the Netherlands with deemed return rates and asset categories.
Metrics & Plots
Yearly summary metric hover menus now show chart previews.
One-click plots for any summary subsection or line item.
Added State Taxable Income and Local Taxable Income metrics.
Restructured all income-related summary metrics.
Refined categorization and color-coding for Expenses and Spending plots.
Stacked bar tooltip totals are now dynamic and update when datasets are hidden.
Cleaned up summary metric names and visibility/ordering defaults.
Improved mobile UX for summary metrics and plots.
Chance of Success
Block Bootstrap historical sampling method: stitch random blocks of consecutive years to mix eras while keeping year-to-year patterns.
Block Length input for # of years in each historical block, allowing you to explore sequence variety vs regime persistence.
If you set specific accounts to use custom normal distributions for returns, those now move together as a 100% correlated group.
Added historical data for 2024, and improved configuration UI.
General Improvements
Employer contributions to Roth accounts can now be designated as Traditional or Roth.
Taxes and Withdrawals summary metric hover menus now include quick links to related plan settings.
Charts show a clearer "no data" state.
Adopted editable preview card UI components in Onboarding and Basic Info pages.
Under the Hood
Rebuilt the tax engine and tax data models using jurisdiction as the main organizing principle.
Made the yearly summary metrics framework more flexible and declarative, with support for derived metrics.
Restructured multiple UI components to improve visual consistency and code quality.
Migrated numerous components to TypeScript, Script Setup, & Composition API.
Stacked bar charts no longer use Chart.js minBarLength due to unpredictable effects on stack height.