How WealthWise calculates
The formulas, variables, assumptions, rounding policy and tests behind every WealthWise estimate, written in plain language.
Every WealthWise result is an estimate based only on the assumptions you entered, not on a lender's quote, your credit file, or the actual terms of any loan or card, which is why figures are labelled "estimated" or "approximately". They are a planning aid, not financial advice.
- No AI at runtime. Results come from small, deterministic, tested code applying the formulas below, never from a language model; the same inputs always give the same outputs.
- Money is handled in whole cents, converted once from the dollars you type, avoiding floating-point drift.
- Rounding happens only at a few defined points, and the last payment of every schedule is adjusted so the balance ends at exactly zero.
Mortgage calculator
Formula in words
Loan amount = home price minus down payment. Monthly rate = annual rate divided by 12.
Scheduled payment = loan amount times monthly rate, divided by (1 minus (1 plus monthly rate) raised to the power of negative term-in-months), the standard fixed-rate amortization formula; at 0 percent the payment is the loan amount divided by the number of months.
Each month: interest = starting balance times annual rate divided by 12, rounded to the nearest cent; principal = scheduled payment minus interest, plus any extra principal; ending balance = starting balance minus principal. Monthly housing cost adds PMI (while it applies), one-twelfth of annual tax and insurance, and HOA dues. In the final month, principal is set to the remaining balance.
Total estimated cost is the loan amount plus all interest, PMI, taxes, insurance and HOA over the schedule. With an extra payment, the same loan is also run without it and the difference is reported as estimated interest and months saved.
Variables
- Home price, down payment, loan amount (the difference) and loan-to-value (LTV), the loan as a percent of price.
- Annual interest rate; term in months (1 to 480); scheduled payment; optional extra monthly principal.
- Property tax and insurance (annual, spread over 12 months); HOA dues (monthly); PMI, applying when LTV exceeds the required threshold (default 80 percent) until the balance reaches the removal threshold (default 78 percent of the original price).
- Start date: payment k falls k months later; payoff date = start date plus payments made.
Assumptions
- This is an estimate. Taxes, insurance, PMI rates, HOA dues and interest rates vary by lender, location and time, and your actual figures will differ.
- The loan is a standard fixed-rate, fully amortizing mortgage with one payment per month; interest is calculated monthly as balance x annual rate / 12 (no daily accrual, no leap-year effects, no bi-weekly payments).
- Each period's interest is rounded to the nearest cent before it is applied, the way a lender statement would show it; the final payment is adjusted by a few cents so the balance ends at exactly zero.
- Property tax and homeowner's insurance are entered as annual amounts and spread evenly across 12 months; they are assumed constant for the life of the loan (in reality they usually rise). HOA dues are monthly and assumed constant.
- PMI (private mortgage insurance) is estimated only when the down payment is less than 20 percent (loan-to-value above 80 percent). It is calculated as an annual percentage (default 0.5 percent) of the original loan amount, divided by 12, and is assumed to end automatically once the loan balance falls to 78 percent of the original home price, based on the payment schedule shown. Real PMI pricing depends on credit score, loan type and lender, and you may be able to request cancellation earlier at 80 percent LTV.
- Extra monthly principal is applied every month starting with the first payment and goes entirely to principal; the scheduled payment does not change (no re-amortization), so the loan simply ends earlier.
- Total estimated cost adds up every scheduled payment (principal, interest, PMI, taxes, insurance and HOA) over the months the loan is outstanding. It excludes the down payment, closing costs, maintenance, utilities, points and any tax benefits, and does not adjust for inflation or the time value of money.
- The payoff date assumes the first payment is made one month after the start date and every payment is made on time.
- Results are rounded for display; totals may differ from the sum of the rounded parts by a few cents.
What changes the outcome
- Term: shorter terms raise the payment but sharply cut interest; moving $300,000 at 6.5 percent from 30 to 15 years adds approximately $717 a month and cuts estimated interest by roughly 55 percent.
- Rate: even a half-point change shifts both figures noticeably.
- Down payment: lowers the loan amount and LTV, and removes PMI at or below 80 percent LTV.
- Extra principal: shortens the loan and reduces interest. Add-ons change the monthly figure but not the payoff date.
Limitations
Adjustable rates, interest-only periods, bi-weekly plans, escrow changes, rising taxes or premiums, refinancing, closing costs, points and tax treatment are not modelled. PMI uses a default rate and removal rule; your lender may differ. A down payment equal to the price gives a "no loan" result; a larger one is rejected.
Debt payoff calculator
Formula in words
You list up to 25 debts (balance, APR, minimum payment, optional per-debt extra), choose a strategy and an optional additional monthly amount, and the calculator simulates month by month until every debt is cleared or the horizon (default 50 years) is reached.
Payoff order is fixed once, at the start: avalanche pays the highest APR first (ties to the smaller balance); snowball the smallest balance first (ties to the higher APR); custom follows your list, with omitted debts appended in input order; minimum payments only does no targeting.
Constant budget. Under the three ordered strategies your monthly outlay is fixed at the additional amount plus every debt's minimum and extra.
Each month: interest for each debt = starting balance times APR divided by 12, rounded to the nearest cent; the amount owed is balance plus interest. Each open debt first receives its minimum plus extra, capped at what it owes. Everything left forms a pool (the additional amount, allotments freed by retired debts, and any allotment unused in the month a debt is retired), which cascades down the order, filling the first unpaid debt before the next.
Under "minimum payments only", extras and the additional amount are ignored, making it exactly the baseline. That baseline is always run over the same horizon and estimated interest and months saved are reported against it; if minimums alone would not clear the debts within the horizon, the calculator says so instead.
Variables
- Per debt: balance, APR (0 to 100), minimum payment (fixed) and per-debt extra.
- Additional monthly (always to the current target); strategy and custom order; budget = additional plus all minimums and extras.
- Start date and payoff date (month t is dated t months after the start); horizon (default 600 months, maximum 1200); status.
Assumptions
- Interest is estimated monthly as balance x APR / 12, charged on the balance at the start of each month and rounded to the nearest cent; real lenders use daily balances, grace periods and compounding rules that differ slightly.
- Minimum payments are treated as fixed dollar amounts for the whole plan. Many credit cards set the minimum as a percentage of the balance, which shrinks over time and would take longer and cost more than shown; entering today's minimum keeps the estimate conservative on effort but optimistic on time.
- Your total monthly debt payment stays constant: when a debt is paid off, the money you were sending to it (its minimum plus any extra) is redirected to the next debt in your order instead of disappearing from the plan. In the month a debt is finished, any leftover from its payment rolls to the next debt right away.
- The global additional monthly amount always goes to the current target debt (the first unpaid debt in your chosen order). Per-debt extra payments stay with that debt while it is open.
- The payoff order is chosen once from the balances and APRs you entered: avalanche pays the highest APR first, snowball the lowest balance first, custom follows your list. Ties are broken by the other measure (smaller balance for avalanche, higher APR for snowball) and then by the order you entered them.
- APRs, balances and minimums are assumed constant. New charges, fees, rate changes, promotional 0 percent periods ending, or missed payments are not modelled.
- 'Minimum payments only' is used as the baseline for interest and time saved; if minimums alone would never pay off your debts within 50 years, savings cannot be computed and the calculator says so instead of showing a number.
- The payoff date assumes the first payment is made one month after the start date and every payment is made on time.
- Projections stop at a maximum horizon (default 50 years); anything still owed at that point is shown as not paid off.
- Results are estimates based on the assumptions entered and are rounded for display.
What changes the outcome
- Additional monthly amount is the biggest lever; more per month can never lengthen the plan.
- Strategy: on the same budget, avalanche never costs more total interest than snowball, though the gap is often small; snowball retires individual accounts sooner.
- Minimums below interest: such a debt grows every month under minimum-only payments; the calculator flags the shortfall.
- Zero-balance debts are skipped; a minimum above the balance retires that debt in month one.
Limitations
Percentage-of-balance minimums, daily accrual, grace periods, new purchases, fees, promotional rates, balance transfers and missed payments are not modelled; the plan assumes you sustain the same budget throughout.
Rounding and display policy
Inside the engine, rounding to the nearest cent happens only when: dollar entries are converted to cents; annual tax and insurance are divided by 12 and PMI is computed; the scheduled mortgage payment is computed (once, then held constant); and each month's interest is computed. Principal, balances and totals are integer arithmetic on cents, never rounded. Half-cent results round up. Ratios such as LTV are rounded only for display.
The final payment of every schedule clears the remaining balance exactly, absorbing rounding residue; that is why the last payment of a 30-year mortgage can differ from the regular one by a few dollars, and why $1,000 interest-free over three months shows $333.33, $333.33, $333.34.
Headline figures are shown to the nearest whole dollar and labelled "estimated" or "approximately". Breakdown items, schedule rows and exports show cents and, being rounded individually, may not sum exactly to displayed totals. LTV is shown to one decimal, rates as entered, durations as whole years and months.
Testing policy
- Known-answer vectors. Fifteen mortgage and sixteen debt payoff scenarios, including every edge case above, are stored as fixtures with independently computed results. Tests assert exact cent equality on payments, per-row values and totals, plus exact period counts, payoff months and warning sets.
- Cross-checks against published figures. Standard scenarios such as $300,000 at 6.5 percent over 30 years must match widely published results within one cent on the payment and $10 on lifetime totals (published sites multiply an unrounded payment by the term; this engine rounds each month's interest as a statement would).
- Invariants. Principal sums to exactly the loan amount, every row balances, the final balance is zero, every value is a non-negative whole number of cents, and per-debt interest sums to the total.
- Property tests. Randomly generated valid inputs (seeded, so failures reproduce) are checked against a high-precision reference and the invariants above, confirming that a higher rate never lowers the payment, more extra payment never increases interest or months, avalanche never costs more interest than snowball on the same budget, and identical inputs give identical outputs.