Made with 🧠 and πŸ«€ by Youssef Bouksim

Back to library
πŸ’Έ

Sunk Cost Effect

We continue investing in things because of what we've already put in β€” not because of what we'll get out. The time, money, or effort already spent is gone regardless of what we do next. Rationally, it shouldn't affect our decision. Psychologically, it dominates it.

5 min readRetention Β· Engagement Β· Ethics

Imagine you've bought a non-refundable theatre ticket for €50. On the night, you feel ill. Rationally, the €50 is gone either way β€” staying home costs you the money whether or not you attend. But most people drag themselves to the theatre. The money already spent pulls them forward into an evening they'd rather skip. The sunk cost is driving the decision.

Economists have known this is irrational since at least the 1970s. The sunk cost fallacy β€” allowing past investment to influence future decisions β€” has been documented in contexts ranging from failed government projects to bad marriages to losing poker hands. In every case, the rational move is to evaluate only the future costs and benefits, ignoring what's already been spent. In every case, people struggle to do this.

For product designers, sunk cost is a double-edged tool. On one side, it's a legitimate reason users stay engaged with your product: the data they've imported, the workflows they've built, the history they've accumulated. These are genuine switching costs that appropriately make users hesitant to leave. On the other side, it's one of the most easily abused mechanisms in dark pattern design β€” engineering fake sunk costs to trap users who would rationally choose to leave.

✦ Three things to know
βœ“
Sunk cost and loss aversion are related but distinct. Loss aversion is about the asymmetric pain of losses versus gains. Sunk cost is specifically about past investment driving future behaviour. They often operate together β€” you stay in a failing product because leaving means accepting the loss of the time you've spent learning it (loss aversion) and because you've already invested three years in it (sunk cost). But you can have one without the other, and they respond to different design interventions.
βœ“
Real sunk costs are legitimate retention drivers. A user who has spent six months importing data, building dashboards, and training their team on your product has a genuine sunk cost. Reminding them of this at a moment of potential churn is not manipulation β€” it's surfacing information they may not have fully considered. The switching cost is real. The discomfort of leaving is proportional to the actual investment. This is legitimate product retention.
βœ“
Engineered sunk costs are a dark pattern. Progress bars that reset on cancellation, levels that take weeks to accumulate, streaks that represent significant time investment, onboarding flows deliberately designed to consume time before value is delivered β€” all of these engineer a felt sunk cost that has no corresponding value delivered to the user. The investment is manufactured to create the bias, not incidental to delivering value. This is the dark version, and it is prevalent.
β€œDo not throw good money after bad. The money already spent is spent. The only question is what happens from here.”
β€” Richard Thaler, 1980

The streak β€” when past investment drives present behaviour

The most visible sunk cost mechanic in consumer apps is the streak. A streak represents accumulated daily investment β€” each day you show up, the number grows, and the number represents something it would hurt to lose. The streak is a sunk cost counter. Its purpose is to make today's session feel obligatory because of all the previous sessions.

The two notification designs below are for the same language learning app. Both try to get the user to open the app today. One uses the streak's sunk cost value honestly. One uses it as a threat.

BeforeExploitative β€” the streak is weaponised as anxiety
9:41
Lock screen Β· 8:47 PM
LinguaLearnnow
⚠ Your 47-day streak is at risk!
You have less than 3 hours to complete today's lesson or lose everything. Don't let 47 days of hard work disappear.
Dismiss
Save streak!

β€œLose everything.” β€œDon't let it disappear.” The streak is weaponised as anxiety. The user isn't motivated by learning β€” they're motivated by fear of the loss they've manufactured.

AfterHonest β€” the streak is described as genuine momentum
9:41
Lock screen Β· 8:47 PM
LinguaLearnnow
47 days β€” that's real momentum
Five minutes keeps your streak alive and adds another day to the habit you've built. Today's lesson is short.
Later
5-min lesson

β€œReal momentum.” β€œHabit you've built.” The sunk cost is acknowledged as genuine investment. The motivation is the value of continuing, not the fear of losing.

Both notifications use the sunk cost of the 47-day streak. The exploitative version weaponises it as anxiety β€” β€œlose everything,” β€œdon't let it disappear” β€” turning the user's past investment into a threat. The honest version acknowledges it as genuine momentum β€” β€œthat's real momentum,” β€œthe habit you've built” β€” and uses it as an accurate description of what the user has actually achieved. Same streak, same sunk cost, completely different emotional frame.

