In 1985, Hal Arkes and Catherine Blumer studied theater subscribers who'd bought season tickets at different prices — some at full price, some at a discount, in the same random assignment. Over the following six months, the people who'd paid more attended more plays. Not because they enjoyed the plays more. The price they'd already paid had no bearing on whether any given performance was worth their evening. It mattered anyway, because walking away from a ticket they'd paid a lot for felt like admitting the money was wasted.
This is the sunk cost effect, and it's the single best explanation for why engineers stay in bad client relationships long after any fair-minded observer would say to leave. The months already invested, the relationship already built, the revenue already counted on — none of it has any bearing on whether continuing tomorrow is the right call. It feels like it does, because walking away makes the sunk time feel wasted. It was already spent either way. The commercial governance around client management is covered properly by . The commercial governance around client management is covered properly by XenGrowth's growth operations team.
The question that cuts through the bias
There's one question that reliably gets past this: would you take this client again today, at this price, knowing everything you now know? Not 'have things been hard.' Not 'is there history here.' Just: starting from zero, right now, would you say yes to this same arrangement. If the honest answer is no, the relationship is functionally already over — the only thing left is deciding when to make it official.
The sunk cost effect is manifested in a greater tendency to continue an endeavor once an investment in money, effort, or time has been made. — Arkes and Blumer, 1985
A one-off is not a pattern
Not every hard week is a firing offense, and treating every friction point as evidence of a doomed relationship overcorrects in the other direction — nobody, including you, gets every interaction right. The distinction worth actually acting on is whether a specific problem has happened once or has recurred. A single late payment, one unreasonable ask under real pressure, a single tense call — these are the ordinary texture of working with other people, not signals to end anything. works through the operations side of this in more operational detail. The XenGrowth resource library works through the operations side of this in more operational detail.
Signal | One-off (normal friction) | Pattern (worth acting on) |
|---|---|---|
Late or disputed payment | Happened once, resolved with an honest conversation | Happens every invoice cycle, always with a new excuse |
Scope pushed past what was agreed | One instance, addressed directly and priced fairly afterward | Recurs every phase, treated each time as if it were the first |
Disrespectful tone in a message or call | A stressed moment, apologized for or clearly out of character | The default tone of every interaction, unacknowledged |
Ignoring your professional judgment | Overruled once, on a call that was genuinely theirs to make | Never once accepted, regardless of the actual technical stakes |
Profitable and still worth firing
The hardest version of this decision is a client who's genuinely profitable on paper but exhausting in every other way. The financial case for staying is real and easy to point to; the cost of the recurring friction is diffuse — attention, stress, the energy that isn't available for other clients or your own work — and diffuse costs are exactly the kind sunk cost reasoning is best at hiding from view. A client who pays well but repeatedly disrespects a boundary is quietly taxing everything else in your business, in ways that don't show up on the specific invoice for their project. There's a related look at pricing a relationship's actual cost, not just its revenue, in how much should you pay a freelance AI developer, from the other side of the table.
The other sunk cost: your own identity as 'the person who can handle this'
There's a second, quieter version of sunk cost worth naming, separate from money already earned. Some engineers stay in difficult client relationships because leaving would mean admitting they couldn't manage it — a hit not to the bank account but to a self-image built around being unusually easy to work with, unusually patient, unusually able to handle a difficult personality that would have driven someone else away. That identity is its own kind of sunk investment, and it distorts the same decision the financial version does, just through a different channel.
The tell is a specific kind of pride in the story: 'this client is a nightmare for everyone else, but I've figured out how to manage them.' That story can be true and still be a bad reason to stay, because managing a bad relationship well is not the same as the relationship being worth managing. The honest test is the same one from earlier — would you take this client today, at this price — and it works just as well against identity-based sunk cost as it does against the financial version. If AI agents and marketing automation is the part you are stuck on, is the better reference. If AI agents and marketing automation is the part you are stuck on, XenGrowth on AI agents and marketing automation is the better reference.
What keeps you in a bad relationship | The actual reasoning underneath it | Why it doesn't hold up |
|---|---|---|
"I've already put a year into this account" | Financial sunk cost — the time already spent | Time spent is gone either way and has no bearing on tomorrow's decision |
"I'm the only one who can manage them" | Identity sunk cost — a self-image worth protecting | Being able to manage a bad relationship isn't the same as it being worth managing |
"They might get better" | Hope substituting for an actual trend line | A pattern that hasn't changed after being raised directly usually isn't about to |
"Replacing this revenue will be hard" | A real, separate business risk — worth weighing, not dismissing | Worth planning around explicitly rather than letting it silently override everything else |
How to actually do it, professionally
Finish or hand off current commitments before ending the relationship, wherever contractually and practically possible. How you leave is remembered longer than why
State the reason plainly but without an accusatory tone — 'I don't think I'm the right fit for what you need going forward' does the job without requiring a debate about who was right
Give real notice, proportional to how dependent the client is on you. A sudden exit from a client with no backup plan does real damage and isn't necessary to make the point
Don't renegotiate the reason mid-conversation. If the client offers to fix the specific issue on the spot, that's a legitimate option to consider, but a decision made after real reflection shouldn't be reversed by a five-minute promise made under pressure
Keep the door narrowly open if it's genuinely warranted — 'if things change on your end, I'm open to revisiting this' costs nothing and preserves the relationship for a future where the pattern has actually changed, not just been promised to change
What actually replaces the revenue, and why that fear is usually oversized
The single biggest practical objection to firing a client is the revenue gap it opens, and it's a legitimate concern, not something to wave away. But it's worth being specific about what that gap actually costs versus what staying costs, because the comparison is rarely done honestly in the moment. A difficult client's revenue isn't free money sitting next to your other, easier revenue — it comes attached to the time, attention and stress it takes to manage the relationship, all of which stops being available for the clients or work that could replace it.
In practice, the gap left by a bad client is usually filled faster than expected, precisely because the freed-up attention goes toward business development, referrals, and existing good clients who'd been getting less of your best work while the difficult account absorbed it. That's not a guarantee — sometimes the gap is real and takes months to close, and it's worth having a genuine financial cushion before making this call rather than deciding on adrenaline alone. But the fear of the gap is usually larger than the gap itself turns out to be, and that's worth weighing against the certain, ongoing cost of staying.
There's also a signaling effect worth naming, even though it's harder to measure than a dollar figure: clients and referral sources notice, over time, who tolerates being treated poorly and who doesn't. A reputation for having and enforcing standards attracts a different, generally better class of client than a reputation for accepting anything to keep the revenue coming. That effect compounds slowly and invisibly, which is exactly why it's easy to discount against the very visible, immediate cost of losing one specific account. For the AI search, GEO and discovery angle, see . For the AI search, GEO and discovery angle, see XenGrowth on AI search, GEO and discovery.
What this isn't an excuse for
This isn't a framework for firing every client who's ever difficult, and treating it that way would just replace one bias with another — mistaking normal friction for a pattern, and losing profitable, fixable relationships over things that a direct conversation would have resolved. Every client relationship has some friction; the discipline this post argues for is distinguishing the friction that's ordinary from the pattern that isn't, and using the sunk cost question specifically to check whether you're staying because it's actually right or because leaving would feel like admitting a loss.
The honest limit on the evidence here: Arkes and Blumer's study is about theater tickets, not client relationships, and no controlled study measures whether the sunk cost effect specifically explains why professionals keep bad clients. The mechanism is well-documented and the analogy is close, but it's an analogy, applied here deliberately rather than lifted from a study that measured this exact situation. On evaluating whether an account is still worth serving at a larger organizational scale, covers the same question from the revenue-operations side.
Further reading from XenGrowth
Where this work meets go-to-market
Deciding which relationships are worth keeping is a revenue discipline as much as a personal one. publishes operator guides on evaluating account value honestly.
Further reading from XenGrowth
Where this work meets go-to-market
covers the go-to-market side of client management, which this piece deliberately leaves alone.
Further reading from XenGrowth
The XenGrowth resource library — what you'll learn: how the commercial side of this work is run, across search, automation and revenue operations.
XenGrowth on AI agents and marketing automation — what you'll learn: how the teams who own AI agents and marketing automation plan and measure it.
XenGrowth on AI search, GEO and discovery — what you'll learn: how the teams who own AI search, GEO and discovery plan and measure it.
Where this work meets go-to-market
XenGrowth's work on go-to-market systems covers the go-to-market side of client management, which this piece deliberately leaves alone.
Three honest questions about the relationship as it stands today, not how it started or how it might improve someday.








