◈ RON'S RETIREMENT FINANCE MODEL V1
Loading…
✓ Saved 📖 GUIDE MFJ · CA
3-Year Action Plan
3 consecutive years · select any start
Year-by-Year Summary
click to collapse
Balance Trajectories
Personal Information
If ages look wrong, use Export tab → Reset All Data to clear cached values
Key Variables (Global Defaults)
Total return (price + dividends). Can be overridden by year range in Override Tables.
Dividend yield on brokerage/securities account only. Can be overridden with Cash Interest Rate by year range.
Interest on cash balance (e.g. HYSA rate). Can be overridden with Brokerage Dividend Rate by year range.
Brokerage only — retirement accounts (IRA/Roth) always reinvest internally. If paid out: brokerage price growth = Growth Rate − Dividend Rate. If reinvested: dividends stay in brokerage, no separate cash income.
Applies when dividends are paid out. Ordinary = regular income rates; Qualified = 0/15/20% preferential LTCG rates
e.g. 3 = 3% annual increase. Can be overridden by year range in Spending overrides.
Annual Social Security cost-of-living adjustment
Default annual wage & self-employment income growth. Can be overridden by year range in Override Tables.
e.g. 30 = 30% of security sale proceeds is taxable gain. Can be overridden by year range.
Minimum cash balance to maintain. Can be overridden by year range.
Social Security
Age benefits begin (62–70)
At start age
9999 = indefinite. Overridden by Widow(er) Override when active.
9999 = indefinite. Overridden by Widow(er) Override when active.
Widow(er) Override
Models one spouse dying while the survivor keeps retirement balances and, when selected below, the higher Social Security benefit.
Applied starting the year after death. Use negative for lower spending, positive for higher spending. Explicit Spending overrides still take priority.
Death year remains MFJ. Starting the following year, federal and CA tax brackets, standard deductions, taxable Social Security, Medicare/IRMAA count, and senior deductions use Single.
IRA, RMDs & Medicare
Auto: age 73 if born 1951–1959, age 75 if born 1960+ (SECURE 2.0)
Auto: age 73 if born 1951–1959, age 75 if born 1960+ (SECURE 2.0)
Balance split equally to zero by this year. 9999 = not applicable
MEDICARE / IRMAA
Select the Medicare income tier ceiling to target. Off disables global IRMAA targeting unless Max Bracket is selected.
Stay this far below the selected IRMAA tier limit
Optional global federal bracket cap for IRA-to-Roth conversions. Overrides can replace this by year range.
Stay this far below the selected federal bracket cap
Sets IRMAA surcharge for plan year 1 (2-yr lookback)
Sets IRMAA surcharge for plan year 2 (2-yr lookback)
Employee Inputs — Person 1
e.g. 6 = 6% — global default
9999 = ongoing
1099/consulting end year · 9999 = ongoing
Employee Inputs — Person 2
9999 = ongoing
Starting Balances
All balances are entered on the Start of Year tab. The model starts with zero for any year not entered. Go there to enter your actual opening balances for 2026.
Start of Year Entry — Click any year row to enter actual balances and income for that year. Entered values override the projection for that year and all subsequent years resume from those balances. Rows highlighted green have data entered.
Overview — All Years
Edit Year
Click a year in the table above to edit it.
Override any variable for a specific year range — enter only the fields you want to change and leave the rest blank. Last matching row wins when ranges overlap, so you can layer a narrow range on top of a wider one. Use 9999 as End Year to mean "forever." Changes take effect immediately.
Spending & Taxes Lock in spending amounts, tax funding, or deductions for specific years
Override the amount of spending and/or the amount withheld for taxes for one or more years. Spending will increase from this amount the following year unless reset.
Spend Amount ($)Pct Change (%)Tax Override ($)Start YearEnd YearNotes
Itemized deductions: use Fed/CA Itemized only when you want to test itemizing. Non-itemizer charity: leave itemized fields blank, choose Yes, and enter eligible cash gifts only; the app applies it only when the standard deduction is used and caps it by filing status.
Fed Itemized ($)
optional itemizing
CA Itemized ($)
blank = CA standard
Use Non-itemizer Charity?Eligible Cash Charity ($)
ignored unless Yes
Start YearEnd YearNotes
Roth Conversion Strategy Control IRA-to-Roth conversions and Medicare income targeting
Sets the Medicare IRMAA tier ceiling for a year range — the model converts IRA to Roth to stay just below that tier's income threshold. Off disables IRMAA targeting unless Max Bracket is selected; then it fills to that federal bracket target less Bracket HR. Level 0 = Base, 1 = Tier 1, up to 4 = Tier 4. Fill mode (F) fills toward the next tier only when no Max Bracket is selected; Roth mode (R) draws Roth to avoid exceeding the active target.
IRMAA Target Cap
threshold before headroom
Fill Mode (F/R)Max Bracket
tax target vs prior IRMAA
Bracket HR ($)Start YearEnd YearNotes
Sets a MAGI ceiling before Medicare kicks in — useful for staying below ACA subsidy cliffs or bracket ceilings. Converts IRA to Roth up to but not above this target. Ignored once IRMAA target is active.
MAGI Target ($)Start YearEnd YearNotes
Converts IRA → Roth to fill up to the top of your current tax bracket. The model finds which bracket your existing income falls in and fills to that ceiling minus headroom — only if IRA funds are available. Draws from the larger IRA first. IRMAA and Income Level take priority when active in the same year — a warning is shown if they overlap.
T FillHeadroom ($)Start YearEnd YearNotes
Portfolio & Accounts Growth, income rates, funding order, cash floor, HSA deposits
Override the portfolio growth rate for a specific year range. Enter as a percentage — e.g. 5 = 5%, −15 = down 15%. Useful for modeling a down-market sequence or a conservative early-retirement period.
Growth Rate (%)Start YearEnd YearNotes
Override taxable income rates for a year range. Enter either rate or both: brokerage dividend rate affects taxable brokerage dividends and paid-out securities cash flow; cash interest rate affects taxable cash interest.
Brokerage Dividend Rate (%)Cash Interest Rate (%)Start YearEnd YearNotes
Override the taxable-gain percentage applied to brokerage stock sales for a year range. Enter as a percentage — e.g. 30 = 30% of securities sold is treated as taxable capital gain.
Taxable Gain (%)Start YearEnd YearNotes
Override the annual wage & self-employment income growth rate for a year range. Useful for modeling career stages — e.g. 6% during rapid advancement, 3% at mid-career, 2% near retirement. SOY entries always take priority over this rate.
Growth (%)Start YearEnd YearNotes
Controls whether the waterfall draws from Securities or IRA first at Step 3 (after SS/RMDs/wages). Default is Securities. Switch to IRA to accelerate IRA drawdown in specific years.
ChoiceStart YearEnd YearNotes
Override the minimum cash balance for a year range. Useful for periods with known large cash needs — the waterfall will draw from other accounts to maintain this floor.
Cash Floor ($)Start YearEnd YearNotes
Schedule annual HSA contributions by year range. Only applies while enrolled in an HSA-eligible high-deductible health plan.
Annual Deposit ($)Start YearEnd YearNotes
Override the state for tax purposes for a year range — useful for a move to a tax-free state (enter "NONE") or to a different supported state. Currently supported: CA, NONE (no state tax). Future: NY, TX, FL, etc.
StateStart YearEnd YearNotes
Complete Year-by-Year Cash Flow
Tax Breakdown by Year
Effective & Marginal Rates
Tax Detail Table
YearAgesAGIDeductionSr. BonusCharityTaxable Inc FilingFed OrdLTCG/QDICA StateTotal TaxEff %MarginalBlended Prior MAGIIRMAA SurchargeMedicare Part BIRMAA Tier
All Account Balances
Net Worth vs Annual Taxes
Social Security — Gross & Taxable
RMDs Over Time
Roth Balances & Conversions
Funding Waterfall Use
Tax Table Settings
Each year uses exact brackets entered. Years between defined years use the prior year's table.
How fast tax brackets grow each year. Default 2.5% matches historical IRS CPI-W adjustments. Use 0% only as a stress-test (frozen brackets overstate long-term taxes).
How fast IRMAA thresholds and surcharges grow. Default 2.0% matches historical SSA adjustment pace. Use 0% to stress-test frozen Medicare surcharges.
Each November: Click + Add, enter the new year, then fill in updated IRS brackets from irs.gov/newsroom and IRMAA thresholds from cms.gov. Prior year tables are preserved exactly and used for historical calculations.
Tax Brackets —
FEDERAL ORDINARY INCOME
FEDERAL LTCG / QUALIFIED DIVIDENDS
FEDERAL STANDARD DEDUCTION
Federal only · cash gifts · applies only when using standard deduction
FEDERAL ENHANCED SENIOR DEDUCTION (2025-2028)
This is separate from the existing senior standard deduction add-on and also applies when itemizing.
CA ORDINARY INCOME
IRMAA Thresholds
MAGI threshold where each tier begins. Surcharge is additional annual cost per person above standard Part B premium.
TIER MFJ MAGI ABOVE ($) SINGLE MAGI ABOVE ($) HOH MAGI ABOVE ($) SURCHARGE/YR/PERSON
Projected Values Preview
Shows thresholds for any projection year, using defined tables then inflating beyond the last one.
☁ GitHub Sync

