How DebtAx Calculates

Every DebtAx calculator runs the same open engine in your browser. This page explains what it does, with a worked example, so you can check the numbers yourself.

Core payoff simulation

Each month, for every debt with a balance:

  1. Interest is added: balance × APR ÷ 1200, rounded to the cent. A $6,500 balance at 24.99% adds $135.36 in month one.
  2. The minimum payment is applied to that debt.
  3. All extra money (your extra monthly amount, any lump sums for that month, and the minimums of debts already paid off) goes to the current target debt. If the target is cleared with money left over, the remainder rolls to the next target in the same month.
  4. When a debt reaches zero its minimum joins the extra pool from the following month.

Payments are applied at the end of the month. Interest compounds monthly, not daily; against real card statements this is accurate to within a few dollars over a multi-year plan. Money is tracked in whole cents. The simulation stops at zero total balance or at 600 months, at which point the plan is reported as never paying off.

Snowball targets the smallest balance first (ties: higher APR first). Avalanche targets the highest APR first (ties: smaller balance first). Minimums pays only each minimum with no rollover. Custom follows the order you type.

Worked example

Two debts: a credit card, $6,500 at 24.99% with a $195 minimum, and a personal loan, $2,400 at 11% with a $110 minimum. Extra payment $150 a month, snowball order.

Under avalanche the card is targeted first; the loan clears in month 25 as well and total interest is $2,129.18, a saving of $282.38. The Python build script pre-renders this exact example on the home page and the JavaScript engine reproduces it; both are checked by the test suite.

Minimum payment trap

The minimum is recomputed every month from the current balance using the rule you choose. The default, interest plus 1% of the balance with a $25 floor, is the most common issuer formula. A flat percentage rule (2%, 3%) is also available. A flat 2% minimum at a 24% APR pays exactly the interest and nothing more, so the balance never falls; the calculator reports that as never paying off rather than inventing a date.

Consolidation loan

The loan principal is the total of the debts plus the origination fee. The monthly payment is the standard amortization formula, P × r ÷ (1 − (1 + r)^−n), with r = APR ÷ 1200 and n the term in months, rounded to the cent; the schedule is then simulated month by month so the final payment absorbs rounding. Total cost is interest plus fee.

The comparison runs your existing debts in avalanche order with the same monthly outlay as the loan payment. The break-even APR is found by bisection between 0% and 40%: the loan rate at which loan cost equals that avalanche cost.

Balance transfer

Card balances are moved highest APR first up to the credit limit; the fee is added to the transferred balance. The required monthly payment is the promo balance amortized over the promo months at the promo APR (at 0% that is simply balance ÷ months). The minimums-only scenario pays interest plus 1% of the balance ($25 floor) during the promo, then the required monthly amount at the post-promo APR. In the decision engine the transfer is simulated as a debt with a promo rate that reverts after the promo, sharing your existing monthly outlay with any untransferred debts.

Decision engine assumptions

Debt-to-income

Front-end = housing ÷ gross monthly income. Back-end = (housing + all debt payments) ÷ gross monthly income. Bands: excellent under 20%, good 20% to 35%, stretched 36% to 43%, high 44% to 50%, severe above 50%.

Debt versus invest

Both paths accumulate the same monthly amount. Paying debt grows at the debt APR (interest avoided); investing grows at the expected return, reduced by your tax rate unless the account is tax-advantaged. Break-even return = debt APR ÷ (1 − tax rate). A result within 3% of contributions either way is called a toss-up.

Limitations

Results are estimates for education, not financial advice.