Opportunity Cost Thinking Over ROI
Compare options against each other, never against zero
Shreyas Doshi argues that ROI thinking is fundamentally flawed as a decision-making tool for prioritization, and should be replaced with opportunity cost thinking. ROI thinking asks: what is the return on this investment? The problem is that almost every project can be made to look like it has positive ROI by adjusting assumptions. ROI calculations are easily gamed, and they encourage saying yes to everything that clears a minimum threshold. The result is teams spread thin across too many projects, each receiving inadequate attention. Opportunity cost thinking is superior because it asks a different question: what am I giving up by doing this instead of that? This forces you to compare options against each other, not against zero. It reveals that doing Project A means NOT doing Project B, making the real cost of decisions visible. The shift from ROI to opportunity cost thinking is the shift from asking 'is this worth doing?' to asking 'is this the MOST worth doing?' — a much harder but more valuable question.
- The biggest risk is not that you will do things that fail, but that you will spend time on things that succeed but do not matter.
- Every project can be made to look like it has positive ROI by adjusting assumptions.
- Opportunity cost thinking forces comparison against alternatives, not against zero.
- Saying no to good ideas in favor of great ideas is the essence of strategy.
- List Your Realistic AlternativesBefore evaluating any project, list the three to five other projects your team could pursue with the same resources (time, people, money). These are your alternatives. Do not compare the proposed project against doing nothing — compare it against the best alternative use of those same resources. This is the fundamental shift from ROI thinking (comparing against zero) to opportunity cost thinking (comparing against alternatives). The alternatives must be realistic options that you would genuinely consider pursuing.Pro tipInclude 'investing in the current product' as one of your alternatives. Often the highest-impact use of resources is deepening what already works rather than building something new.WarningDo not pad the alternatives list with obviously inferior options to make your preferred project look good by comparison.
- Evaluate Each Alternative on the Same CriteriaUsing the same set of evaluation criteria — expected impact, probability of success, resource requirements, strategic alignment, time to value — score each alternative. The key is using identical criteria and assumptions for all options. ROI analysis fails partly because each project team uses different assumptions, making comparison impossible. By forcing all alternatives through the same evaluation framework, you create genuine comparability and make the trade-offs visible.Pro tipHave someone who is not advocating for any specific project run the comparative evaluation to reduce bias.
- Make the Opportunity Cost ExplicitFor the project you choose to pursue, explicitly state what you are choosing NOT to do and why. Communicate this to the team and to stakeholders. This transparency serves two purposes: it ensures the decision-maker genuinely grapples with the trade-off, and it ensures the organization understands that choosing Project A was a deliberate choice that included saying no to Projects B, C, and D. This prevents the common organizational pattern of 'also-ing' — saying yes to A and also B and also C, which dilutes resources and guarantees mediocrity across all projects.Pro tipCreate a 'Not Doing' list that is as visible as your 'Doing' list. This makes your strategic choices explicit and prevents scope creep from abandoned alternatives.WarningExpect pushback from teams whose projects are on the Not Doing list. Acknowledge the quality of their ideas while explaining the comparative reasoning.
At Stripe, Shreyas Doshi observed that product teams could justify almost any project using ROI analysis. Each team would present optimistic projections, and leadership would approve projects that individually appeared worthwhile. The result was an ever-growing portfolio of concurrent projects, each under-resourced and none receiving the focused attention needed for exceptional results. Doshi began requiring PMs to present opportunity costs alongside their proposals.
Shreyas Doshi developed this preference for opportunity cost thinking through his experience at multiple high-growth technology companies. At Google, Twitter, and Stripe, he consistently observed that product teams could justify almost any project using ROI analysis because the calculations were inherently manipulable. Teams would present rosy projections, leadership would approve based on positive ROI, and the organization would end up with dozens of concurrent projects, each under-resourced. The insight crystallized at Stripe, where he began coaching PMs to present not just the ROI of their proposed project but the opportunity cost — explicitly naming what the team would NOT be doing if they pursued this project, and what the expected value of those foregone alternatives was.