Why Track Your FIRE Progress

Financial independence isn't a single moment. It's a gradual shift. Tracking makes that shift visible. It turns "I want to be financially independent" into "I'm 42% of the way to $1,200,000."

Regular tracking makes goals concrete, reinforces saving habits, prevents lifestyle inflation from eating your progress, and catches problems (like debt growing faster than payments) before they become expensive. You don't need to obsess over daily market movements. But ignoring your finances entirely means you won't notice problems until they're hard to fix.

Setting Up Your Profile

The Fire Planner builds a complete picture of your finances: assets, debts, income, expenses, and one-time events. Everything lives in your browser. Nothing is sent to any server.

Birth Date & Retirement Date

Your birth date drives age calculations throughout the projection. It's especially important for the 59.5 penalty-free age rule: the engine uses it to determine when you can access retirement accounts without penalty.

Your retirement date is when the engine switches from accumulation mode (contributions in, surplus deposited) to withdrawal mode (drawing down assets to cover expenses). Income streams set to "ends at retirement" will stop on this date.

Setting Your FIRE Target

Your FIRE target is the net worth you're working toward. Click the target value to edit it. If you've already used one of the calculators, the tracker can bootstrap from that result. The target drives your milestone percentages (25%, 50%, 75%, 90%) and shows as a horizontal line on the projection chart.

Adding Assets

Add each investment account, savings account, or property you want to track. The tracker supports 9 asset types, each with a sensible default growth rate:

Type Default Growth Description
Retirement accounts7.0%401(k), IRA, 403(b)
Taxable brokerage7.0%Individual/joint accounts
Roth accounts7.0%Roth IRA, Roth 401(k)
HSA7.0%Health Savings Account
High-yield savings4.5%Emergency fund, cash
Real estate equity4.0%Property investments
Other6.0%Custom account
Cash / checking0.0%Liquid cash, checking
Cryptocurrency0.0%Bitcoin, Ethereum, etc.

Each asset has a Growth rate choice: Market rate or Custom rate. With market rate, the asset uses your global default growth rate (7% by default). Pick custom rate to set your own, which is useful for savings accounts, real estate, or crypto where you want a different assumption.

You can also set a monthly contribution for each asset and enable/disable individual assets without deleting them.

Adding Liabilities

Add debts with a balance, interest rate, and monthly payment. The engine accrues interest monthly, then applies your payment. If your payment doesn't cover the monthly interest, the tracker will show a health warning, because that debt will grow forever.

Debts also have a projected payoff date based on your payment amount, visible in the projection tables.

Adding Income Streams

Income streams represent money coming in. Each has a type, amount, frequency (monthly or annual), optional start/end dates, and an annual growth rate:

Type Default Growth
Salary3.0%
Social Security2.0%
Pension0.0%
Rental Income3.0%
Side Income0.0%
Other0.0%

Set the end date to "At retirement" for income that stops when you retire (like salary). Use explicit dates for income that starts later (like Social Security at 67).

Adding Expenses

Expenses inflate over time. Each category has its own default inflation rate because healthcare costs rise faster than groceries:

Category Default Inflation
Healthcare5.0%
Insurance4.0%
Housing3.0%
Food & Groceries3.0%
Transportation3.0%
Utilities3.0%
Other3.0%
Discretionary2.5%

Like income, expenses support time bounds (start/end dates), monthly or annual frequency, and custom inflation rates per item. If you add expenses, the engine uses them to calculate your suggested FIRE number (annual expenses × 25).

One-Time Events

One-time events model windfalls or large expenses that happen on a specific date. Positive amounts are inflows (inheritance, bonus, home sale), negative amounts are outflows (wedding, home purchase, medical bill).

You can optionally target a specific asset for the event. If no target is set, the event applies to your designated surplus asset. Events are applied during the projection at the month they occur.

Running Projections

Projections run automatically whenever your data changes. The engine simulates every month from now until 50 years out (configurable), applying growth, contributions, debt payments, income, expenses, and withdrawals. For the exact math, see How Projections Work.

Reading the Chart

The projection chart shows a stacked area graph of your assets over time. Each asset type is a different color, stacked to show your total portfolio composition. Key markers:

Projection Tables

Below the chart, five tabs break down the numbers:

Advanced Analysis

The standard projection shows what happens if growth rates stay constant. Real markets don't work that way. The Monte Carlo and backtest cards in the Settings column test your plan against randomness and history, each on demand.

Monte Carlo Simulation

Instead of one fixed-growth projection, Monte Carlo runs hundreds or thousands of randomized scenarios. Each run applies a different sequence of monthly returns drawn from a lognormal distribution, so you see the range of possible outcomes instead of a single line.

Two settings to configure:

