Healthcare Costs Are FIRE's Biggest Wildcard—How Do You Model ACA Subsidies, Medicare Timing, and Unexpected Medical Expenses in Beancount?

I’m planning to retire at 45 (currently 38), and after running the numbers dozens of times, one variable keeps me up at night: healthcare costs. Not my portfolio’s sequence of returns risk, not inflation, not even whether I’ve saved enough—it’s the 20-year gap between retirement and Medicare eligibility at 65.

The 2026 Reality Hit Hard

If you’ve been following FIRE strategies that assumed ACA enhanced subsidies, the December 2025 expiration changed everything. The subsidy cliff is back with a vengeance: if your Modified Adjusted Gross Income (MAGI) exceeds 400% of the Federal Poverty Level—which is just $84,600 for a couple in 2026—you lose your subsidies entirely. Not gradually. Not partially. All of them.

The math is brutal. According to recent analysis, the average 60-year-old couple making $85,000/year (just 402% of FPL) now faces premiums $1,900 higher per month—nearly $23,000 more per year. And that’s for someone 15 years older than me. For early retirees in their 40s and 50s, we’re looking at ACA marketplace premiums of $1,800-$2,400/month, translating to $216,000 to $288,000 total over a 10-year Medicare bridge.

That’s 27-36% of a typical $80,000 annual FIRE withdrawal going to healthcare alone.

The Beancount Modeling Challenge

Here’s where I need the community’s wisdom. I’ve been tracking my finances in Beancount for 3 years, and I’m trying to figure out how to model this healthcare wildcard effectively. The challenge breaks down into several pieces:

1. Current Healthcare Tracking (Easy)
I track Expenses:Healthcare with sub-accounts for premiums, medical, dental, vision, and prescriptions. This is straightforward—I know exactly what I spend today.

2. Future Cost Projections (Harder)
Healthcare inflation runs hotter than CPI—I’ve seen estimates of 6-8% annual increases. How do you project costs 20 years out? Do you use Beancount for this, or export to separate tools?

3. ACA Subsidy Optimization (Complex)
This is the real puzzle. To maximize subsidies, I need to keep MAGI under $84,600—but I also want to do Roth conversions in low-tax years. The optimization problem: Roth conversions increase MAGI, potentially costing me $10,000-$15,000/year in lost subsidies. But Roth withdrawals don’t count toward MAGI. Neither do HSA withdrawals for medical expenses.

The math gets wild: should I convert $20,000 from traditional IRA to Roth (paying 12% tax) if it pushes me over the cliff and costs $15,000 in subsidies? That’s an effective tax rate over 50% on that conversion.

4. Scenario Planning (Essential)

  • What if the ACA is repealed? (Back to $2,400/month unsubsidized)
  • What if I develop a chronic condition? (+$500-1,000/month)
  • What if we move to a state with better Medicaid expansion?

5. Emergency Medical Fund (Uncertain)
Should I maintain a separate medical emergency fund beyond my standard 6-month emergency fund? Some suggest 2× max out-of-pocket, others say that’s paranoid.

What I’m Trying to Build

Ideally, I’d love a Beancount-integrated system that:

  • Tracks actual healthcare spending with granular categorization
  • Calculates running MAGI throughout the year (including dividends, capital gains, IRA withdrawals)
  • Projects year-end MAGI so I can make October adjustments
  • Models different withdrawal scenarios (Roth vs Traditional mix)
  • Identifies optimal Roth conversion amounts that stay under the 400% FPL threshold
  • Compares geographic arbitrage options based on state exchange rates

Is this realistic in Beancount? Or am I better off tracking actuals in Beancount and doing projections in spreadsheets?

The Psychological Factor

Here’s what I’m wrestling with: does having precise data reduce anxiety (because I know the numbers) or increase it (because I’m constantly monitoring every dollar against the subsidy cliff)?

When my spouse asks “can we afford to retire early?”, the honest answer is: “It depends entirely on whether we can keep our MAGI at $83,000 vs $86,000 for the next 20 years.” That’s a margin of error of $3,000/year determining whether healthcare costs us $450/month or $2,100/month.

Questions for the Community

For those who’ve retired early or are planning to:

  1. How do you track and project healthcare costs in Beancount?
  2. Do you have a system for MAGI optimization? Plugin? Custom scripts? Export to Excel?
  3. How do you handle the anxiety of the $1 subsidy cliff? (One unexpected mutual fund distribution could blow everything)
  4. Geographic arbitrage—has anyone actually moved states primarily for healthcare costs?
  5. Separate medical emergency fund—yes or no? How much?
  6. For those already retired under 65: how close were your projections to reality?

I’m hoping this sparks a discussion that helps all of us planning early retirement in the post-enhanced-subsidy era. The FIRE spreadsheets from 3 years ago just don’t work anymore.

What’s your healthcare strategy?

I totally get the anxiety—healthcare was my #1 concern when I retired at 48 two years ago. Your fears about that $3,000 margin of error determining whether you pay $450/month or $2,100/month? I lived that exact stress during my planning phase.

My Reality Check After 2 Years on ACA

