The foundation of FIRE (Financial Independence, Retire Early) planning comes down to one simple calculation: multiply your annual expenses by 25. This gives you your FIRE number—the portfolio size that should sustain you indefinitely.
The Math Behind 25x
The 25x rule is the inverse of the famous 4% withdrawal rate. If you withdraw 4% of your portfolio annually, you need 25 times your annual spending to make it work:
1 / 0.04 = 25
So if you spend $40,000 per year, your FIRE number is $1,000,000. Spend $60,000? You need $1.5 million.
Why 4% Works (and When It Doesn’t)
The 4% rule comes from the Trinity Study, which analyzed historical market data and found that a 50%+ stock portfolio could sustain 4% withdrawals for 30 years in nearly all historical scenarios.
However, there are important caveats for early retirees:
- Time horizon matters: The Trinity Study assumed 30 years. If you’re retiring at 35, you need 50+ years of runway
- CAPE valuations: Research from ERN’s Safe Withdrawal Rate Series shows that starting retirement during high market valuations increases failure risk
- Sequence risk: Poor returns early in retirement hurt more than poor returns later
For early retirees, many experts suggest using 3-3.5% (28-33x expenses) for a larger margin of safety.
Building Your FIRE Number Query in Beancount
Here’s how I track my progress toward FI in Beancount. First, calculate your annual expenses:
SELECT year, sum(position) as total
WHERE account ~ "Expenses"
AND year >= 2025
GROUP BY year
ORDER BY year DESC
Then calculate your FIRE target. I tag my expense accounts and use metadata to exclude one-time costs:
; Calculate average monthly expenses (excluding one-time large purchases)
SELECT sum(position) / 12 as monthly_avg
WHERE account ~ "Expenses"
AND NOT "one-time" IN tags
AND date >= 2025-01-01
For tracking your net worth against your target, I built a simple Python script that pulls from my Beancount file and shows:
- Current investable net worth (excluding home equity)
- Annual expense average
- Current FIRE number (expenses x 25)
- Progress percentage
- Gap to close
My Personal Numbers
I’ll be transparent here. My current metrics:
- Annual expenses: $52,000
- FIRE number (25x): $1,300,000
- Conservative target (30x): $1,560,000
- Current investable assets: $847,000
- Progress: 65% (or 54% to conservative target)
Tracking this monthly in Beancount keeps me motivated and lets me see exactly how market performance and savings rate affect my timeline.
What About You?
Have you calculated your FIRE number? Are you using the standard 25x or something more conservative given longer time horizons or market valuations?
Would love to see how others are building FIRE dashboards in Beancount. Share your queries and approaches!