Introduction

Why do smart people keep funding failing projects, sit through bad movies, or stay in unfulfilling jobs simply because they’ve “already invested so much”? The answer is the sunk cost fallacy: our tendency to let past, unrecoverable investments influence present choices that should be based only on future costs and benefits.

This article offers a detailed, practical guide to understanding and avoiding sunk cost errors. We’ll cover the psychology behind the fallacy, when considering past investments is actually rational, and provide checklists, case studies, and code examples to help you make cleaner, forward-looking decisions in business and life.

Key idea: Sunk costs are gone. Forward decisions should be based on expected future value and opportunity costs—not the size of past investments.

Table of Contents

What Are Sunk Costs?

Sunk costs are expenditures—of money, time, effort, or reputation—that have already been incurred and cannot be recovered. The core principle in economics and decision theory is simple: ignore them when making future decisions. Only incremental future costs and benefits matter.

Sunk vs. Fixed vs. Variable Costs

  • Sunk costs:

    • Already incurred; unrecoverable.
    • Should not affect forward-looking choices.
    • Example: money already spent on R&D that cannot be recouped if you cancel the project.
  • Fixed costs:

    • Costs that do not change with output in the short run (e.g., factory rent).
    • Some fixed costs may be sunk (non-refundable) and some may be recoverable (e.g., subleasing).
  • Variable costs:

    • Costs that change with the level of activity (e.g., materials per unit).
    • Always relevant to future decisions because they affect marginal costs.

Note: A cost can be fixed but not sunk (e.g., a lease you can sublet), or sunk but not fixed (e.g., a one-time, non-refundable onboarding fee).

Everyday Examples

  • Staying at a bad concert because “the tickets were expensive.”
  • Continuing to renovate a house even as costs spiral, because “we’ve spent so much already.”
  • Keeping a losing investment to “get back to even.”
  • Shipping a product feature that users don’t want because “we already built 80% of it.”

The Psychology Behind the Fallacy

Why do sunk costs tug at us so strongly?

  • Loss aversion: Losses loom larger than gains. Abandoning a project “realizes” the loss, which hurts, so we keep going to avoid that feeling.
  • Regret aversion: We fear future regret if we quit just before a potential turnaround, leading to escalation of commitment.
  • Cognitive dissonance: Quitting conflicts with the belief that we are rational and competent; continuing feels like self-justification.
  • Social signaling and identity: Public commitments and reputational stakes make it harder to change course.
  • Endowment effect: We overvalue what we already “own,” including projects and plans.
  • Effort justification: The more effort expended, the more we convince ourselves it was worthwhile.

Escalation of commitment is the typical consequence: incremental investments to justify prior ones, even as evidence worsens.

When Considering Past Investments Can Be Rational

Avoiding the fallacy doesn’t mean ignoring all history. There are legitimate reasons past investments can inform current decisions:

  • Information value: Work-to-date can reveal true probabilities or expected values, changing forward-looking judgments. It’s rational to update beliefs based on new data that came from past investment.
  • Real options and option value: Some past investments create options with positive expected value (e.g., a prototype that unlocks partnerships). If the option has value going forward, that’s future value, not sunk.
  • Switching costs and wind-down costs: If stopping incurs meaningful additional costs (e.g., termination penalties, decommissioning), those are future costs and should be included.
  • Reputational spillovers: In some contexts, quitting may entail future costs (e.g., credibility with partners). If these are genuine forward-looking costs, they’re relevant.
  • Complementarities: Past investments may complement future ones (economies of scope). If they increase the expected return of continuing, that shows up in the forward-looking numbers.

Rule of thumb: It’s rational to consider the consequences of stopping or continuing, not the mere size of the past spend. Ask, “How does the world differ tomorrow if I continue versus stop?”

Diagnosing Sunk Cost Thinking

Use these prompts and practices to surface the fallacy:

  • Replace yourself: “If I inherited this situation today for free, what would I do?”
  • Reframe in marginal terms: “Would I pay this next dollar of cost for the expected benefit?”
  • Predefine kill criteria: Decide in advance when to stop (e.g., if CAC > LTV for two consecutive quarters).
  • Create decision memos: Separate “facts we know” from “money already spent.” Force an explicit tally of future incremental costs and benefits.
  • Red team reviews: Invite an independent group to argue the case for stopping; rotate reviewers to reduce political capture.
  • Base rates and reference classes: Compare to similar projects’ outcomes; avoid inside-view optimism.
  • Audit language: Watch for phrases like “we’ve come too far,” “we need to justify the investment,” or “we can’t waste what we spent.”

