What is sunk cost?

Money or effort already spent that cannot be recovered, and so should not change what you decide to do next.

Sunk cost diagram example

Public diagram from the Machinations Community. Open it on its own page

A sunk cost is a past expense that no choice you make now can bring back. It matters because people often keep funding a failing project to justify what they have already put in, which turns a small loss into a larger one.

How it works

The sound way to decide is to compare only future costs with future benefits. What has been spent is the same whether you continue or stop, so it cannot help tell the two options apart. The trap is emotional: stopping feels like admitting the earlier spending was wasted, so the commitment grows with each extra amount invested.

This forms a reinforcing loop. The more that is spent, the harder it feels to stop, so more is spent. Breaking the loop usually means setting a review point in advance, where the question asked is whether the project would be started today if nothing had been spent so far.

Example

Say a company has spent 800,000 building software and needs another 300,000 to finish. Once finished, it is expected to bring in 200,000 in total. The 800,000 is sunk. The choice is between spending 300,000 to receive 200,000, a loss of 100,000, or stopping and losing nothing more. Finishing would be a mistake even though stopping makes the earlier 800,000 look wasted. The numbers are for illustration only.

How to model it in Machinations

Build a Pool called Budget, a Drain called Project spending, and a Register for expected remaining benefit. Add a Register that compares remaining cost to remaining benefit, and an End condition that stops the Play when the cost exceeds the benefit. Leave the money already spent out of that comparison. Play with different remaining costs and see where the End condition triggers, then compare with a version that wrongly includes past spending.

See sunk cost in a system you can Play

Build the rules in a Machinations diagram, change a value and Play it to watch how the system responds.