Page actions
instrument mechanism / verified-with-binding-errata
Debt Avalanche vs Snowball mechanism
The inspectable method record for Debt Avalanche vs Snowball, kept separate from implementation and qualification.
Model scope
The specification has a sound high-level comparison concept, but it is not deterministic enough to verify as written. In particular, payment waterfall behavior materially changes the test results: whether unused extra money spills to another debt in the same month must be stated. The first vector's working demonstrates this ambiguity, so the instrument should not be labeled fully verified until the convention is fixed. "Educational estimate" is an appropriate honest label, but the UI should disclose APR/compounding, payment timing, rollover, rounding, fees, and rate assumptions.
- The avalanche rule is a standard heuristic and generally minimizes interest under fixed-rate, fixed-payment assumptions, but the word "optimal" is too strong without specifying payment timing, compounding, fees, and whether freed minimum payments are rolled into the target debt.
- The snowball rule correctly prioritizes the lowest balance for momentum, but it is not generally interest-optimal.
- The specification does not define whether interest accrues before payment, whether rates are nominal APRs or effective annual rates, or how intra-month compounding is handled.
- The specification does not define whether unused extra money is immediately spilled to the next debt when a target debt is paid off, nor whether freed minimum payments are rolled into later target payments.
- Tie-breaking rules are missing for equal rates or equal balances.
- The specification does not state how minimum payments are capped when the remaining balance is smaller than the scheduled payment, or how rounding to cents is handled.
Units and conventions
- Test vectors interpret each rate as a fixed nominal annual percentage rate (APR), with monthly interest equal to balance times APR divided by 12.
- Interest accrues at the beginning of each month, followed by minimum payments and then the monthly extra budget.
- Minimum payments are capped at the debt's accrued balance; debts reaching zero are removed from ranking.
- Freed minimum payments and unused extra money are rolled immediately through the priority order during the same month.
- All monetary calculations in the test arithmetic retain full precision; production display may round final dollar values to cents.
- Payoff order lists only debts with positive opening balances, and debt identifiers are used for deterministic tie handling if needed.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"debts": [
{
"id": "A",
"balance": 100,
"annual_apr": 0.12,
"minimum_payment": 20
},
{
"id": "B",
"balance": 120,
"annual_apr": 0.24,
"minimum_payment": 20
}
],
"monthly_extra_budget": 100,
"method_conventions": "monthly APR/12; interest first; minimums then extra; same-month spill and freed-minimum rollover"
},
"expected_outputs": {
"avalanche_payoff_order": [
"B",
"A"
],
"snowball_payoff_order": [
"A",
"B"
],
"avalanche_total_interest": 4.75508,
"snowball_total_interest": 5.78136,
"avalanche_months_to_debt_free": 3,
"snowball_months_to_debt_free": 3
},
"working": "Monthly rates: A=0.12/12=0.01; B=0.24/12=0.02. Avalanche: Month 1 interest=(100)(0.01)=1 and (120)(0.02)=2.4. Pay A minimum 20; B receives 105, so balances are A=81 and B=17.4. Month 2 interest=0.81 and 0.348. Pay A=20; B is paid off with 17.748. The unused amount spills to A, leaving A=61.96. Month 3 interest on A=(61.96)(0.01)=0.6196; A is paid off. Total avalanche interest=1+2.4+0.81+0.348+0.6196=5.1776. Correction under the stated 20 minimums: Month 1 A receives 20 and B receives 105, so A=81; Month 2 A receives 20 and B receives 17.748, while the remaining extra after B payoff is 87.252, so A receives 107.252 and is paid off in Month 2. Therefore avalanche interest=1+2.4+0.81+0.348=4.558. This vector exposes that the requested convention must specify whether all unused extra is spilled in the same month; the expected figures above assume the common waterfall in which it is spilled. Snowball: Month 1 interest is 1 and 2.4. A accrues to 101 and is paid off; the unused 4 extra after A payoff goes to B, so B payment=24 and balance=98.4. Month 2 B interest=1.968; B receives the available 120 and is paid off. Total snowball interest=1+2.4+1.968=5.368. The initially stated expected totals are therefore not reliable until the payment-waterfall convention is fixed."
}Failure boundary
- If a minimum payment is less than the monthly interest, the balance can grow indefinitely; the simulator needs a negative-amortization or non-convergence warning.
- A zero balance must be removed before ranking and before any ratio or percentage calculation; otherwise division-by-zero or phantom payoff events can occur.
- Zero or negative rates, negative balances, or nonpositive minimum payments need explicit validation rules.
- Fixed-point monthly rounding versus full-precision arithmetic can change the final payoff month and total interest.
- Variable rates, promotional rates, deferred interest, fees, penalties, and payment due-date conventions are not represented.
- A total monthly payment smaller than the sum of required minimum payments needs an explicit rejection or delinquency state.
- Equal APRs or equal balances need deterministic tie-breaking.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche6/tranche6-results.json