The critical question is whether the sunk cost being invoked is real. A 47-day language learning streak represents genuine habit formation and real vocabulary acquisition. Invoking that investment honestly β€” β€œyou've built something real here” β€” is informative. Invoking it as manufactured panic β€” β€œ3 hours to save everything” β€” is exploitative of a genuine investment to override rational decision-making.


Showing investment to surface real switching costs

When a user is considering leaving your product, one honest use of sunk cost is to surface what they've actually built inside it β€” not as a threat, but as information they may not have fully considered when deciding. Most users underestimate the switching cost of their accumulated investment. A well-designed cancellation or downgrade flow can surface this accurately.

Below are two ways to surface a user's investment at the moment they're considering leaving. The first is a vague appeal. The second shows the actual work.

BeforeVague β€” β€œyou've worked hard” without showing the work
app.yourapp.com/cancel
You've put a lot of work into this
Cancelling means losing all the progress you've made. Are you sure you want to start over somewhere else?

β€œA lot of work” and β€œstart over somewhere else” are vague enough to dismiss. If the user has invested little, the appeal rings hollow. If they've invested a lot, they can't see it here.

AfterSpecific β€” shows the actual investment at stake
app.yourapp.com/cancel
Here's what you've built in 14 months
This is what you'd be walking away from β€” and what any new tool would take months to rebuild.
23
Custom dashboards
847
Reports generated
6
Team members trained
18mo
Of historical data
We estimate rebuilding this in a new tool would take 40–60 hours of setup time for your team.

23 dashboards. 847 reports. 6 team members trained. 18 months of history. 40–60 hours to rebuild. These numbers are real. The sunk cost they represent is real. The user now has the information to make an informed decision β€” not a manipulated one.

The difference between the two cancellation screens is information. The bad version makes a vague appeal to sunk cost without showing it. The good version shows the actual numbers β€” the specific investment the user has made that would need to be rebuilt elsewhere. This is honest sunk cost: surfacing real information that helps the user make a fully informed decision, including the option to leave. The user may still cancel. But they're cancelling with accurate knowledge of what that costs, not despite having been shielded from it.


Applying this to your work

The sunk cost effect is worth understanding from both sides: as a designer who shapes the experience, and as a designer who makes product decisions. On the user side, you will encounter moments where surfacing real investment is genuinely helpful β€” and moments where engineering artificial investment would be exploitative. On the product side, recognising when your own team is continuing an investment because of sunk cost rather than future value is one of the most useful cognitive tools in product development.

βœ“ Apply it like this
β†’Surface real investment at moments of potential churn β€” specific numbers, named assets, estimated rebuild time. Accurate sunk cost information helps users make informed decisions.
β†’Frame streaks and progress as genuine achievement β€” '47 days of consistent practice' is an honest description of a real investment, not a manufactured one.
β†’Use investment reminders at natural decision points β€” renewal dates, downgrade attempts, and feature removal notices are appropriate moments to surface what a user would lose.
β†’Recognise sunk cost in your own team's decisions β€” continuing to build a feature because 'we've spent three months on it already' is the sunk cost fallacy applied internally. The relevant question is always forward-looking.
βœ— Common mistakes
β†’Engineering deliberately slow progress to create artificial sunk cost β€” onboarding designed to consume time before delivering value, so the user feels invested before they've decided to be.
β†’Threat framing of real investment β€” 'lose everything,' '3 hours or your streak is gone forever.' Real investment framed as imminent catastrophe is exploiting sunk cost anxiety, not informing a decision.
β†’Progress bars that reset on cancellation β€” deliberately manufacturing a felt sunk cost by showing accumulated progress and then threatening to erase it on exit.
β†’Gamification designed to trap rather than motivate β€” levels, badges, and XP systems that exist primarily to create switching costs, rather than to provide genuine value or motivation.

Thaler, R. H. (1980). Toward a positive theory of consumer choice. Journal of Economic Behavior & Organization, 1(1), 39–60. Β· Arkes, H. R., & Blumer, C. (1985). The psychology of sunk cost. Organizational Behavior and Human Decision Processes, 35(1), 124–140. Β· Kahneman, D. (2011). Thinking, Fast and Slow. Farrar, Straus and Giroux.