Quantitative Framing: EV, Opportunity Cost, and Marginal Analysis

To avoid the fallacy, structure decisions using:

  • Expected value (EV): EV = Σ(probability × payoff). Continue if EV of continuing minus EV of stopping is positive, after accounting for incremental future costs.
  • Opportunity cost: The value of the next-best alternative use of resources. Money and time tied up in one path cannot be used elsewhere.
  • Marginal analysis: Evaluate only the next unit of cost and benefit. Past costs are irrelevant to the marginal decision.
  • Net present value (NPV): Discount future cash flows. If the NPV of continuing is negative relative to stopping, stop.
  • Irreversibility and option value: If waiting provides valuable information at low cost, delay can be optimal.

Decision lens: Compare “Continue” vs. “Stop and redeploy” as two competing future strategies. Choose the higher expected NPV.

Code Example: A Simple Decision Helper

Below is a small Python script that helps compare the expected NPV of continuing a project versus stopping and redeploying resources elsewhere. It explicitly ignores sunk costs and focuses on forward-looking cash flows, while accounting for switching/wind-down costs and salvage value.

from dataclasses import dataclass
from typing import List, Callable
import math

@dataclass
class Scenario:
    probability: float
    cash_flows: List[float]  # future period cash flows if we continue

def npv(cash_flows: List[float], discount_rate: float) -> float:
    return sum(cf / ((1 + discount_rate) ** t) for t, cf in enumerate(cash_flows, start=1))

def expected_npv(scenarios: List[Scenario], discount_rate: float) -> float:
    return sum(s.probability * npv(s.cash_flows, discount_rate) for s in scenarios)

def decision_helper(
    continue_scenarios: List[Scenario],
    discount_rate: float,
    incremental_future_costs: List[float],
    stop_and_salvage: float = 0.0,
    switching_cost: float = 0.0,
    alt_investment_npv: float = 0.0
) -> dict:
    """
    - continue_scenarios: probabilistic future outcomes if we continue
    - incremental_future_costs: planned future spend to continue (positive numbers)
    - stop_and_salvage: immediate cash recovered if we stop now
    - switching_cost: immediate cost to wind down or switch
    - alt_investment_npv: NPV of redeploying capital/time elsewhere
    """
    # Future costs are negative cash flows
    future_costs_npv = npv([-c for c in incremental_future_costs], discount_rate)
    continue_enpv = expected_npv(continue_scenarios, discount_rate) + future_costs_npv

    # If we stop: receive salvage (today), pay switching cost (today), redeploy to alternative
    stop_value = stop_and_salvage - switching_cost + alt_investment_npv

    recommendation = "CONTINUE" if continue_enpv > stop_value else "STOP/REDEPLOY"
    return {
        "continue_expected_npv": round(continue_enpv, 2),
        "stop_option_value": round(stop_value, 2),
        "recommendation": recommendation
    }

# Example usage
if __name__ == "__main__":
    # Suppose continuing yields:
    # 30% chance of strong success ($500k, $700k), 50% base case ($200k, $300k), 20% failure (-$50k, $0)
    continue_scenarios = [
        Scenario(0.3, [500_000, 700_000]),
        Scenario(0.5, [200_000, 300_000]),
        Scenario(0.2, [-50_000, 0]),
    ]
    discount_rate = 0.1
    incremental_future_costs = [250_000, 150_000]  # planned forward spend only
    stop_and_salvage = 50_000
    switching_cost = 25_000
    alt_investment_npv = 200_000  # best alternative project

    result = decision_helper(
        continue_scenarios, discount_rate, incremental_future_costs,
        stop_and_salvage, switching_cost, alt_investment_npv
    )
    print(result)

How to use:

  • Do not include past spend in incremental_future_costs—only future planned costs.
  • Include genuine wind-down/switching costs and salvage value.
  • Compare to the NPV of your best alternative.

