Workspace
The calculator's own fields, action and results arrive with the verified pack when you load it. Nothing is computed in this page.
Price two fixed-rate loans side by side and read the difference in monthly payment, total interest and lifetime cost, each computed by the engine rather than by eye.
The calculator's own fields, action and results arrive with the verified pack when you load it. Nothing is computed in this page.
Each leg is priced independently: the annual rate becomes a monthly rate, the term in years becomes a count of monthly payments, and the level instalment follows from the annuity relation — with a zero rate handled as its own case, where the instalment is simply the principal spread evenly across the payments.
From each instalment come the totals: the instalment times the payment count is everything paid over the life of the loan, and that total minus the principal is the interest. The differences are then taken inside the calculation — the first leg minus the second, in each measure — so a positive lifetime-cost difference means the second offer is the cheaper one over its full term.
The measures genuinely disagree. An offer with a longer term and a lower rate can carry the smaller instalment while costing far more over its life, because the smaller payment is collected many more times. Which difference matters is a question about your constraint — a tight month favours the instalment, a long horizon favours the lifetime figure.
When the two principals are equal, the interest difference and the total-cost difference collapse into the same number, since the borrowed amounts cancel. When the principals differ — say one offer rolls fees into the borrowing — the two differences separate, and the gap between them is itself informative.
Two offers on the same principal: the first at a slightly lower rate over a long term, the second at a slightly higher rate over a markedly shorter one.
The monthly difference comes out negative — the first offer’s instalment is the smaller of the two. The lifetime-cost difference comes out positive — the second offer costs less over its full term, despite its higher rate, because its payments stop years sooner. And with equal principals the interest difference matches the total-cost difference exactly. The same instrument on two identical offers returns a difference of zero in every measure, which is a useful sanity check.
Every figure on the page is produced by the certified engine at load time, and the release it comes from is checked against the test vectors the signed pack itself declares — nothing here is worked by hand and nothing is stored in the prose.
The amount borrowed under the first offer. Fees financed into the borrowing belong here; fees paid at the table do not. It must be positive for the leg to be priced.
The first offer’s nominal annual rate as a percentage. It is divided down to a monthly rate before use, and a zero rate is legitimate — it prices as an interest-free schedule.
How long the first loan runs, in years. It is converted to a whole count of monthly payments, and it must be positive.
The amount borrowed under the second offer, treated exactly as the first. Entering different principals is allowed and is how financed fees show up in the comparison.
The second offer’s nominal annual rate as a percentage, converted to a monthly rate the same way — the two legs always share one convention.
The second loan’s term in years, converted to its own monthly payment count. Differing terms are the usual reason the monthly and lifetime verdicts disagree.
Level-payment amortisation applied to two loans with engine-computed differences
The annuity payment closed form prices each leg from its principal, monthly rate and payment count; totals and interest follow per leg, and the monthly, interest and total-cost differences are subtracted inside the engine, first leg minus second.
Educational reference, not financial advice, and not an APR comparison — fees and disclosures sit outside it. The signed pack carries its own citation; the page reports the verification state of the release it mounted rather than asserting one.