Negotiation
How a Price Negotiator Should Counter, in Plain Words
The concession curve behind an automated haggle: how fast to come down, why the counter must never go backwards, and why matching the shopper's movement matters.
Suppose a shopper offers you seventy percent of your list price and you are willing to go to ninety. What do you say back?
The naive answers are all bad. Say ninety immediately and you have given away your whole position in one move, and the shopper will still try to grind. Say list and you have not negotiated at all. Split the difference and you have taught them that offering low moves you a lot, which guarantees the next offer is lower.
What you want is a curve.
The shape of a concession
The classic model here comes from automated negotiation research, and the idea is simple enough to hold in your head. You have a starting price, a reservation price you will not cross, and a number of rounds. Over those rounds you walk from one to the other, but not in a straight line.
The exponent on that walk is the whole personality of the negotiator. Concede quickly at first and slowly later, and you look eager and then stubborn. Concede slowly at first and faster near the end, and you look firm and then suddenly flexible — which is the shape most human negotiators actually use, and it protects the margin for longer.
In practice this means a negotiator that gives up very little in round one, a bit more in round two, and lands on its floor only if the negotiation runs to the end. A shopper who accepts in round two pays more than one who grinds to round four, which is correct: patience should cost you something, but not everything.
How wide the gap is should change the personality
Here is the piece that is easy to miss. The right concession speed depends on how much room there is.
If your floor is ninety percent of list, you have ten percent of room and four rounds to spend it in. Each concession is small in absolute terms, and there is no point being coy — the whole negotiation lives in a narrow band.
If your floor is sixty percent of list, you have forty percent of room, and giving it away at the same rate would be reckless. A wide gap should make the negotiator more conservative, not more generous, because there is more to lose.
So the curve’s exponent should be derived from the spread rather than fixed. Tight spread, concede more readily; wide spread, hold firmer for longer. A merchant should also be able to override this with a posture — competitive, balanced, cooperative — but the default should already be sensible for the numbers they entered.
Never, ever go backwards
Whatever else the maths does, one thing must hold absolutely: a counteroffer is never higher than the previous counteroffer.
This sounds obvious and is easy to get wrong. If your target price is recomputed each round from the current configuration, and the merchant edits the campaign mid-conversation, or a rounding step lands differently, you can produce a number above the last one. The shopper sees the price go up after they made a concession, which reads as bad faith and ends the negotiation instantly.
The defence is to anchor. Before computing this round’s target, work out where the current curve would place the price you already quoted, and resume from one step past that. Then clamp the result to be no higher than the last offer regardless. Two belts, because this is the failure that loses trust fastest.
Match their movement, don’t exceed it
The second rule that stops a negotiator walking itself to the floor: never concede further in a round than the shopper just did.
Without this, the curve concedes on every round no matter what the shopper does, which means standing still is the shopper’s optimal strategy. Repeat your number four times and the negotiator hands you its floor.
With it, a shopper who does not move gets the same price back — literally the same number, repeated — and a shopper who moves five dollars sees the counter move at most five dollars. This is both strategically sound and, more importantly, legible. It teaches the shopper the rule in one round: if you want me to move, move.
The version of this that feels best in practice is to repeat the number and say something about it. “Same number from me, then. Move a little and I’ll move with you.” Nobody has to explain the mechanic; the mechanic explains itself.
Determinism is a feature you can sell
One last property worth designing for on purpose: the same offer should always get the same answer.
This rules out an obvious implementation — handing the negotiation to a language model — and it is worth the cost. A deterministic engine can be tested, audited, reproduced and explained. When a shopper emails to ask why they were offered one number and their friend another, you can answer. When you want to know what a campaign can cost you in the worst case, you can compute it rather than estimate it.
And the floor holds, because a clamp on the return value of a pure function is a thing you can actually prove, over thousands of generated cases. That is a much stronger claim than “we told it not to”.