Business and Product Management Playbook

  • Stage-gates with predefined kill criteria:

    • Define quantitative thresholds for customer traction, unit economics, or technical milestones.
    • Example: “If 8-week retention < 10% after two iterative cycles, we sunset.”
  • Separate “build” from “ship” decisions:

    • Even if a feature is nearly complete, ship only if future adoption and impact justify the remaining costs and downstream maintenance.
  • Budgeting practices:

    • Treat allocations as options, not entitlements. Re-forecast often; zero-base critical projects quarterly.
    • Avoid “percent complete” as a decision driver; focus on EV of remaining work.
  • Governance and incentives:

    • Reward accurate forecasts and timely termination, not just persistence.
    • Publicly celebrate high-quality stops that freed resources for better bets.
  • Metrics to monitor:

    • Forward-looking ROI of remaining spend.
    • Opportunity cost of resource lock-in (what’s not being pursued).
    • Post-mortems quantifying cost of delay from escalation of commitment.
  • Communication:

    • Use decision memos that explicitly ignore sunk costs.
    • Frame stops as strategic redeployments; emphasize learning captured.

Personal Decisions: Careers, Money, and Habits

  • Careers and education:

    • Don’t stick with a field solely because “I already spent years on it.” Consider the future trajectory, fit, and opportunity set.
    • If switching costs are high, quantify them; still decide based on future gains net of those costs.
  • Investments:

    • “Getting back to even” is not a strategy. Compare the expected return of holding an asset to your best alternative investment today.
  • Time and habits:

    • Stop books, podcasts, or courses that aren’t delivering value. Your time is your scarcest asset.
    • Precommit to review points for major time investments (e.g., “If I’m not deriving value by week 3, I’ll stop.”)
  • Purchases and memberships:

    • Ignore the price paid when deciding whether to use something. Decide based on whether future use is worth it now.

Quick reframe: “If I didn’t already own this, would I buy it today?”

Case Studies and Common Misconceptions

  • Concorde fallacy (classic): The UK and France continued funding the Concorde aircraft despite poor commercial prospects, partly to justify prior spend and national pride. This cemented the term “Concorde fallacy.”

  • Product pivot done right: A startup kills a nearly finished feature after user tests reveal weak demand. They redeploy the team to a validated need, reaching product-market fit faster. The choice hinged on future value, not degree of completion.

  • Gym memberships and “I should go more because I paid for it”: The payment is sunk. Decide to go based on whether the next workout delivers value given your goals and alternatives.

  • Not the same as gambler’s fallacy: Gambler’s fallacy is a mistaken belief about random sequences (“reds are due”). Sunk cost fallacy is about letting past, unrecoverable investments bias current choices.

  • “Never quit” vs. strategic stopping:

    • Tenacity is a virtue only when EV remains positive. Quitting frees resources for better opportunities.
    • Finishing for finishing’s sake (to “not waste effort”) is often just throwing good money—or time—after bad.
  • Edge cases:

    • Path dependency and network effects may make continued investment rational if the expected benefits going forward exceed costs.
    • Contractual obligations or legal exposure are future-relevant and should be included in the decision calculus.

Behavioral Interventions that Work

  • Precommitment:

    • Define kill criteria and review dates before starting, when you’re less biased.
  • Choice architecture:

    • Default to “pause and reassess” at milestones rather than automatic continuation.
  • Independent audits:

    • Bring in reviewers with no sunk reputational stake to challenge continuation.
  • Incentives:

    • Tie compensation to portfolio ROI and resource redeployment speed, not project longevity.
  • Culture:

    • Normalize stopping. Conduct blameless post-mortems focused on learning value and opportunity costs recovered.
  • Language:

    • Replace “don’t waste what we’ve spent” with “let’s maximize future value.”

Conclusion

The sunk cost fallacy is a powerful, pervasive bias that pushes individuals and organizations to escalate commitment long after the forward-looking math no longer supports it. The antidote is a rigorous focus on expected future value, opportunity cost, and marginal analysis—combined with behavioral safeguards like predefined kill criteria, independent reviews, and incentive structures that reward strategic redeployment.

The question to keep asking is simple: If we were starting fresh today, would we choose this path over our best alternative? When the honest answer is no, the courageous, rational move is to stop and reinvest where the future payoff is greatest.