CoastFIRE Calculation Reality Check: Can Beancount Handle the “What If” Game We Actually Need?
So I hit a milestone last month that I’ve been working toward for 3 years: my Beancount ledger shows I’ve crossed my CoastFIRE number. According to my calculations, I have enough invested that if I never contribute another dollar, compound interest will carry me to full FI by age 60. That should feel amazing, right?
Instead, I’m lying awake at 2am questioning every assumption. What if returns aren’t 7%? What if they’re 5%? What about inflation? What if I’m completely wrong?
The Historical vs. Projected Disconnect
Here’s my problem: Beancount is phenomenal at tracking what happened, but CoastFIRE is entirely about what will happen. My ledger gives me perfect historical accuracy—every transaction, every balance, every return is precise and auditable. But CoastFIRE requires projecting 25+ years into the future with massive assumptions:
- Return rate assumptions: Historical 7% real returns vs. 2026’s more conservative 5-6% guidance
- Crossover date calculations: When can I actually stop contributing?
- Sensitivity testing: What if markets tank for 5 years? 10 years?
- Safe withdrawal rate: Is 4% still safe, or should I plan for 3.5%?
None of this lives naturally in my Beancount ledger. I’ve got perfect historical data and… hopeful spreadsheet guesses.
My Janky Current Setup
Right now, I’m running Python scripts that:
- Read current balances from bean-query
- Apply compound interest formulas with hardcoded assumptions
- Spit out projected balances and “crossover dates”
- Save results to a text file (not version controlled
)
This feels completely disconnected from my ledger. When I update my assumptions (which I’m doing constantly in 2026’s uncertain environment), there’s no audit trail. When I want to discuss my calculations with my partner or this community, I have to share separate files.
The beautiful plain-text, version-controlled philosophy of Beancount breaks down at exactly the moment when I need it most—when I’m making huge life decisions based on 25-year projections.
The 2026 Reality Check
Every financial planner is now recommending more conservative return assumptions. The old “7% real returns” rule is being revised to 5-6% for 2026 planning. That difference is MASSIVE:
- 7% returns: I’m at CoastFIRE today, can stop contributing
- 5% returns: I need another $85K invested, or 18 more months of aggressive saving
That’s the difference between walking into my boss’s office next month vs. grinding for another year and a half.
What I Want (But Don’t Have)
I wish I could:
- Track multiple scenarios in a structured way (conservative/moderate/optimistic)
- Version control my assumptions alongside my ledger (when did I switch from 7% to 5.5%?)
- Visualize the uncertainty (confidence intervals, not single projections)
- Share my calculations transparently with others for feedback
- Recalculate automatically when my balances update monthly
Basically, I want Beancount’s philosophy (plain text, version controlled, scriptable) applied to forward-looking projections, not just historical transactions.
How Are You Handling This?
For those of you tracking CoastFIRE, LeanFIRE, or any FIRE variant in Beancount:
- Where do your projections live? Separate spreadsheets? Python scripts? Jupyter notebooks?
- How do you handle assumptions? Document them? Version control them?
- How often do you recalculate? Monthly when balances update? Quarterly? Only when markets move significantly?
- Have you built any tools to bridge this gap? Plugins? Scripts? Custom workflows?
- Am I overthinking this? Should I just accept that projections and historical data are fundamentally different things?
I know Beancount users are technical enough to script solutions, but I’m curious if anyone’s found an elegant way to keep everything in the same ecosystem. Or is the answer just “keep them separate, stupid”?
Show me your workflows. I can’t be the only one losing sleep over return rate assumptions! ![]()
![]()
Context: I’m 32, software engineer salary, maxing out 401k and Roth IRA, currently at $210K invested, targeting $1.2M at age 60 (CoastFIRE number per calculators). Using Beancount + Fava for 2 years, love the historical accuracy but struggling with the projection layer.