Refinance Break-Even Analysis
calculate_refi_breakevenCalculation, not advice. Verify with a professional before acting. Deterministic mortgage refinance break-even analysis. Given your current loan (balance, rate, remaining term) and a refinance offer (new rate, new term, closing costs, optional points), computes:
monthly P&I savings;
the cash-flow break-even month (total refinance cost divided by monthly savings, CFPB convention);
the lifetime interest delta over your remaining-term horizon;
a term-matched scenario that isolates the rate cut from a term reset;
a term-reset-trap flag (lower payment but higher lifetime interest from extending the term); and
the economic break-even (net-worth crossover) month using an equal-outflow invest-the-savings model.
Rate-and-term refis only (cash-out and tax effects are out of scope).
Pick this when refinancing your existing mortgage into a new rate and term is the question; pick compare_mortgage_terms when comparing two mortgage structures on a purchase you have not yet taken out.
All defaults cite primary sources (LodeStar/ALTA closing-cost data, CFPB break-even convention). Scalar output, no chart series.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| points | No | Discount points paid at closing, where 1.0 means 1% of the loan. Decimal from 0 to 4. Optional; defaults to 0 when omitted. | |
| chart_title | No | Reserved for the chart pipeline; validated but not yet used. Must not contain em-dashes or en-dashes. Max 120 characters. Optional. | |
| closing_costs | No | Explicit closing costs in dollars, excluding points; total upfront cost is closing_costs plus the points cost. Decimal from 0 to 1,000,000,000. Optional; omitting it uses the cited default of 0.67% of the loan (LodeStar 2026). An IMMEDIATE break-even requires total upfront cost to be zero (or non-positive) AND monthly_savings to be non-negative, i.e. closing_costs AND points both 0, not closing_costs alone; a zero-total-cost refi into a worse deal (negative monthly_savings) reports NEAR_ZERO_OR_NEGATIVE_SAVINGS instead. | |
| current_balance | Yes | Outstanding principal you would refinance. Decimal, greater than 0 and at most 1,000,000,000. REQUIRED, no default. | |
| new_term_months | Yes | The new loan term in months. Integer from 1 to 480. REQUIRED, no default. | |
| new_annual_rate_pct | Yes | The offered refinance rate as a percentage. Decimal from 0 to 20. REQUIRED, no default. | |
| roll_costs_into_loan | No | Whether closing costs and points are added to the new principal instead of paid upfront; cash-flow break-even then reports COSTS_ROLLED_INTO_LOAN. Optional; defaults to false when omitted. | |
| investment_return_pct | No | Annual return used for the economic (invest-the-savings) break-even, an EFFECTIVE ANNUAL rate; the monthly compounding step is (1+pct/100)^(1/12)-1. Decimal from 0 to 30. Optional; omitting it uses the cited long-run S&P 500 nominal total-return default, about 10%; call list_defaults for the exact current value. | |
| remaining_term_months | Yes | Months left on the current loan. Integer from 1 to 480. REQUIRED, no default. | |
| current_annual_rate_pct | Yes | Current loan's annual rate as a percentage, e.g. 6.5 not 0.065. Decimal from 0 to 20. REQUIRED, no default. | |
| current_monthly_payment | No | Your actual statement P&I payment. Decimal, greater than 0 and at most 1,000,000,000. Optional; when supplied it overrides the formula-derived payment, so match your statement. | |
| compute_economic_break_even | No | Whether to compute the economic (net-worth crossover) break-even. When false, only the cash-flow break-even and interest delta are returned, and economic_break_even reports NOT_REQUESTED. Optional; defaults to true when omitted. |