The result chart shows percentile bands (P10, P25, P50, P75, P90) of your portfolio value over time. The result reads like "76.6% of simulations lasted to 2070": the share of runs where your money lasted to your "Money must last until" year. When the typical run runs out sooner, the chart marks the year. Only market-rate assets get randomized. Assets with custom growth rates keep their fixed returns.

Click "Run simulation" to start. Results clear automatically when you change any input. For the math behind it, see Monte Carlo calculations.

Historical Backtesting

Backtesting answers: "Would my plan have survived every historical period since 1871?" It replays your exact profile against real S&P 500 monthly returns from the Shiller dataset, one run per January the data covers: 105 historical starting years for a 50-year projection, 125 for a 30-year one.

The result chart shows the same percentile bands as Monte Carlo, plus labels for the worst-case and best-case starting years. "90% of historical periods lasted to 2070" means your money would have lasted to your end year in 90% of all historical starting years.

No configuration needed. Just click "Run backtest".

Portfolio Survival Heatmap

The heatmap appears under the backtest once it has run. It's a Trinity Study-style grid: withdrawal rates from 3.0% to 6.0% (rows) against all years and each starting decade (columns). Each cell prints the share of starting years where the money lasted, on a colorblind-safe Viridis scale from dark purple (most ran out) to yellow (all lasted).

It is not your plan. It tests a 100% stock portfolio (S&P 500 with dividends) that withdraws a fixed share of its starting value, raised each year with actual inflation, over your retirement length (retirement date to end year). Your income, spending, accounts and stress tests are ignored; the backtest above covers those. Use it for a quick answer to "how safe is my withdrawal rate?" across 150+ years of market data.

Contributions vs Growth Chart

Always visible below the projection chart, regardless of analysis mode. A stacked area chart showing two components of your portfolio over time:

The chart annotates the crossover point: the year when cumulative growth exceeds cumulative contributions. After this point, the market has made you more money than you've invested. For most people at 7% growth, this happens around year 10-15.

Sankey Cash Flow Diagram

The Sankey diagram visualizes where your money flows in any given projection year. Select a year with the year picker, and toggle between monthly and annual views.

During accumulation, the diagram shows income sources flowing into expenses, debt payments, asset contributions, and surplus. During retirement, it flips: asset withdrawals and any remaining income flow into expenses and debt payments.

If your tracked income doesn't cover all outflows while you're still working, the gap is withdrawn from your savings and shows up as a source, just like in retirement. If your savings are empty, the diagram adds a "Shortfall (unfunded)" source for the part nothing covers.

Stress Testing Your Plan

A plan that only works in perfect conditions isn't a plan. The stress testing panel in the Settings column lets you toggle five scenarios to see how your finances hold up under pressure. Each scenario modifies the projection independently, so you can enable as many as you want simultaneously. For the exact formulas, see stress test calculations.

Market Crash

Question it answers: What if the market drops 30% in 2 years?

Simulates an immediate percentage drop in risky assets (stocks, real estate, crypto) at a specified year (0-50), followed by a recovery period (1-50 years) with reduced growth. Drop severity ranges from 1-95%. Cash and savings accounts are protected. Defaults: 30% drop in year 2, 5-year recovery.

Lower Returns

Question it answers: What if the next few decades underperform historical averages?

Permanently subtracts a percentage (0-15%) from every asset's growth rate and the global default rate. A 2% reduction turns 7% growth into 5%. Default: reduce by 2%.

Income Loss

Question it answers: What if I lose all income in 3 years?

Zeroes out all income streams starting at the specified year (0-50). Permanently. This is a worst-case scenario for job loss without replacement. Default: income stops in year 3.

Expense Spike

Question it answers: What if my expenses jump 50%?

Multiplies all expenses by a percentage increase (1-500%) starting at the specified year (0-50). Permanent from that point forward. Useful for modeling a health crisis, new dependents, or relocation. Defaults: +50% in year 2.

High Inflation

Question it answers: What if inflation spikes to 6% for 3 years?

Overrides the default inflation rate (1-30%) for a time-limited window (1-20 years), starting 0-30 years out. Unlike other stress tests, this one ends. Inflation returns to your base rate after the duration. Defaults: 6% inflation starting immediately, lasting 3 years.

What If I Retire Earlier or Later?

This isn't a stress test. To try a different retirement date, change it in Settings. The hero's “You can retire …” line shows the earliest date your plan works.

Withdrawal Strategies

Once you pass your retirement date, the engine needs to decide which accounts to pull from. The withdrawal strategy controls the order. For the exact calculations, see retirement withdrawal calculations.

Tax-Efficient (Default)

Depletes accounts in a tax-optimized order, one at a time:

  1. Taxable accounts (brokerage, savings, cash)
  2. Traditional retirement accounts (401k, IRA, HSA)
  3. Roth accounts (Roth IRA, Roth 401k)
  4. Everything else

