Debt Payoff Calculator

Compare the debt snowball and debt avalanche methods side by side to see how long each takes and how much interest each costs.

Your debts

Snowball vs. avalanche

MethodTarget orderOptimizes for
SnowballSmallest balance firstEarly wins, motivation
AvalancheHighest interest rate firstLowest total interest paid

How the simulation works

Each month, interest accrues on every debt at its own APR divided by 12. Minimum payments are made on every account, and any leftover budget (your extra payment, plus the minimum payments of any debt already paid off) goes entirely toward the current target debt. Once the target is cleared, the simulation moves to the next debt in the strategy's order, so your total monthly payment stays constant while more and more of it flows toward whichever debt is being attacked.

Limitations of this calculator

This tool assumes fixed interest rates, no new charges added to any balance, and that you apply the full extra payment every single month without interruption. Real-world results vary with variable rates, promotional periods, and life events that change how much you can actually pay each month.

How to simulate debt payoff in Python

def simulate_payoff(debts, extra_payment, strategy="avalanche"): remaining = [dict(d) for d in debts] budget = sum(d["min_payment"] for d in remaining) + extra_payment months, total_interest = 0, 0.0 while any(d["balance"] > 0.01 for d in remaining) and months < 600: months += 1 for d in remaining: if d["balance"] > 0: interest = d["balance"] * (d["apr"] / 100 / 12) d["balance"] += interest total_interest += interest left = budget for d in remaining: if d["balance"] > 0: pay = min(d["min_payment"], d["balance"], left) d["balance"] -= pay left -= pay key = (lambda x: x["balance"]) if strategy == "snowball" else (lambda x: -x["apr"]) for d in sorted((d for d in remaining if d["balance"] > 0), key=key): if left <= 0: break pay = min(left, d["balance"]) d["balance"] -= pay left -= pay return months, round(total_interest, 2)

This calculator is for informational purposes only and is not financial advice. Consult a qualified financial advisor or credit counselor for guidance specific to your situation.

Related Tools