Avalanche always wins on paper, but by how much depends on your debts. Two worked examples show the snowball costing $154 in one case and $1,789 in another, and why.
On the same monthly budget, the debt avalanche (highest interest rate first) saves at least as much interest as the debt snowball (smallest balance first). That part isn't up for debate. What does vary is the size of the gap: depending on your mix of debts it can be a rounding error or several thousand dollars, so pick a method after you've run the numbers on your own balances, not because one sounds like your personality.
Most articles on this topic stop at "avalanche is mathematically optimal, snowball is psychologically motivating, choose what works for you." This one puts real numbers on that sentence: two worked examples, the three variables that actually decide the gap, what the behavioral research does and doesn't show, and the traps that neither method protects you from.
The methods are more alike than their names suggest. Both follow the same four steps every month:
The only difference is how the target is chosen:
| Debt snowball | Debt avalanche | |
|---|---|---|
| Target order | Smallest balance first | Highest APR first |
| Optimizes for | Number of accounts closed, early | Total interest paid |
| First payoff | Usually within a few months | Can take a year or more |
| Popularized by | Personal-finance coaching (Dave Ramsey) | Standard finance math |
| Breaks down when | Small debts are cheap (0% or low rate) | The top-rate debt is huge and progress feels invisible |
Here is the whole simulation. Everything in this post comes from running it:
function simulate(debts, budget, order) {
debts = debts.map(d => ({ ...d }))
let month = 0, interest = 0
while (debts.some(d => d.balance > 0.005)) {
month++
for (const d of debts) if (d.balance > 0) {
const i = d.balance * d.apr / 12 // monthly interest on APR
d.balance += i; interest += i
}
let left = budget
for (const d of debts) if (d.balance > 0) { // all minimums first
const p = Math.min(d.min, d.balance); d.balance -= p; left -= p
}
for (const d of order(debts)) { // the rest goes to the target
if (left <= 0) break
const p = Math.min(left, d.balance); d.balance -= p; left -= p
}
}
return { month, interest }
}
Assumptions, so you can check them against your own situation: interest is APR/12 applied monthly, minimum payments are fixed amounts, no new charges, and the target order is set once at the start (smallest starting balance, or highest APR). Real credit card minimums shrink as the balance falls, which makes minimum-only payoff much slower than this model shows. That doesn't change how the two strategies compare to each other.
| Debt | Balance | APR | Minimum |
|---|---|---|---|
| Store card | $900 | 29.99% | $35 |
| Card B | $2,500 | 19.99% | $75 |
| Card A | $8,000 | 24.99% | $240 |
| Car loan | $9,500 | 6.9% | $290 |
Total minimums are $640. With a $900 monthly budget:
| Strategy | Payoff order (month) | Debt-free | Total interest |
|---|---|---|---|
| Avalanche | Store (4), Card A (21), Card B (24), Car (28) | 28 months | $3,906 |
| Snowball | Store (4), Card B (11), Card A (24), Car (28) | 28 months | $4,060 |
The snowball costs $154 more, about 4%, and you're debt-free in the same month. The gap stays similar at other budgets: $135 at $700 a month, $105 at $1,200.
Why so small? Two reasons. The smallest debt (the store card) is also the most expensive, so both methods start in the same place. And the debts the snowball puts ahead of Card A only get a few months of priority. Card B is 5 points cheaper than Card A, and it's cleared quickly. If your debts look like this, the snowball's early wins are close to free.
| Debt | Balance | APR | Minimum |
|---|---|---|---|
| Medical bill (payment plan) | $1,200 | 0% | $50 |
| Furniture financing | $2,000 | 0% | $85 |
| Student loan | $3,000 | 4.5% | $60 |
| Credit card | $14,000 | 27.99% | $420 |
Same $900 budget:
| Strategy | Payoff order (month) | Debt-free | Total interest |
|---|---|---|---|
| Avalanche | Medical (24), Furniture (24), Card (27), Student (29) | 29 months | $5,252 |
| Snowball | Medical (4), Furniture (8), Student (14), Card (31) | 31 months | $7,041 |
Now the snowball costs $1,789 more and takes two months longer. At $700 a month the gap is $1,518 (44 months vs. 41). At $1,200 it's $1,553. Paying more each month barely narrows it.
The reason is worth spelling out. For its first 14 months, the snowball sends every spare dollar to debts charging 0% and 4.5%, while a $14,000 balance compounds at 28%. Paying off a 0% balance early earns you exactly 0%. Meanwhile every dollar left on the card costs you 28% a year. Feeling like you've made progress has a price here, and this example shows how much.
Put the two examples side by side and the pattern is clear. The cost of choosing the snowball depends on:
If your small balances carry rates close to your highest rate, sending money to them first costs almost nothing. If they're at 0% to 5% while a large balance sits at 25% or more, it costs a lot. This is the biggest factor. When your smallest debt is also your highest-rate debt, the two methods give the same order and there's nothing to decide.
Interest is rate times balance times time. A $900 card at 30% that waits six extra months costs about $135. A $14,000 card at 28% that waits a year for extra payments costs well over a thousand dollars, as Example 2 shows. Big, expensive balances are where the snowball gets expensive.
That's the total of the small balances ahead of it divided by your monthly surplus. A bigger budget shortens the wait, but as Example 2 shows, it narrows the gap less than you'd expect, because the snowball still spends its first months on cheap debt.
Paying down a debt early is an investment that returns exactly that debt's APR, with no risk. The avalanche always buys the highest available return. Any other order puts some dollars into a lower-return investment for a while. That's the same principle as comparing projects by return in ROI vs. IRR vs. payback period, applied to your own liabilities. It's also why the gap grows the way it does: as compound vs. simple interest shows, credit card interest compounds (daily, on most cards), so a high-rate balance that waits grows faster than its APR suggests.
Snowball advocates aren't wrong that behavior matters. A plan you abandon in month five saves you nothing, however good its math.
The evidence is real but narrower than it's often presented. In a 2012 paper in the Journal of Marketing Research, David Gal and Blakeley McShane analyzed data from a debt-settlement program. They found that consumers who closed out individual accounts were more likely to eliminate their debt completely, even after controlling for the dollar amount paid. Later experiments by Remi Trudel and colleagues, summarized in Harvard Business Review, found that people feel more progress when they concentrate payments on one account. They also found that what drives the feeling is the fraction of a balance paid off, not the dollar amount.
What these studies don't show is that the snowball is the best plan for everyone. They show that visible progress helps people stick with repayment. That points to a better question than "snowball or avalanche": how much am I willing to pay for early wins? Example 1 says about $150. Example 2 says about $1,800. Those are very different prices for the same feeling.
Both strategies assume fixed rates and fixed terms. Real debt often has neither.
"Avalanche saves money, snowball builds motivation" is true but not enough to decide on. On the same budget, the avalanche is never worse. How much worse the snowball is depends on how far apart your rates are and how big your most expensive balance is. Calculate that number for your own debts before you choose. If it's small, pick whichever method you'll stick with. If it's thousands of dollars, as with cheap debts sitting in front of a large high-APR card, take one quick win at most and put the rest of your money on the highest rate.
Free, in your browser, no sign-up.
One email when a new post goes up. No other mail; unsubscribe in one click.
We store your email only to send new posts. See the privacy policy.