The idea: spend taxable money first, let tax-advantaged accounts compound as long as possible, and save Roth (tax-free) for last.

Proportional

Withdraws from all eligible accounts simultaneously, proportional to their balance. If your brokerage holds 60% of your total and your 401k holds 40%, withdrawals are split 60/40. This keeps your asset allocation roughly constant through retirement.

Custom Order

Drag and drop your accounts into your preferred withdrawal sequence. The engine drains them in your specified order, one at a time. Use this if you have a specific strategy (e.g., drain a particular account first for tax bracket management).

The 59.5 Rule

When enabled, the engine skips retirement accounts (401k, IRA, Roth, HSA) if you're younger than 59.5. It withdraws only from non-retirement accounts first. If those run dry and you still need money, it pulls from retirement accounts anyway and flags those withdrawals as early withdrawals in the projection tables as a warning that real-world penalties would apply.

This matters most for early retirees. If you're retiring at 45, you need enough in taxable accounts to bridge the gap until 59.5.

Tracking Over Time

Check-Ins

A check-in is a snapshot of your actual balances at a point in time. Click + Add in the Check-ins section to record current values for any asset or liability. The tracker shows the delta (change) from each entity's previous balance and the total after the update.

You can backdate check-ins if you forgot to log one. History is displayed in reverse chronological order, and individual entries can be deleted.

Recommended frequency: Monthly, on the same day. Consistent timing makes trends visible. Quarterly works if you prefer less maintenance.

Prefer to keep your own record? The FIRE tracker spreadsheet does the same monthly log in Excel or Google Sheets: net worth, contributions vs growth, and milestone dates, with no account required.

Milestones

The tracker uses a 25-50-75-90% framework based on your FIRE target. Each milestone represents a psychological shift:

The four milestones are ticks under the progress bar at the top, and the line below names the next one and its amount. A check-in that crosses one says so, once per milestone.

Ahead or Behind Plan

The planner keeps your plan as you first set it up (it follows your edits for the rest of that day, then stays fixed). After each check-in, the top of the page says how far ahead of or behind that plan you are, and the projection chart draws the plan as a dashed line.

Multiple Plans

Keep up to 5 plans in the "My plan" menu: duplicate your plan to test a change (retire earlier, a career switch, a bigger savings rate), rename or delete plans, and switch between them. Compare shows every plan in one table: earliest FI date, net worth at the end year, and whether the money lasts. Plans live in this browser only, with no account. Open the planner in two tabs and a change in one reloads the other, so neither saves over the other.

Health Warnings

The tracker monitors your data for mathematical inconsistencies and flags them automatically. Warnings don't block anything. They're informational. There are five types:

Warning Severity What It Means
Debt won't pay off Critical Monthly payment doesn't cover interest, so the debt grows forever
Negative interest rate Moderate A liability has a negative rate, which is unusual for debt
No income entered Moderate You have assets plus spending or contributions, but no income before retirement, so savings pay for both until you retire
High growth rate Info An asset has a custom growth rate above 25%: possible but aggressive
Negative growth rate Info An asset has a custom growth rate below -10%: intentional for depreciating assets, likely an error otherwise

You can dismiss individual warnings or dismiss all at once. Dismissed warnings automatically reappear after 7 days or when the underlying data changes. Warnings also auto-clear when you fix the issue (e.g., increase a debt payment above the interest amount).

Sharing, Export, and Import

Shareable Snapshots

Click Share to generate a URL that encodes your entire profile. The link uses base64 encoding, so no data is stored on any server. Anyone who opens the link sees your profile in sandbox mode: they can explore and change the projections and charts, but nothing is saved and their own data is untouched.

Sandbox visitors can save the snapshot to their own profile if they want to use it as a starting point. It is added as a new plan named "Shared plan", next to their own (if they already have 5 plans, they need to delete one first).

CSV Export

Export your check-in history as a CSV file. The export includes a date, entity name, type, previous balance, new balance, change, and total after each check-in. It also embeds a full backup of your profile data as a base64-encoded section at the bottom of the file.

CSV Import

Import a previously exported CSV file to restore your profile. The import reads the embedded backup section and replaces the plan you have open (your other plans stay). You'll see a confirmation prompt before anything is overwritten. The validator checks that the backup contains at minimum an assets array and check-ins array.

Clearing Data

The Clear all data button deletes everything, in every plan: assets, liabilities, income, expenses, events, check-ins, and settings. You'll see a confirmation prompt. This cannot be undone. The page reloads after clearing to reset all state.

FAQ


The Fire Planner is designed to be as simple or detailed as you need. Start with a few assets and your FIRE target. Add income, expenses, and stress tests as you get comfortable. The projections get more useful the more context you give them.

Put it into a plan with your own numbers.