{
  "slug": "debt-avalanche-vs-snowball",
  "title": "Debt Avalanche vs Snowball Calculator",
  "heading": "Avalanche vs Snowball Payoff Comparison",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/debt-avalanche-vs-snowball",
  "summary": "See how much interest the highest-rate-first order saves against smallest-balance-first.",
  "description": "Two debts, one extra payment, two defensible orders. The avalanche method attacks the highest APR first and always wins on arithmetic; the snowball clears the smallest balance first and wins more often on follow-through, because an account closing early is a visible reward. This calculator runs both orders month by month across three balances using the same total monthly payment, so the only variable is sequencing. It reports total interest, total months, and the exact dollar cost of choosing motivation over math. If that gap is small — under a few hundred dollars — the behavioural argument for snowball is usually the stronger one.",
  "formula": "Both methods pay every minimum, then apply the surplus to one target account. Avalanche targets the highest APR; snowball targets the smallest balance. Each month: interest = balance × APR ÷ 12, balance = balance + interest − payment. Freed-up minimums roll into the next target.",
  "dateModified": "2026-08-25",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=debt-avalanche-vs-snowball",
  "inputs": [
    {
      "id": "b1",
      "label": "Debt 1 balance",
      "kind": "number",
      "hint": null,
      "default": 2400,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "a1",
      "label": "Debt 1 APR",
      "kind": "number",
      "hint": null,
      "default": 24.9,
      "unit": "%",
      "min": 0,
      "max": null
    },
    {
      "id": "m1",
      "label": "Debt 1 minimum payment",
      "kind": "number",
      "hint": null,
      "default": 60,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "b2",
      "label": "Debt 2 balance",
      "kind": "number",
      "hint": null,
      "default": 8200,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "a2",
      "label": "Debt 2 APR",
      "kind": "number",
      "hint": null,
      "default": 17.5,
      "unit": "%",
      "min": 0,
      "max": null
    },
    {
      "id": "m2",
      "label": "Debt 2 minimum payment",
      "kind": "number",
      "hint": null,
      "default": 180,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "b3",
      "label": "Debt 3 balance",
      "kind": "number",
      "hint": null,
      "default": 15000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "a3",
      "label": "Debt 3 APR",
      "kind": "number",
      "hint": null,
      "default": 7.9,
      "unit": "%",
      "min": 0,
      "max": null
    },
    {
      "id": "m3",
      "label": "Debt 3 minimum payment",
      "kind": "number",
      "hint": null,
      "default": 240,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "extra",
      "label": "Extra payment above minimums",
      "kind": "number",
      "hint": null,
      "default": 300,
      "unit": "$/mo",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "savings",
      "label": "Interest saved by avalanche",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "avInterest",
      "label": "Avalanche total interest",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "snInterest",
      "label": "Snowball total interest",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "avMonths",
      "label": "Avalanche months to debt-free",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "snMonths",
      "label": "Snowball months to debt-free",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "totalBudget",
      "label": "Total monthly payment used",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Debt 1 balance: 2400 $",
      "Debt 1 APR: 24.9 %",
      "Debt 1 minimum payment: 60 $/mo",
      "Debt 2 balance: 8200 $",
      "Debt 2 APR: 17.5 %",
      "Debt 2 minimum payment: 180 $/mo",
      "Debt 3 balance: 15000 $",
      "Debt 3 APR: 7.9 %",
      "Debt 3 minimum payment: 240 $/mo",
      "Extra payment above minimums: 300 $/mo"
    ],
    "outputs": [
      "Interest saved by avalanche: $0.00",
      "Avalanche total interest: $4,751.99",
      "Snowball total interest: $4,751.99",
      "Avalanche months to debt-free: 39",
      "Snowball months to debt-free: 39",
      "Total monthly payment used: $780.00"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter debt 1 balance ($).",
      "Enter debt 1 apr (%).",
      "Enter debt 1 minimum payment ($/mo).",
      "Enter debt 2 balance ($).",
      "Enter debt 2 apr (%).",
      "Enter debt 2 minimum payment ($/mo).",
      "Enter debt 3 balance ($).",
      "Enter debt 3 apr (%).",
      "Enter debt 3 minimum payment ($/mo).",
      "Enter extra payment above minimums ($/mo).",
      "Read your interest saved by avalanche on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "b1": 1400,
        "a1": 14.939999999999998,
        "m1": 35,
        "b2": 4900,
        "a2": 10.5,
        "m2": 110,
        "b3": 9000,
        "a3": 4.74,
        "m3": 145,
        "extra": 175
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "b1": 2400,
        "a1": 24.9,
        "m1": 60,
        "b2": 8200,
        "a2": 17.5,
        "m2": 180,
        "b3": 15000,
        "a3": 7.9,
        "m3": 240,
        "extra": 300
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "b1": 3800,
        "a1": 39.84,
        "m1": 95,
        "b2": 13100,
        "a2": 28,
        "m2": 290,
        "b3": 24000,
        "a3": 12.64,
        "m3": 385,
        "extra": 475
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Does avalanche always cost less?",
      "a": "In pure interest terms, yes — paying down the highest rate first minimises the interest accruing every month, and no other ordering can beat it. The gap is what varies: with rates close together it can be a rounding error, and with a 25% card sitting next to a 4% loan it can be thousands."
    },
    {
      "q": "When is snowball the better choice?",
      "a": "When you have stalled before. Closing an account converts an abstract plan into a finished thing, and it frees that minimum payment permanently, which raises the payment applied to the next target. A method you finish beats a cheaper method you abandon in month five."
    },
    {
      "q": "Should I keep paying minimums on everything?",
      "a": "Yes. Both orders assume every minimum is paid every month — missing one triggers late fees and penalty APRs that dwarf any sequencing gain, and it damages your credit file, which raises the cost of any future refinance."
    },
    {
      "q": "What about a balance transfer or consolidation loan?",
      "a": "If you qualify for a materially lower rate, that beats either ordering, because it changes the rate rather than the order. Model the transfer fee (commonly 3-5% of the balance) as part of the new balance, and be certain you can clear it inside the promotional window."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/credit-card-payoff",
    "https://www.revenuelab.fyi/toolbox/refinance-breakeven-months",
    "https://www.revenuelab.fyi/toolbox/extra-payment-impact"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Debt Avalanche vs Snowball Calculator (https://www.revenuelab.fyi/toolbox/debt-avalanche-vs-snowball)"
}