Hey everyone! Mike here. I’ve been using Beancount for over 4 years now (came from GnuCash back in the day), and I wanted to start a discussion about something I’ve been seeing more and more in the community lately: scenario-based financial planning.
Why I’m Thinking About This Now
2026 has been… interesting, hasn’t it? Between economic uncertainty, policy changes, and general volatility in everything from job markets to healthcare costs, I’ve noticed a pattern in the questions people are asking on forums and in the Beancount community.
We’re all great at tracking what actually happened. That’s what Beancount excels at. But increasingly, I’m hearing: “How do I plan for what might happen?”
This applies across the board:
- Nonprofits wondering how to model different funding scenarios
- Small businesses trying to prepare for best-case growth and worst-case downturns
- FIRE folks (like me) stress-testing retirement timelines under different market conditions
- Freelancers modeling income volatility and tax implications
The common thread? Single-number budgets and projections don’t cut it anymore when the future is genuinely uncertain.
The Three-Scenario Framework
From what I’ve researched (and I’d love to hear from folks with professional FP&A experience), the standard approach seems to be three scenarios:
-
Best Case / Optimistic: Things go better than expected. What opportunities could you pursue? How would you deploy extra resources wisely?
-
Base Case / Realistic: Most likely outcome given current trends. This is what you communicate to stakeholders and use for day-to-day planning.
-
Stress Test / Adverse: Things go wrong. What’s your survival strategy? How long can you weather the storm? What’s non-negotiable?
The wisdom I’ve picked up: plan cash flow around the worst case, set stretch goals around the best case, and communicate the base case to your team/family/board.
That framework makes intuitive sense—but how do we actually implement it in Beancount?
My Beancount Scenario Planning Questions
I’ll be honest: I’ve built and abandoned three different approaches to scenario planning over the past year. Each time I either over-engineered it (too complex to maintain) or under-engineered it (too simplistic to be useful).
Here are the patterns I’ve considered. I’d love to hear what’s actually working for others:
Pattern 1: Multiple Ledger Files
Maintain separate files for each scenario:
2026-actual.beancount(what really happened)2026-forecast-base.beancount(base case projection)2026-forecast-stress.beancount(stress test projection)
Pros: Clean separation, easy to compare with diff tools
Cons: Maintenance burden, duplication, hard to keep scenarios in sync
Pattern 2: Single Ledger + Forecast Files
- Main ledger = actuals
- Separate forecast file includes future transactions with metadata tags
- Use BQL queries filtered by metadata to generate scenario reports
Pros: Easier maintenance, single source of truth for actuals
Cons: Mixing actuals and projections feels messy to me
Pattern 3: Actuals in Beancount, Projections in Scripts
- Use Beancount only for actual transactions (what it’s best at)
- Write Python/Excel scripts that query Beancount for historical data
- Build projection models outside Beancount using different assumptions
Pros: Separation of concerns, flexibility in modeling
Cons: Loses the “everything in plain text” philosophy
What pattern are you using? Or something completely different?
Specific Use Cases I’d Love to Hear About
For Nonprofit / Small Business Folks
- How do you model variable revenue assumptions? (Grants that might come through at different levels, sales that could vary 30%+)
- Do you track restricted vs unrestricted funds separately in scenarios?
- How do you present multiple scenarios to boards/stakeholders without causing confusion?
- What metrics do you monitor: runway, break-even point, reserve months?
For FIRE / Retirement Planning People
- How are you modeling the “healthcare cliff” (pre-Medicare years)?
- What withdrawal rate assumptions do you use across scenarios? (4% best case, 3.5% base, 3% stress?)
- Do you model job loss scenarios? How?
- Anyone tracking “Barista FIRE” options where you work part-time for benefits?
For Freelancers / Variable Income
- How do you model income volatility when clients can disappear overnight?
- Quarterly estimated tax planning under different income scenarios?
- Do you build in worst-case “dry spell” periods?
What I’ve Learned From Failed Attempts
I’ll share my own lessons learned from over-complicating this:
Mistake #1: Too many scenarios
I tried building 5 scenarios (best, good, base, bad, worst). Impossible to maintain. Three is the sweet spot.
Mistake #2: Too much granularity
I modeled every expense category under different assumptions. Way too complex. Focus on the 2-3 variables that actually matter (for me: investment returns, healthcare costs, job stability).
Mistake #3: Perfect accuracy delusion
I spent weeks trying to “get the numbers right” in my stress scenario. But that’s not the point! The point is to ask: “Could I survive if X happens?” The exact number doesn’t matter as much as the qualitative preparation.
What worked: Quarterly “stress test check-ins” where I ask: “If my stress scenario triggered today, what would I do?” That simple exercise has changed my behavior more than any spreadsheet.
Broader Philosophy Question
Here’s something I’m genuinely curious about: Is scenario planning always worth the complexity?
I think there are cases where simple is better:
- If you have 12 months emergency fund, maybe you don’t need stress scenarios
- If you’re in early accumulation phase (not FIRE, not retiring soon), maybe base case is enough
- If your income/funding is genuinely stable, maybe one projection works fine
But 2026 feels different. Stability feels like the exception, not the rule.
When do YOU think scenario planning becomes essential vs. optional?
What Would Be Helpful From This Discussion
I’d love to see:
- Real examples of Beancount structures people are using (even pseudocode or simplified examples)
- BQL queries that help compare scenarios or calculate key metrics (runway, reserves, etc.)
- Lessons learned from approaches that failed or succeeded
- Philosophical takes on when complexity is justified vs. over-engineering
- Tool recommendations (plugins, scripts, visualizations) that make scenario planning more manageable
My Commitment
If this discussion generates useful patterns, I’m happy to:
- Document best practices in a wiki or guide
- Share any scripts I build for scenario comparison
- Create example ledger structures people can adapt
I believe one of Beancount’s superpowers is transparency and auditability. Scenario planning shouldn’t undermine that—it should enhance our ability to make informed decisions about uncertain futures.
What’s working for you? What have you tried and abandoned? What questions are you wrestling with?
Looking forward to learning from this community!
—Mike