Connect a private GitHub repository to automatically back up your data and access it from any device or browser. How to create a token →

One-time setup — follow these steps exactly:
Step 1 — Create a GitHub account
Go to github.com and sign up for a free account if you don't have one.
Step 2 — Create a private repository
Click the + icon (top right) → New repository.
• Name it anything, e.g. my-retirement-data
• ⚠️ Under visibility, select Private (not Public — this app will reject public repos)
• Leave all other options at defaults and click Create repository
Step 3 — Create a Personal Access Token
Click your profile photo (top right) → Settings.
Scroll to the very bottom of the left sidebar → click Developer settings.
Click Personal access tokensTokens (classic)Generate new token (classic).
Note: type a name like retirement-model
Expiration: set to No expiration
Scopes: check the repo checkbox (first one in the list)
• Scroll down and click Generate token
• ⚠️ Copy the token immediately — GitHub only shows it once
Step 4 — Connect below
Paste your GitHub username, repository name, and token into the fields below, then click Connect & Verify.
Manual Backup

Export or import a JSON snapshot. Useful for sharing data, moving to a new version of the file, or keeping an offline backup.


📄 Print Report

Opens a print-ready report in a new tab. Use File → Print → Save as PDF to save it.

Clear Data

Reset everything to defaults. This cannot be undone — export first if you want to keep your data.

Data & Privacy
How to fully remove this data
  1. Use ⚠ Reset All Data above to wipe values (recommended)
  2. Or: Browser Settings → Clear Browsing Data → Cached/Site Data
  3. Or: DevTools (F12) → Application → Local Storage → delete the key shown below
Loading…