House Flip Price Reduction Decision Calculator in Excel: When a $5,000 Cut Beats a $10,000 Cut

You listed the flip at $329,900 six weeks ago. You have had three showings in the last fourteen days and one offer at $309,000 that you called insulting out loud. Your agent wants to cut $10,000. You want to hold your number for another month. A house flip price reduction decision calculator in Excel settles that argument in about fifteen minutes, and it usually settles it against the person who wants to wait.
It settles against waiting for a reason most flippers never price. Everyone knows a vacant house costs money every day. What nobody models is that the price the house can actually fetch is falling while you wait. The number you are protecting by holding out was never yours to protect, and the carry you are paying to protect it is real cash leaving a real account every Friday.
Here is the model, built on one deal, with three paths priced side by side and a recommendation at the end that is not "it depends."
The number that decides this is not your monthly carry
Two framing errors make this decision go wrong before any math happens.
The first is the unit. Carrying cost gets quoted monthly because that is how the mortgage statement arrives, but listing decisions get made weekly. Your agent calls on Monday with the weekend's showing count. A price change posts on a Tuesday and hits the alert feeds that night. When you think in months you round every decision to the next thirty days, and thirty days is exactly the increment that kills flip margins.
The second is the basis. Flippers say "I have $265,000 in this house, I need $330,000 to make it work." The market has no interest in what you have in the house. Every dollar already spent on the purchase, the rehab, the permits, and the six months of interest is gone whichever path you pick. The only question the calculator answers is which path puts more money in your pocket from today forward. Your basis appears exactly once, at the very end, to convert a net proceeds number into a profit number. It never influences the choice.
Start with the inputs. This is one sheet, one column of values, and everything downstream reads from it.
| Cell | Input | Value |
|---|---|---|
| B2 | Current list price | $329,900 |
| B3 | Days on market today | 42 |
| B4 | Cash in the deal to date | $265,938 |
| B5 | Loan balance | $221,000 |
| B6 | Loan rate, annual, interest only | 11.5% |
| B7 | Property tax, annual | $4,320 |
| B8 | Vacant property insurance, annual | $2,160 |
| B9 | Utilities, monthly | $145 |
| B10 | HOA, monthly | $0 |
| B11 | Lawn, snow, and monitoring, monthly | $120 |
| B12 | Selling costs, percent of price | 7.0% |
| B13 | Months owned to date | 6 |
| B14 | Loan term, months | 9 |
| B15 | Extension cost, points on balance | 2.0% |
The 7 percent in B12 is not a commission rate. It is 3 percent listing side, 2.5 percent offered to the buyer's agent as a concession, and 1.5 percent for title, transfer tax, and the seller-paid closing costs that show up on every contract written by a buyer using financing. If you only budget the commission you will be short by roughly $5,000 on this deal.
Build the carry line, and run it to closing rather than to contract
Monthly interest, cell B17:
=B5*B6/12
Weekly carry, cell B22, which is the unit every later decision uses:
=B21*12/52
The rest of the block has no multiplication in it and can sit in a plain column.
| Cell | Line | Formula | Value |
|---|---|---|---|
| B18 | Monthly tax | =B7/12 | $360 |
| B19 | Monthly insurance | =B8/12 | $180 |
| B20 | Monthly other | =B9+B10+B11 | $265 |
| B21 | Total monthly carry | =SUM(B17:B20) | $2,923 |
| B22 | Weekly carry | see above | $674.52 |
| B23 | Daily carry | =B22/7 | $96.36 |
Ninety-six dollars a day. That is the number to write on a sticky note and put on the monitor, because it converts every conversation about the listing into dollars without any further arithmetic. A week of "let's see what the weekend brings" is roughly $675. A month of holding your number is $2,923. The full carry math behind these lines, including the rehab period, is covered in our breakdown of house flipping holding costs.
Now the part almost every homemade version of this model gets wrong. Carry does not stop when you sign a contract. It stops when the deed records. A conventional buyer with a 30-day financing contingency takes five weeks from acceptance to funding once you count the appraisal, the underwriting conditions, and the two-day slip that happens on almost every file. A cash buyer takes two.
Those five weeks are $3,373 of carry that lives on the wrong side of every mental model. Flippers celebrate the accepted offer and then keep paying interest for another thirty-five days. In the sheet, escrow weeks is its own input and it is added to weeks-to-contract before anything gets multiplied by the weekly rate.
Read the showing data before you touch the price
A price reduction is a diagnosis, not a reflex. Cutting a house that has a showing problem instead of a pricing problem burns real money and fixes nothing, because the new price attracts more buyers into the same disappointing walkthrough.
The listing tells you which one you have if you record two numbers every Monday.
| Signal in the last 14 days | What it means | The move |
|---|---|---|
| 0 to 2 showings | Priced above the search band, buyers never see it | Cut to cross the nearest filter |
| 3 to 6 showings, no offers | Priced roughly 3 to 5 percent high | Cut, and reshoot the photos |
| 7 or more showings, no offers | Condition or smell, not price | Fix the house before touching the price |
| Offers 6 percent or more under list | The market has already priced it | Meet the market, it is not negotiating |
| Offers within 3 percent of list | Normal negotiation | Hold and counter |
Our deal has three showings in fourteen days and one offer 6.3 percent under list. That is row two crossed with row four. The house does not have a showing problem. It has a price that the few people who see it are discounting on arrival.
The supply context matters too. Put active competing listings in the band in cell B54 and the count of comparable sales over the last ninety days in B55, then compute months of supply in B56:
=B54/(B55/3)
That is your competition divided by the average monthly absorption rate. Under four months of supply, a stale listing is your own fault. Over eight, the market is slow and the staleness penalty in the next section should be raised, not lowered, because buyers have more alternatives to compare you against.
Cut to cross a search filter, not to feel generous
This is the section that pays for the whole model, and almost nobody builds it.
Buyers do not browse listings. They set a maximum price in a search filter and then look at what comes back. Those filters step in fixed increments, and in the $200,000 to $500,000 range the standard step on the major portals is $25,000. Your house at $329,900 is visible only to buyers whose ceiling is set at $350,000 or higher. Every buyer who typed $325,000 has never seen your listing, will never see your listing, and is not being stubborn about your price. They do not know the house exists.
Find the boundary in cell B32:
=FLOOR(B2,25000)
That returns $325,000. The cut required to clear it, cell B33:
=B2-B32+100
That returns $5,000, which lands the new list price at $324,900, one hundred dollars under the filter. Cell B34:
=B2-B33
Now test any price your agent proposes against the boundary:
=IF(B36<B32,"CROSSES FILTER","INVISIBLE CUT")
Run the $10,000 cut your agent suggested through that test. It lands at $319,900. It crosses the same boundary the $5,000 cut crossed. It reaches exactly the same buyers. The second $5,000 buys nothing, and as the worked example below shows, it costs $4,471 of net proceeds.
The rule that comes out of this is short. A price cut is worth what it changes about who sees the house, not what it signals about your flexibility. A cut that does not cross a filter boundary is a donation.
Price the staleness discount, because your achievable price is not constant
The naive version of this decision compares a $5,000 cut against $675 a week of carry, concludes the cut equals seven and a half weeks of holding, and tells you to wait. That comparison is wrong because it assumes the house will still fetch $329,900 in seven weeks. It will not.
Days on market is public. After a listing passes the local median, buyer agents start opening the conversation with "how long has this been sitting," and buyers write the offer with that number in mind. The achievable price decays, and the decay compounds with the carry rather than offsetting it.
Model it as two components. A base negotiation gap that exists on day one, and a staleness term that grows with time past the median.
| Cell | Input | Value |
|---|---|---|
| B25 | Showings in the last 14 days | 3 |
| B26 | Offers received to date | 1 |
| B27 | Best offer in hand | $309,000 |
| B28 | Median days on market in the band | 24 |
| B29 | Base list-to-close negotiation gap | 2.0% |
| B30 | Staleness discount per 30 days past median | 1.2% |
| B31 | Post-inspection retrade allowance | $3,500 |
Do not take the 1.2 percent on faith. Calibrate it from your own market in twenty minutes. Pull the last ninety days of sold listings in your price band, put original list price and final sale price and days on market in three columns, compute the ratio, and sort by days on market. The gap between the sub-median group and the group past sixty days is your local staleness rate. In most suburban markets it lands between 0.8 and 1.8 percent per thirty days. In a market with eight months of supply it runs higher.
The scenario engine takes a list price in B36 and weeks to contract in B37, and prices the outcome. Days on market at contract, cell B39:
=B3+B37*7
Months past the median, cell B40:
=MAX(0,(B39-B28)/30)
Staleness discount, cell B41:
=B40*B30
Total discount, cell B42:
=B41+B29
Expected closing price, cell B43:
=B36*(1-B42)
Selling costs, cell B44:
=B43*B12
Carry through closing, cell B45, where B38 holds the escrow weeks:
=(B37+B38)*B22
Net at closing, cell B48, after the extension fee from the next section:
=B43-B44-B45-B47
Forward profit, cell B49:
=B48-B4
Loan maturity is a cliff, not a slope
Carry is linear. Hard money is not. The loan on this deal is a nine-month note and the property has been owned six months, so maturity is thirteen weeks out. Past that date the lender charges two points to extend and usually steps the rate up as well.
Months owned at closing, cell B46:
=B13+(B37+B38)/4.333
Extension fee, cell B47:
=IF(B46>B14,B5*B15,0)
On a $221,000 balance, two points is $4,420. That is not a rounding item. It is six and a half weeks of carry arriving in a single wire, triggered by crossing one date.
The cliff produces the single most useful date in the model. Closing takes five weeks, so a contract signed after week eight closes past maturity. Week eight from today is day 98 on market. That is the last week you can go under contract without paying $4,420 for the privilege, and it belongs in your calendar, not in a spreadsheet cell you never look at again.
Run the three paths on the real deal
Same house, same day, three decisions. Path A holds the line at $329,900 and expects ten more weeks to contract given the current showing rate. Path B cuts $5,000 to $324,900 today, crosses the filter, and expects four weeks. Path C accepts the $309,000 offer sitting on the table.
| Line | A: hold at $329,900 | B: cut to $324,900 | C: take $309,000 |
|---|---|---|---|
| Weeks to contract | 10 | 4 | 0 |
| Days on market at contract | 112 | 70 | 42 |
| Total discount applied | 5.52% | 3.84% | n/a |
| Expected closing price | $311,690 | $312,424 | $309,000 |
| Selling costs at 7% | $21,818 | $21,870 | $21,630 |
| Carry through closing | $10,118 | $6,071 | $3,373 |
| Retrade allowance | $0 | $0 | $3,500 |
| Loan extension fee | $4,420 | $0 | $0 |
| Net at closing | $275,333 | $284,483 | $280,497 |
| Forward profit over $265,938 in | $9,396 | $18,546 | $14,560 |
Read the fourth row again. The path with the lower list price closes for $734 more than the path that holds the higher list price. That is not a typo and it is not a trick. Six extra weeks of staleness takes more off the closing price than the $5,000 you refused to cut, so the cut is free at the closing table and the six weeks of carry and the extension fee are pure loss on top.
Cutting $5,000 earns $9,150 more than holding your number. Not "saves." Earns.
And the $10,000 cut your agent wanted, run through the same engine at $319,900 with the same four weeks, closes at $307,616 and nets $280,012, for a forward profit of $14,075. It reaches the identical buyer pool as the $5,000 cut and delivers $4,471 less. The boundary did the work. The extra dollars did not.
The real output is a probability, not a price
Path B looks like the obvious winner until you ask what happens when it does not work. Four weeks is an estimate, not a fact. Run the same engine with nine weeks to contract instead of four and the picture changes hard: days on market reaches 105, the discount widens to 5.24 percent, closing lands at $307,875, the loan crosses maturity, and forward profit falls to $6,523.
So Path B is not worth $18,546. It is worth $18,546 if the cut converts fast and $6,523 if it does not. Path C is worth $14,560 with a signed contract already in hand. The question is no longer which number is biggest. It is how confident you have to be to turn down a real offer for a possible one.
Park the three outcomes in D2, D3, and D4, the offer in hand at $14,560, the slow version of the cut at $6,523, and the fast version at $18,546. Then solve for the break-even confidence:
=(D2-D3)/(D4-D3)
That returns 0.668. You need to be 67 percent confident the repriced listing goes under contract within four weeks to justify rejecting $309,000 today.
Now look back at the input sheet and ask whether three showings in fourteen days supports 67 percent confidence in a four-week contract. It does not. Two showings a week is the bottom of the diagnostic table. The honest read is that the cut probably needs six to eight weeks, not four, which puts the expected value of Path B below the offer already on the table.
The recommendation on this deal is to counter the $309,000 offer once, at $317,500, with a seven-day expiry, and to have the price change to $324,900 already drafted in the MLS so it posts the morning the counter dies. That sequence captures most of Path B's upside without giving up Path C, because the buyer who wrote a 6.3 percent under-list offer at day 42 is the same buyer who watches for the price change.
There is a case where the model says hold, and it is worth stating so the tool does not read as an argument for always cutting. A listing at day 12 with fourteen showings and two offers within 3 percent of list is not stale, it is in price discovery, and the staleness term in B41 returns zero because days on market has not passed the median. The model only turns against you once the market has had enough time to speak and has said no.
Build this once and it takes fifteen minutes to run on every deal after that. If you would rather not start from a blank sheet, the Flip and BRRRR Calculator already carries the purchase, rehab, carry, and selling-cost structure this model sits on top of, with the profit and margin math wired and tested. Add the six lines that turn it into a price reduction decision, the filter boundary, the median days on market, the staleness rate, the escrow weeks, the extension trigger, and the break-even confidence, and you will stop arguing about the list price and start pricing the decision instead.
Related template
BRRRR Deal Calculator
Model the full Buy-Rehab-Rent-Refinance-Repeat cycle. See exactly how much capital comes back at refinance — before you commit a dollar.
Get the Template — $49