I’ve been on the ACA marketplace for 2 years now, and here’s the honest truth: projections helped, but reality taught me more. I’m currently paying $850/month for family coverage (managed to keep MAGI at about 380% FPL), which is significantly better than my initial projection of $1,200/month. The difference? Strategic withdrawal planning I could only do because of Beancount’s visibility into my finances.

Year 1 went almost exactly as planned. Year 2? I got diagnosed with a chronic condition requiring $300/month in medications. That wasn’t in any spreadsheet. But having detailed tracking meant I could see exactly where the money went and adjust other spending categories.

My Beancount Healthcare Workflow

Here’s what actually works for me:

Account Structure:

Expenses:Healthcare:Insurance:Premiums
Expenses:Healthcare:Medical
Expenses:Healthcare:Dental
Expenses:Healthcare:Vision
Expenses:Healthcare:Prescriptions
Assets:Savings:MedicalEmergency

I tag everything with #healthcare for easy querying. Every month I run a BQL query to compare actual vs projected spending, and I analyze my healthcare inflation rate annually. Mine’s running at 6.8%/year vs general inflation—not as scary as the 8% I’d feared, but definitely higher than CPI.

MAGI Management: The Critical Piece

This is where it gets technical, but it’s the most important optimization. I built a spreadsheet (fed by Beancount data) that models different withdrawal scenarios. The goal: maximize subsidy while still doing Roth conversions in low-tax years.

What I track throughout the year:

  • Dividends (including reinvested—these COUNT toward MAGI)
  • Capital gains (both realized and from mutual fund distributions)
  • IRA withdrawals (traditional counts, Roth doesn’t)
  • Interest income
  • Any other taxable income

I calculate running MAGI every quarter. If I’m trending toward the cliff, I make adjustments: defer capital gains harvesting, take more from Roth instead of traditional IRA, or even strategically time medical expenses (HSA withdrawals for medical don’t count toward MAGI).

The brutal lesson I learned: mutual fund capital gains distributions in December nearly pushed me over the cliff my first year. I wasn’t expecting them. Now I’m 100% in ETFs and individual stocks—no mutual funds. That one change gave me better control over my taxable income.

The Medical Emergency Fund Question

Yes, I maintain a separate fund beyond my standard 6-month emergency fund. Target: $25,000 (my max out-of-pocket × 2 years).

Why separate? Because a major medical event shouldn’t force me to sell investments in a down market. That $25K sits in Assets:Savings:MedicalEmergency and hasn’t been touched yet, but it lets me sleep at night. When my spouse had surgery last year (planned, not emergency), I knew exactly where that $8,500 deductible was coming from without disrupting our withdrawal strategy.

Is $25K overkill? Maybe. But healthcare costs are the one variable where I’d rather over-prepare. The psychological benefit alone is worth it.

Geographic Arbitrage: I Almost Did It

I seriously considered moving from California to Colorado—the ACA exchange rates were significantly better, plus no state income tax on retirement account withdrawals. I ran full analysis including:

  • Healthcare premiums (Colorado was ~30% cheaper for same coverage)
  • State income tax differences
  • Cost of living
  • Distance from family (the dealbreaker for us)

We stayed in California, but if I were solo or my spouse was more flexible, I would have moved. For someone early in FIRE planning, choosing your retirement state strategically for healthcare could save $100K+ over 15 years.

Projections vs Reality

You asked how close projections were to reality. Here’s my scorecard after 2 years:

  • Healthcare premiums: 92% accurate (I projected $900/month, paying $850)
  • Out-of-pocket medical: 60% accurate (I projected $2,500/year, spent $4,100 due to chronic condition)
  • Overall healthcare costs: 78% accurate (close enough for planning)

The single biggest lesson: Beancount historical data is GOLD for projections. I had 4 years of actual healthcare spending before retirement, which gave me far better estimates than the generic “$X per person” calculators suggested.

Does Tracking Reduce or Increase Anxiety?

For me, it dramatically reduces anxiety. I know exactly where I stand every month. When I see MAGI trending toward $82,000, I know I have a $2,600 buffer before the cliff. If I were just guessing? I’d assume the worst and stress constantly.

The anxiety came from UNCERTAINTY. Beancount eliminated uncertainty. Now the anxiety is just about things I can’t control (policy changes, unexpected medical issues), which feels more manageable.

Practical Recommendations

  1. Start with detailed historical tracking - Get at least 2-3 years of healthcare spending data before retiring. Your actual spending is better than any calculator.

  2. Build that MAGI tracking system - Whether it’s a Beancount plugin (I haven’t found a good one) or a spreadsheet fed by Beancount exports, you NEED visibility into running MAGI.

  3. Plan for the unexpected - My chronic condition, your potential issues—model +$500-1,000/month cushion.

  4. Consider geographic arbitrage seriously - If you’re not tied to a location, it’s a huge lever.

  5. The separate medical emergency fund is worth it - Even if you never use it, the psychological benefit is real.

  6. Move to ETFs - Get rid of mutual funds with unpredictable December distributions. You need complete control over when you realize capital gains.

You’re asking the right questions. The fact that you’re thinking about this 7 years before retirement puts you way ahead of where I was. Keep tracking in Beancount, export to spreadsheets for projections, and model pessimistic scenarios. You’ll be fine.