Calculator overview
Inputs and outputs
This summary comes from the calculator's published input and output contract.
Inputs
- Rate Reduction Per Point (required)
-
Unit fraction Default 0.0025 Range 0 to 1
About this input
How much rate one point buys, as a fraction. A quarter of a point of rate per point paid is a common quote but not a rule, and the second point usually buys less than the first.
- Points Step (required)
-
Unit points Default 0.2 Range At least 0
About this input
How far apart the point counts on the grid should be. Five steps either side of your own choice, floored at zero, so a fifth of a point gives nought to two on a one-point answer. Bear in mind that the model takes every point to buy the same rate cut, so the far end of that axis is optimistic.
- Years Step (required)
-
Unit years Default 1 Range At least 0
About this input
How far apart the horizons on the grid should be, in years. It tries five steps either side of the stay you entered, so one year gives every year from two to twelve on a seven-year answer. It is a spacing for looking around, not a forecast: nothing here puts a probability on how long you stay.
- Years Held (required)
-
Unit years Default 7 Range 1 to 40
About this input
How long before you sell or refinance. This is the input the answer is most sensitive to, and the reason a break-even month on its own does not settle the question.
- Points Paid (required)
-
Unit points Default 1 Range 0 to 10
About this input
How many points you would buy, where one point is one percent of the loan. Fractions are normal; half and three-quarter points are commonly quoted.
- Discount Rate
-
When omitted Blank
Unit fraction Default Not set Range At least 0
About this input
Optional. The annual return the money would earn if you did not spend it on points. Leave it blank and the model compares plain dollars; fill it in and it compares present values, which is the fairer test when the alternative is investing.
- Base Rate (required)
-
Unit fraction Default 0.065 Range At least 0
About this input
The rate you are quoted with no points paid. Take it from the same quote sheet as the reduction below, because the two only mean something together.
- Loan Term Years (required)
-
Unit years Default 30 Range 1 to 40
About this input
The full term of the loan. It sets the payment and the lifetime figure, even if you do not plan to hold it that long.
- Loan Amount (required)
-
Unit currency Default 300000 Range At least 0
About this input
How much you are borrowing. Points are charged on this, not on the price of the house.
Outputs
- Table1 Points Column Input
-
Unit points
About this output
Machinery, and NOT an input. The same for the column axis: Excel substitutes into it while filling the grid, and the rest of the time it mirrors Points_Paid.
- Table1 Points Corner
-
Unit currency
About this output
Machinery. Excel requires the formula being tabulated to sit in the grid's top-left corner, where it means nothing to a reader, so it is formatted away. It holds Total_Benefit.
- Table1 Points Column Axis
-
No unit declared
About this output
The values across the top of the grid: how many points you buy. Read a column to hold this fixed. The middle entry is your own figure.
- Rate With Points
-
Unit fraction
About this output
The rate after the reduction the points bought.
- Saving Over Horizon
-
Unit currency
About this output
Every dollar of payment saved between now and the day you expect to sell or refinance.
- Table1 Points Row Axis
-
No unit declared
About this output
The values down the left of the grid: how many years until you sell or refinance. Read a row to hold this fixed and vary the other axis. The middle entry is your own figure.
- Worth Of One More Point
-
Unit currency
About this output
What buying one additional point would add at your own horizon, read off the grid rather than asserted. It is the same at every point count, because the model takes each point to buy the same rate cut; a real quote sheet tapers, so treat this as the value of the NEXT point and not of the one after.
- Years To Justify Points
-
Unit years
About this output
The shortest stay on the grid at which the points you chose are already ahead. Read it against how long you really expect to be there. It arrives sooner than the break-even month, because break-even counts only the payment saving while this counts the principal as well, and the gap between the two is exactly what other calculators leave out. Zero means the points are not ahead anywhere on the grid.
- Total Benefit
-
Unit currency
About this output
The payments saved plus the extra principal, less what the points cost. Positive means the points paid for themselves over the time you plan to hold the loan. This is the figure to read, not the break-even month.
- Table1 Points Row Input
-
Unit years
About this output
Machinery, and NOT an input. Excel substitutes each value from the row axis into this cell while it fills the grid; the rest of the time it mirrors Years_Held. Change Years_Held above, never this: the axis is derived from it, so editing the mirror moves the axis while the table walks and the grid comes out meaningless.
- Table1 Points Values
-
Unit currency
About this output
The body of the grid: what the points are worth, net of their cost, recomputed for every combination of the two axes. One hundred and twenty-one cells, each one the whole calculation run again. It is a component of the table rather than a result on its own.
- Cost Of Points
-
Unit currency
About this output
What you hand over at closing for the lower rate. Cash, on the day, and not recoverable if you sell early.
- Extra Principal Paid
-
Unit currency
About this output
How much less you owe at that same date because the lower rate amortises faster. This is real money you collect when you sell, and it is the term other calculators leave out.
- Break Even Months
-
Unit months
About this output
How long the monthly saving takes to repay what the points cost. Useful, but not the whole answer: it counts only the payment saving and ignores the principal the lower rate pays down.
- Benefit If You Leave Early
-
Unit currency
About this output
What the points would be worth if you left at the shortest stay the grid looks at. Usually negative, and it is the number to weigh against the headline before committing cash at closing.
- Benefit Spread Over Horizons
-
Unit currency
About this output
The distance between the best and the worst outcome down your own column, from the shortest stay the grid tries to the longest. It is how much of this answer is really an answer about your plans rather than about the loan.
- Lifetime Saving
-
Unit currency
About this output
What the points are worth if you keep the loan to the very end. It is the best case, and almost nobody reaches it.
- Payment With Points
-
Unit currency/month
About this output
Principal and interest at the reduced rate.
- Payment Without Points
-
Unit currency/month
About this output
Principal and interest at the base rate.
- Net Present Value
-
Unit currency
About this output
The same trade with every future dollar discounted at the rate you entered. Blank until you enter one. Negative while the plain total is positive means the points do pay back, but more slowly than your money could work elsewhere.
- Model Status
-
No unit declared
About this output
Reads OK, or explains why the inputs are not valid or why the answer deserves a second look.
- Monthly Saving
-
Unit currency/month
About this output
The difference between the two payments. Small in isolation, which is why the horizon matters.
LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.
Methodology
Purpose and model boundary
Use this calculator to price mortgage discount points as an investment with a deadline. It takes one fixed-rate loan quote, applies the rate reduction the points buy, and reports four things: what the points cost at closing, what they save every month, how many months that saving takes to repay the cost, and what the whole trade is worth over the number of years you actually expect to keep the loan.
The figure the page exists to produce is the total benefit at your horizon. It is the payments you save between now and the day you sell or refinance, plus the extra principal the lower rate has paid down by that same date, less what the points cost. The second term matters: a lower rate does not only shrink the payment, it also retires principal faster, so at the horizon you owe less as well as having paid less. That difference is money you collect when the loan is settled, and leaving it out understates the points on an ordinary loan. Give the calculator an optional discount rate and it restates the same trade in present-value terms, which is the fairer test when the alternative to buying points is investing the cash.
This is a comparison of two fixed-rate loans on the same principal and the same term. It is not a prediction of the quote a lender will offer you, and the rate reduction one point buys is an input rather than a constant because it moves with the market, the loan and the lender.
What the model does not do is as important as what it does. It does not model tax: points on a purchase of a principal residence are often deductible in the year they are paid, while points on a refinance are usually deducted across the term of the loan, and either treatment can move this trade materially. It does not model lender credits, which are points in reverse and price differently. It assumes the rate never changes, so an adjustable-rate loan is outside it. It assumes every point buys the same rate reduction as the first, which lenders rarely offer past the second point, so the far end of the points sweep is optimistic by construction. It charges points on the loan amount, not on the price of the house. It ignores every other closing cost, mortgage insurance, property tax, homeowners insurance, and escrow, because none of them differs between the two loans being compared. And it cannot tell you how long you will really keep the loan; that is a prediction you supply, and it is the input the answer is most sensitive to.
Inputs and units
| Input | Unit | Accepted range | What it means |
|---|---|---|---|
| Loan Amount | $ | 0 or more, and zero is refused by the model | How much you are borrowing. Points are charged on this, not on the price of the house. |
| Base Rate | % | 0% or more | The rate you are quoted with no points paid. Take it from the same quote sheet as the reduction below, because the two only mean something together. |
| Loan Term Years | years | 1 to 40 | The full term of the loan. It sets the payment and the lifetime figure, even if you do not plan to hold it that long. |
| Points Paid | points | 0 to 10 | How many points you would buy, where one point is one percent of the loan. Fractions are normal; half and three-quarter points are commonly quoted. |
| Rate Reduction Per Point | % | 0% to 100% | How much rate one point buys. A quarter of a percentage point of rate per point paid is a common quote but not a rule, and the second point usually buys less than the first. |
| Years Held | years | 1 to 40 | How long before you sell or refinance. This is the input the answer is most sensitive to, and the reason a break-even month on its own does not settle the question. |
| Discount Rate | % | 0% or more, or blank | Optional. The annual return the money would earn if you did not spend it on points. Leave it blank and the model compares plain dollars; fill it in and it compares present values, which is the fairer test when the alternative is investing. |
| Points Step | points | 0 or more | Spacing between point-count scenarios across the sensitivity table. A 0.20 step examines five increments below and above the entered Points Paid value, with negative point counts floored at zero. |
| Years Step | years | 0 or more | Spacing between holding-period scenarios down the sensitivity table. A one-year step examines five years below and above the entered Years Held value. |
Discount Rate is the only optional input and it ships blank. Blank means no discounting: the calculator compares plain dollars and the Net Present Value output stays blank with it. Entering zero is not the same gesture as leaving it blank, although the two produce the same undiscounted arithmetic; zero fills the field and produces a Net Present Value equal to the total benefit.
Two rules span more than one field and so do not appear as a range above. Years Held may not exceed Loan Term Years, because the model has no way to price a horizon that outlives the loan. And Points Paid multiplied by Rate Reduction Per Point may not exceed Base Rate, because that would drive the rate after points below zero, which the model does not handle. Both are reported through the status line rather than by refusing the keystroke.
Points Step and Years Step are required controls for the 11 × 11 sensitivity table. They change the scenarios shown in the table, not the headline result at the entered Points Paid and Years Held values. Both axes are scenario sweeps; neither is a probability distribution.
Governing relationships
Write the loan amount as P, the number of points as p, the rate reduction per point as d, the base annual rate as b, and the optional annual discount rate as i. The term in whole months is N, which is the loan term in years multiplied by twelve and rounded to the nearest month. The holding period in whole months is H, which is Years Held multiplied by twelve and rounded the same way.
The cost of the points is
- cost = P × p / 100.
One point is one percent of P, so p points cost p percent of the loan. The rate after the points is
- rate with points = b − (p × d).
Both loans use the same level-payment formula. For a monthly rate r, which is an annual rate divided by twelve, and a term of N months,
- payment = P × r / (1 − (1 + r)^−N).
When the monthly rate is indistinguishable from zero the calculator takes the zero-rate branch and divides the principal evenly across the N months instead, which keeps the formula defined at a zero rate. The payment without points uses r from b; the payment with points uses r from the rate with points. Their difference is the monthly saving:
- monthly saving = payment without points − payment with points.
Break-even in months is the cost divided by that saving:
- break-even months = cost / monthly saving, when the saving is above zero, and 0 otherwise.
The remaining balance on a level-payment loan after k months is the closed-form expression
- B(k) = P × (1 + r)^k − payment × ((1 + r)^k − 1) / r,
floored at zero, with the same zero-rate branch subtracting k payments from the principal. The calculator evaluates B at the horizon H once under each rate and differences them:
- extra principal paid = B(H) at the base rate − B(H) at the rate with points.
Because the lower rate amortises faster, that difference is never negative. The cash side of the trade over the same period is
- saving over horizon = monthly saving × H,
and the headline figure combines the two and deducts what was paid:
- total benefit = saving over horizon + extra principal paid − cost.
The whole-term figure applies the same arithmetic to the full term rather than the horizon:
- lifetime saving = monthly saving × N − cost.
When a discount rate is supplied, the monthly discount rate is m = i / 12, the stream of monthly savings is valued as an ordinary annuity over H months, and the extra principal is discounted as a single sum received at the horizon:
- net present value = monthly saving × (1 − (1 + m)^−H) / m + extra principal paid / (1 + m)^H − cost.
At a zero discount rate both present-value terms collapse to the undiscounted amounts, so the net present value equals the total benefit.
The four charts are built from the same quantities. The month-by-month net position is monthly saving × month − cost, evaluated for ten years against a flat zero line. The points sweep recomputes the rate, the payment, the balance at the horizon and the total benefit at every quarter point from zero to four, against a flat line at the total benefit of the point count you chose. The third chart reads the table's centre column to show how benefit changes with the holding period. The fourth compares early, entered, and longer holding periods across the table's points axis.
The sensitivity table performs a separate two-way sweep. Its rows move Years Held five Years Step intervals below and above the entered horizon. Its columns move Points Paid five Points Step intervals below and above the entered choice, with negative point counts floored at zero. Every cell is Total Benefit after rerunning the complete payment, balance, and cost calculation for that pair. The table has no probability or percentile outputs because neither axis is probability-weighted.
Calculation sequence
- Check the inputs against the published input rules, then convert the term and the holding period from years to whole months.
- Calculate the cost of the points from the loan amount, and the rate after the points from the base rate and the quoted reduction.
- Calculate the monthly payment at the base rate and the monthly payment at the rate after points, using the zero-rate branch where a rate is effectively zero.
- Subtract the two payments to get the monthly saving.
- Divide the cost by the monthly saving to get break-even in months, or return zero when the saving is not positive.
- Evaluate the closed-form remaining balance at the holding horizon under each rate, and difference them to get the extra principal the lower rate has paid down.
- Multiply the monthly saving by the months held to get the saving over the horizon.
- Add the saving over the horizon and the extra principal, subtract the cost, and report the total benefit.
- Apply the same saving to the full term and deduct the cost to report the lifetime saving.
- If a discount rate was supplied, present-value the saving stream over the months held, present-value the extra principal as a single sum at the horizon, deduct the cost, and report the net present value. If the field is blank, leave that output blank.
- Build the month-by-month net position and points sweep, then expose the conditional table's centre column and selected rows for the third and fourth charts.
- Build the 11 × 11 sensitivity table by rerunning Total Benefit for every holding-period and point-count pair.
- Evaluate the status conditions below in order and return the first one that is true.
Outputs and interpretation
Three outputs carry the decision. Total Benefit is the one to read: it is the payments saved plus the extra principal, less what the points cost, measured at the horizon you entered. Positive means the points paid for themselves over the time you plan to hold the loan. Break Even Months is how long the monthly saving alone takes to repay the cost. Monthly Saving is the difference between the two payments, which is small in isolation and is exactly why the horizon matters.
Read the break-even figure carefully, because it is the number most often misused. It answers one question only: at what month does the accumulated payment saving equal the upfront cost. It deliberately counts nothing but the payment saving, so it ignores the extra principal the lower rate has quietly paid down, and it is therefore a conservative date rather than the true date at which you are whole. It is also a single number with no knowledge of your plans; the same 61 months is an easy yes for someone staying fifteen years and an obvious no for someone moving in three. Compare it with your holding period in months, which is Years Held multiplied by twelve, and then read the total benefit for the verdict. A break-even of zero months does not mean the points repaid themselves instantly. It means there is no repayment date at all, because the monthly saving is not above zero, and the calculator reports zero rather than dividing by it.
| Output | Role | Unit | What it means |
|---|---|---|---|
| Total Benefit | headline | $ | The payments saved plus the extra principal, less what the points cost. Positive means the points paid for themselves over the time you plan to hold the loan. This is the figure to read, not the break-even month. |
| Break Even Months | headline | months | How long the monthly saving takes to repay what the points cost. Useful, but not the whole answer: it counts only the payment saving and ignores the principal the lower rate pays down. |
| Monthly Saving | headline | $/month | The difference between the two payments. Small in isolation, which is why the horizon matters. |
| Model Status | status | text | Reads OK, or explains why the inputs are not valid or why the answer deserves a second look. |
| Cost Of Points | detail | $ | What you hand over at closing for the lower rate. Cash, on the day, and not recoverable if you sell early. |
| Rate With Points | detail | % | The rate after the reduction the points bought. |
| Payment Without Points | detail | $/month | Principal and interest at the base rate. |
| Payment With Points | detail | $/month | Principal and interest at the reduced rate. |
| Saving Over Horizon | detail | $ | Every dollar of payment saved between now and the day you expect to sell or refinance. |
| Extra Principal Paid | detail | $ | How much less you owe at that same date because the lower rate amortises faster. This is real money you collect when you sell, and it is the term other tools leave out. |
| Lifetime Saving | detail | $ | What the points are worth if you keep the loan to the very end. It is the best case, and almost nobody reaches it. |
| Net Present Value | detail | $ | The same trade with every future dollar discounted at the rate you entered. Blank until you enter one. Negative while the plain total is positive means the points do pay back, but more slowly than your money could work elsewhere. |
Total Benefit will normally exceed Saving Over Horizon less Cost Of Points. The gap is exactly Extra Principal Paid, and it is the term that separates this calculator from a plain break-even table.
The first chart shows the net cash position month by month against a zero line, so the point at which the line crosses zero is the break-even month read off rather than calculated. The second chart shows the total benefit at your horizon as the number of points rises from zero to four, with a flat line marking the choice you entered. The third shows that benefit across holding periods at the entered point count. The fourth shows three holding-period slices across the points axis. Read the right-hand end of either points sweep with suspicion: it assumes the tenth quarter-point of rate costs the same as the first, and real quote sheets stop being that generous after about two points.
The conditional table appears after all four charts. Read down to compare holding periods and across to compare point counts. It is a scenario matrix, not a forecast: a green cell says Total Benefit is positive for that exact pair, not that the pair is likely. The page displays the 121 values returned by the calculation service and verifies the centre against the scalar Total Benefit; it does not manufacture table values in the browser.
Validation and status logic
This calculator evaluates its status conditions in the order shown below, and the first condition that is true is the one returned. Later rows are never reached once an earlier row matches, so the order is the precedence: every NOT VALID state is tested before any CHECK state, and the final row is the fallthrough that applies when nothing above it is true. Where a row joins conditions with AND, every part of it must hold before that row matches.
| Condition | Returned status |
|---|---|
| Loan Amount <= 0 | NOT VALID: there is nothing to borrow |
| Base Rate < 0 | NOT VALID: an interest rate cannot be negative |
| Loan Term Years < 1 | NOT VALID: the term has to be at least one year |
| Points Paid < 0 | NOT VALID: you cannot buy a negative number of points |
| Rate Reduction Per Point < 0 | NOT VALID: a point cannot raise the rate in this model |
| Years Held < 1 | NOT VALID: hold the loan at least a year, or there is nothing to measure |
| Years Held > Loan Term Years | NOT VALID: you cannot hold the loan longer than its term |
| Rate With Points < 0 | NOT VALID: that many points drives the rate below zero, which the model does not handle |
| AND(Discount Rate <> "",Discount Rate < 0) | NOT VALID: a negative discount rate is outside what this model handles |
| Points Paid = 0 | CHECK: you have bought no points, so there is nothing here to weigh up |
| Monthly Saving <= 0 | CHECK: the points buy no reduction in payment, so they cannot repay themselves |
| Break Even Months > Months held | CHECK: you expect to be gone before the points have repaid their cost |
| Total Benefit < 0 | CHECK: over the time you plan to hold the loan the points do not earn back what they cost |
| AND(Discount Rate <> "",Net Present Value < 0,Total Benefit > 0) | CHECK: the points pay back, but more slowly than the return you say the money could earn elsewhere |
| None of the preceding conditions applies | OK |
"Months held" in the twelfth row is Years Held multiplied by twelve and rounded to a whole month, which is the same horizon every other output uses. Several conditions can be true at once and only the first is reported: buying no points, for example, also makes the monthly saving test true, but the status returned is the one about buying no points because it is the more useful explanation.
Two of the CHECK states are easy to misread. A break-even past your holding period is not a fault in the calculation: the arithmetic is sound, and the finding is simply that you leave before the saving catches up. A negative net present value beside a positive total benefit is not a contradiction; it says the points do repay themselves in plain dollars, but more slowly than the return you told the calculator the money could earn elsewhere.
Assumptions and limitations
- Both loans are fixed-rate, level-payment loans on the same principal and the same term. Nothing about an adjustable rate is modelled.
- Each point costs exactly one percent of the loan amount, and points are charged on the amount borrowed rather than on the purchase price.
- Every point is assumed to buy the same rate reduction as the first. Lenders rarely offer that past the second point, so both the high end of the Points Paid input and the right-hand end of the sweep chart are optimistic.
- The rate reduction per point is whatever you were quoted. It is not a market constant, and it should come from the same quote sheet as the base rate.
- Tax is not modelled at all. Points on the purchase of a principal residence are often deductible in the year they are paid, while points on a refinance are usually deducted across the term of the loan. Either treatment can change the answer materially and depends on circumstances the model knows nothing about.
- Lender credits, which are points in reverse, are not modelled and do not price symmetrically.
- The holding horizon is the earlier of sale or refinance, and it is a prediction. The result is more sensitive to this input than to any other.
- Extra Principal Paid comes from the closed-form remaining-balance expression evaluated once at the horizon, not from a walked amortisation schedule. The two agree for a level-payment loan with no extra payments; they diverge if payments are made ahead of schedule, which is not modelled.
- Closing costs other than the points themselves, mortgage insurance, property tax, homeowners insurance, and escrow are all omitted. They are the same under both loans being compared, so they do not change the difference, but they do change what you actually pay.
- Results are nominal. Outside the optional discount rate, no adjustment is made for inflation or for what the cash could earn elsewhere.
- The optional discount rate is a flat annual rate applied monthly for the whole horizon. It is not a risk-adjusted rate and it does not vary over time.
- The sensitivity table assigns no probability to either axis. Points Step and Years Step control spacing only, and duplicate edge values can occur where the point-count floor holds several low scenarios at zero.
Restrictions and non-computing states
All seven inputs must be present except the discount rate, which may be left blank. The loan amount, the base rate, the number of points, the rate reduction per point and the discount rate cannot be negative. The number of points is capped at ten and the rate reduction per point at one hundred percent. The loan term and the holding period must each be between one and forty years, and the holding period cannot exceed the term.
A loan amount of zero is accepted by the field but refused by the model, because there is nothing to borrow and so nothing for the points to be charged on. A combination of points and rate reduction that would take the rate after points below zero is refused for a similar reason: the level-payment formula is still defined there, but the result would not mean anything.
Two states compute in full and are flagged rather than returned silently. Buying no points produces identical payments and zeros throughout, which is the degenerate baseline the whole comparison is measured against. A quote that buys no reduction in payment produces a cost with nothing on the other side of it, so break-even is reported as zero months rather than as an infinite or undefined date.
The Net Present Value output is blank whenever the discount rate is blank. That is the expected state, not a missing result.
Errors and warnings
Three different things can go wrong and the page distinguishes them.
A rejected entry happens before any calculation. If a value falls outside the published input rules, such as eleven points against a cap of ten, a negative loan amount, or a holding period above forty years, the entry is refused and nothing is computed. There is no status line in this case because the model was never run. Correct the field and the calculation proceeds.
A NOT VALID or CHECK status is the model's own finding, returned after it has run. NOT VALID means the inputs were individually acceptable but together they do not describe a question this model can answer, so the figures shown alongside it should not be read as an answer. CHECK means the arithmetic completed and the figures are sound, but something about the combination deserves your attention, and the status text says exactly what. A CHECK is frequently the correct and useful answer: being told that you will move before the points repay themselves is the point of asking.
A connection or calculation failure is a matter of availability, not a finding about your inputs. If the calculation service cannot be reached or does not return in time, the page reports that it could not calculate. It never substitutes zero, never falls back to figures worked out anywhere other than the calculation service, and never presents a stale result as a fresh one. Retry, and if it persists the fault is with the platform rather than with your quote.
References
The trade this calculator prices, cash at closing against a lower rate, is described for consumers by the Consumer Financial Protection Bureau in How should I use lender credits and points (also called discount points)?. That guidance is also the reason the holding period is an input here rather than an assumption: it advises asking a lender to price the same loan with and without points over several possible timeframes, including the shortest, the longest, and the most likely.
Both the base rate and the rate reduction the points buy should come from the same quote. The CFPB's Loan Estimate Explainer shows where points and the interest rate appear on the standard form and explains why offers are only comparable when they are for the same kind of loan.
This calculator assumes the rate never changes. The CFPB's explanation of the difference between a fixed-rate and an adjustable-rate mortgage sets out what that assumption excludes.
Tax is deliberately outside the model. The Internal Revenue Service's Topic no. 504, Home mortgage points states that points paid to obtain a mortgage on a principal residence may be deducted in the year they are paid under the cash method, while points paid to refinance an existing mortgage are generally deducted ratably over the term of the loan. Those two treatments can change the answer here materially, and neither is applied.
The optional discount rate asks what the cash would be worth if it were invested instead of spent at closing. For general background on how an amount grows over time at an assumed rate of return, see the U.S. Securities and Exchange Commission's Investor.gov compound interest calculator.
The level-payment formula, the closed-form remaining balance, and the present value of an annuity are standard financial mathematics rather than the finding of any one publication. No outside source is cited for them. They are set out in full in the methodology above and are checked line by line against an independent implementation in the audit delivered with this calculator.
These sources provide consumer and tax context; they do not supply this calculator's assumptions and they do not certify its result. This calculator is informational and is not financial, tax, investment, mortgage, or real-estate advice, and it is not a recommendation to buy points or to accept any loan offer. The answer turns on how long you keep the loan, which is a prediction. Compare actual loan estimates and consult a qualified professional who knows your circumstances.
Found a problem, or have an idea?
Tell us if a result looks wrong, a label is unclear, or something is missing. We read every message.