Student Loan Repayment Strategy: Using Beancount to Model Payoff Scenarios

I just finished building a comprehensive Beancount setup to model my student loan payoff journey, and I wanted to share the approach—plus spark a discussion about the eternal question: avalanche vs snowball, and when refinancing actually makes sense in 2026.

My Situation (Maybe Yours Too?)

I graduated with $68,000 in student loans across five different loans:

  • 3 federal Direct loans (6.39%, 7.94%, and 8.94% rates)
  • 2 private loans from undergrad (11.5% and 9.8% rates)

Watching them across multiple servicers was a nightmare. I never had a clear picture of: which loan to attack first, how much interest I’m actually paying, or how long until I’m debt-free at my current pace.

Enter Beancount.

The Two Main Strategies: Avalanche vs Snowball

Debt Avalanche = Pay minimums on everything, throw extra money at the highest interest rate loan first.

  • Mathematically optimal: Saves the most money on interest
  • My case: Would save me ~$4,200 more than snowball over the full payoff
  • Downside: Takes longer to knock out the first loan (can feel demotivating)

Debt Snowball = Pay minimums on everything, throw extra money at the smallest balance first.

  • Psychologically optimal: Quick wins keep you motivated
  • Backed by research: Harvard Business Review found snowball improves long-term adherence
  • Downside: Costs more in interest over time

For me, the $4,200 difference was too significant to ignore, so I’m going avalanche. But I totally get the snowball appeal—eliminating that first loan feels incredible.

Beancount Setup: Tracking Multiple Loans

Here’s my account structure:

Liabilities:StudentLoans:Federal:DirectSub01    ; 6.39%, $12,000 balance
Liabilities:StudentLoans:Federal:DirectUnsub01  ; 7.94%, $18,000 balance
Liabilities:StudentLoans:Federal:DirectPlus01   ; 8.94%, $15,000 balance
Liabilities:StudentLoans:Private:LenderA        ; 11.5%, $8,000 balance
Liabilities:StudentLoans:Private:LenderB        ; 9.8%, $15,000 balance

Expenses:Interest:StudentLoans:Federal
Expenses:Interest:StudentLoans:Private

Each month, I record:

  1. Minimum payment transactions (split between principal and interest)
  2. Extra payment to target loan (100% principal reduction)
  3. Metadata tracking: servicer, rate, original balance, payoff date

The Refinancing Question for 2026

Here’s where it gets interesting. Private refinance rates in 2026 are starting around 3.69% APR for those with excellent credit. My two private loans at 11.5% and 9.8%? No-brainer refinance candidates.

But my federal loans? That’s trickier.

Federal loan protections I’d lose if I refinance:

  • Income-driven repayment plans (including the new RAP starting July 2026)
  • Forbearance and deferment options
  • Public Service Loan Forgiveness (PSLF) eligibility
  • Federal loan forgiveness programs (though those are in flux)

Current federal rates are 6.39%-8.94%, and I might qualify for a refi around 5-6%. But losing those protections for 1-3% savings? I’m not convinced it’s worth it unless I’m 100% confident in my job security and income trajectory.

Modeling Payoff Scenarios in Beancount

This is where Beancount shines. I created custom queries to model:

Scenario 1: Avalanche + aggressive extra payments ($500/month extra)

  • Payoff: 6.5 years
  • Total interest paid: $18,400

Scenario 2: Snowball + aggressive extra payments ($500/month extra)

  • Payoff: 6.75 years
  • Total interest paid: $22,600

Scenario 3: Avalanche + refinance private loans to 4.5%

  • Payoff: 5.8 years
  • Total interest paid: $14,100

Scenario 4: Minimum payments only

  • Payoff: 12+ years
  • Total interest paid: $41,000+ (never doing this)

Being able to visualize these scenarios with real numbers—not just calculator estimates—is incredibly motivating.

My Questions for the Community

  1. Which strategy are you using? Avalanche, snowball, or something hybrid?

  2. How do you track interest vs principal in your transactions? Do you split each payment manually or use importers?

  3. Refinancing experiences? If you refinanced federal loans, do you regret losing those protections? Or was the rate savings worth it?

  4. Payoff celebration milestones? How do you mark progress in your ledger? (I’m thinking about creating a “Debt-Free Date” custom report)

  5. PSLF tracking? Anyone using Beancount to track PSLF qualifying payments? With 576,000 borrowers stuck in the IDR backlog, having your own records seems critical.

I’d love to hear how others are tackling this. Student loans are a long journey, but Beancount makes it feel manageable—and even a bit empowering—to see exactly where you stand.


References:

This is such a helpful breakdown, Mike! I’m fresh out of school with $42,000 in student loans (mostly federal) and I’ve been paralyzed trying to figure out where to even start.

My Question About the Interest/Principal Split

You mentioned recording each payment as split between principal and interest. How do you actually calculate that split? Do your loan servicers break it down in the statements, or are you calculating it manually based on the outstanding balance and interest rate?

I’ve been using Mint until now (RIP) and just switched to Beancount last month. I’m tracking the loan balances, but I haven’t been splitting the payments properly—I’ve just been recording the full payment as reducing the liability. Which means I’m not capturing the true cost (interest) in my expense accounts.

Avalanche vs Snowball Confusion

Here’s where I’m stuck: all my loans are federal with pretty similar rates (6.39%-7.94%). The rate difference is so small that avalanche wouldn’t save me much compared to snowball. But my balances range from $6,000 to $12,000, so snowball would give me that first win in about 18 months.

Is there a hybrid approach that makes sense when the rates are close? Like, maybe knock out the smallest loan first (for motivation), then switch to avalanche for the rest?

Budget Reality Check

You mentioned $500/month in extra payments. That’s my dream right now. Between rent, groceries, and my entry-level salary, I’m doing about $100/month extra on top of minimums.

Did you build up to $500 over time, or did you start aggressive from day one? I’m trying to figure out if I should focus on increasing income (side hustles, job hopping) vs optimizing the strategy with what I’ve got now.

Thanks again for sharing your setup—it’s really motivating to see someone systematically tackling this with Beancount!